(57)【要約】動的に再定義可能なビジネス論理（９４）を組込むログモニタ（２６）で大粒度データベース並行性の維持するシステム（１０）および方法（１５０）が記載される。データ操作言語で表現されるオペレーションが操作データベース（５１）に対して実行される。少なくとも１つのオペレーションにより各データベーストランザクションを完了するコミットオペレーションが構成される。現在の規則の組（５５）が定義される。各規則はデータ選択基準をソースデータベースにおいて記憶されたものにおける記憶されたレコードに対し特定するビジネス論理（９４）を含む。ログエントリ（７０）の定期的な発生がログ（５４）においてソースデータベース（５１）にコミットされる各トランザクションに対し行なわれる。各ログエントリ（７０）は影響されたレコードを識別しトランザクションのデータを含む。各ログエントリ（７０）において識別されるトランザクションの評価が現在の規則の組（５５）において特定されるデータ選択基準に対して行なわれる。新たなレコード（５７）の構築が宛先データベース（５８）を記述するメタデータ（５６）に従って行なわれる。新たなレコード（５７）は選択基準に合致する各トランザクションのログエントリ（７０）から選択のトランザクションのデータを含む。新たなレコード（５７）は宛先データベース（５８）に記憶される。宛先データベース（５８）に記憶されたデータは少なくとも部分的なソースデータベース（５１）の部分集合を含む。
2005502934.tif 000002
【特許請求の範囲】
【請求項１】
情報提供データベースのリフレッシュをログに基づくトランザクション監視を介して行なうためのシステム（１０）であって、
１つ以上のテーブルを含む生産データベース（１３）を含み、各テーブルはトランザクシン処理システム（１４）によって発生される生産データのレコードを記憶し、前記システムはさらに、
定期的にログエントリ（７０）をログファイル（５４）に記憶するログライタ（５３）を含み、少なくとも１つのログエントリ（７０）は生産データベース（１３）にコミットされる各トランザクションに対し発生されるものであり、前記システムはさらに、
１つ以上のテーブルを含む情報提供データベース（５８）を含み、各テーブルは判断サポートシステムによる使用のために情報提供データのレコードを記憶し、前記システムはさらに、
ログファイル（５４）に記憶されるログエントリ（７０）の動的な分析を、データ選択基準を特定する規則の組（５５）を用いて行ない、生産データから発生されデータ選択基準を満足させる更新されたレコード（５７）を情報データベース（５８）に記憶するログモニタ（２６）を含む、システム（１０）。
【請求項２】
情報提供データベース（５８）は、さらに、情報提供データベース（５８）の構造を記述するメタデータ（５６）を含み、
ログモニタ（２６）は、生産データを、更新されたレコード（５７）に、メタデータ（５６）に基づき、情報提供データベースのために変換する、請求項１に記載のシステム。
【請求項３】
さらに、メタデータ（５６）を発生させ、規則（５５）の組を、メタデータ（５６）によって与えられるとおり構造化されるデータ選択基準から定義するデータベースビルダ（５９）を含む、請求項２に記載のシステム。
【請求項４】
メタデータ（５６）は、生産データベース（１３）および情報提供データベース（５８）アーキテクチャ、ネットワークトポロジ情報、ジョブ制御情報、ならびにプログラムコードからなる群から選択される少なくとも１つのパラメータを含み、データ選択が実行される、請求項３に記載のシステム。
【請求項５】
さらに、ログモニタ（２６）は、更新されたレコード（５７）を、情報提供データベース（５８）に、実質的に継続的に、生産データベース（１３）の首尾一貫したデータの組として記憶する、請求項１に記載のシステム。
【請求項６】
さらに、ログモニタ（２６）は情報提供データベース（５８）から選択されるレコードからなる少なくとも１つのテーブルの複製を作成する、請求項１に記載のシステム。
【請求項７】
さらに、ログモニタ（２６）は、ジョブ制御を、情報提供データベース（５８）の各リフレッシュメントに対し、更新されたレコード（５７）で実行する、請求項１に記載のシステム。
【請求項８】
さらに、ログモニタ（２６）により発生された更新されたレコード（５７）を、情報提供データベース（５８）と共有される過渡的データの組として段階付けるログモニタキャッシュ（６０）を含む、請求項１に記載のシステム。
【請求項９】
情報提供データベース（５８）のリフレッシュをログに基づくトランザクション監視を介して行なうための方法（１５０）であって、
１つ以上のテーブルを含む生産データベース（１３）を維持するステップを含み、各テーブルはトランザクション処理システム（１４）によって発生される生産データのレコードを記憶し、前記方法はさらに、
定期的にログエントリ（７０）をログファイル（５４）に記憶するステップを含み、少なくとも１つのログエントリ（７０）は生産データベース（１３）にコミットされる各トランザクションに対し発生されるものであり、前記方法はさらに、
１つ以上のテーブルを含む情報提供データベース（５８）を維持するステップを含み、各テーブルは判断サポートシステムによって用いるため情報提供データベースのレコードを記憶し、前記方法はさらに、
動的な分析を、ログファイル５４に記憶されるログエントリ（７０）に対して、データ選択基準を特定する規則の組（５５）を用いて行ない、生産データから発生されデータ選択基準を満足させる更新されたレコード（５７）を情報提供データベース（５８）に記憶するステップを含む、方法。
【請求項１０】
さらに、情報提供データベース（５８）の構造を記述するメタデータ（５６）を情報提供データベースに記憶するステップと、
生産データを、更新されたレコード（５７）に、メタデータ（５６）に基づき、情報提供データベースのために変換するステップとを含む、請求項９に記載の方法。
【請求項１１】
さらに、メタデータ（５６）を発生させ、規則の組（５５）を、メタデータ（５６）により与えられるとおり構造化されるデータ選択基準から定義するステップを含む、請求項１０に記載の方法。
【請求項１２】
メタデータ（５６）は、生産データベース（１３）および情報提供データベース（５８）アーキテクチャ、ネットワークトポロジ情報、ジョブ制御情報、ならびにプログラムコードからなる群から選択される少なくとも１つのパラメータを含み、データ選択が実行される、請求項１１に記載の方法。
【請求項１３】
更新されたレコード（５７）を、情報提供データベース（５８）に、実質的に継続的に、生産データベース（１３）の首尾一貫したデータの組として記憶するステップを含む、請求項９に記載の方法。
【請求項１４】
さらに、情報提供データベース（５８）から選択されるレコードからなる少なくとも１つのテーブルの複製を作成するステップを含む、請求項９に記載の方法。
【請求項１５】
ジョブ制御を、情報提供データベース（５８）の各リフレッシュメントに対し、更新されたレコード（５７）で実行するステップを含む、請求項９に記載の方法。
【請求項１６】
ログモニタ（２６）によって発生される更新されたレコード（５７）を、情報提供データベース（５８）と共有される過渡的データの組として段階付けるステップを含む、請求項９に記載の方法。
【請求項１７】
請求項９の方法を実行するためのコードを保持するコンピュータ読取可能記憶媒体。
【請求項１８】
動的に再定義可能なビジネス論理（９４）を組込むログ監視手段（２６）で大粒度データベース並行性を維持するシステムであって、
データ操作言語で表現されるオペレーションをソースデータベース（５１）に対して実行する操作データベースエンジン（１２）を含み、少なくとも１つのオペレーションは各データベーストランザクションを完了するコミットオペレーションを構成しており、前記システムはさらに、
現在の規則の組（５５）を定義するデータベースビルダ（５９）を含み、各規則は、データ選択基準を、ソースデータベースに記憶されるレコードに対し特定するビジネス論理（９４）を含んでおり、前記システムはさらに、
定期的にログエントリ（７０）をログ（５４）において、ソースデータベースにコミットされる各トランザクションに対し発生させる手段（５３）を含み、各ログエントリ（７０）は影響を受けたレコードを識別しトランザクションのデータを含み、前記システムはさらに、
ログを監視するための手段（２６）を含み、前記ログを監視するための手段は、
各ログエントリ（７０）において識別されるトランザクションを、現在の規則の組（５５）において特定されるデータ選択基準に対して評価する評価モジュール（１１１）と、
宛先データベース（５８）を記述するメタデータ（５６）に従って、選択基準に合致する各トランザクションのログエントリ（７０）から選択のトランザクションのデータを含む、新たなレコード（５７）を構築するレコード発生モジュール（１１２）とを含み、前記システムはさらに、
新たなレコード（５７）を宛先データベース（５８）に記憶する宛先データベースエンジン（９６）を含み、宛先データベース（５８）に記憶されるデータは少なくともソースデータベース（５１）の部分的な部分集合を含む、システム。
【請求項１９】
さらに、現在の規則の組（５５）を動的に再定義するデータビルダ（５９）は、ビジネス論理（９４）を含むことにより、改訂されたデータ選択基準を特定する、請求項１８に記載のシステム。
【請求項２０】
さらに、宛先データベースエンジンは新たなソースデータ（５１）の作成をメタデータ（５６）によって特定されるとおりに行なう、請求項１８に記載のシステム。
【請求項２１】
さらに、各新たなレコードをキャッシュする一時データストア（６０）を含む、請求項１８に記載のシステム。
【請求項２２】
トランザクションデータは、タイムスタンプ（７１）、テーブル識別子（７２）、レコード識別子（７３）、オペレーションタイプ（７４）、およびアンドゥ情報（７５）からなる群から選択される情報を含む、請求項１８に記載のシステム。
【請求項２３】
動的に再定義可能なビジネス論理（９４）を組込むログモニタ（２６）で大粒度データベース並行性を維持するための方法であって、
データ操作言語で表現されたオペレーションをソースデータベース（５１）に対して実行するステップを含み、少なくとも１つのオペレーションは各データベーストランザクションを完了させるコミットオペレーションを構成し、前記方法はさらに、
現在の規則の組（５５）を定義するステップを含み、各規則は、データ選択基準を、ソースデータベースに記憶されるレコードに対し特定するビジネス論理（９４）を含み、前記方法はさらに、
定期的にログエントリ（７０）をログ（５４）において、ソースデータベースにコミットされる各トランザクションに対し発生させるステップを含み、各ログエントリ（７０）は影響されたレコード（７３）を識別しトランザクションのデータを含み、前記方法はさらに、
各ログエントリ（７０）において識別されるトランザクションを、現在の規則の組（５５）において特定されるデータ選択基準に対して評価するステップと、
宛先データベース（５８）を記述するメタデータ（５６）に従って、選択基準に合致する各トランザクションのログエントリ（７０）から選択のトランザクションのデータを含む、新たなレコード（５７）を構築するステップと、
新たなレコード（５７）を宛先データベース（５８）に記憶するステップとを含み、宛先データベース（５８）に記憶されるデータは少なくともソースデータベース（５１）の部分的な部分集合を含む、方法。
【請求項２４】
さらに、動的に現在の規則の組（５５）を再定義するステップは、ビジネス論理（９４）を含んで、改訂されたデータ選択基準を特定する、請求項２３に記載の方法。
【請求項２５】
さらに、新たなソースデータベース（５１）の作成を、メタデータ（５６）によって特定されるとおりに行なうステップを含む、請求項２３に記載の方法。
【請求項２６】
さらに、各新たなレコード（５７）を一時データストアにおいてキャッシュするステップを含む、請求項２３に記載の方法。
【請求項２７】
トランザクションデータは、タイムスタンプ（７１）、テーブル識別子（７２）、レコード識別子（７３）、オペレーションタイプ（７４）、およびアンドゥ情報（７５）からなる群から選択される情報を含む、請求項２３に記載の方法。
【請求項２８】
請求項２３の方法を実行するためのコードを保持するコンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
この特許出願は、米国特許法第１１９条（ｅ）に基づき、２００１年３月９日に提出された現在係属中の米国特許出願連続番号第０９／８０４，６７２号に対し優先権を主張し、その米国特許出願の開示をここに引用により援用する。
【０００２】
この発明は一般にデータベースオブジェクト抽出に関するものであり、特に、動的に再定義可能なビジネス論理を組込むログモニタで大粒度（large-grained）データベース並行性を維持するためのシステムおよび方法に関する
【背景技術】
【０００３】
現在、組織のデータベース管理システムは生産および情報提供の２つのカテゴリに入る。生産データベースは、オペレーショナルデータストアを含み、製造、生産、およびトランザクションのシステムの動作によって発生されるかまたはそれらのシステムにおいて用いられる実時間または実時間に近いデータに対するリポジトリとして機能する。対照的に、情報提供データベースは、周期的に生産データベースから得られるデータを、判断サポートおよびオンラインの分析的処理システムにおいて用いるために、保存する。情報提供データベースはデータ貯蔵部を含むが、これは事業データベースおよびデータマートとして構造化される場合が多い。
【０００４】
典型的には、データ貯蔵部は情報提供データおよびデータベース構造を記述するメタデータの両方を記憶する。最低でも、情報提供データベースは、傾向分析およびデータ導出のために、生産データベースに記憶されるデータとの、或る割合の大粒度データ並行性を維持しなければならない。
【０００５】
オンライントランザクション処理システムは生産データの主な生産者である。オンライントランザクション処理システムは、最低限の保証された応答時間を、割込みされない利用可能性を伴って、特に電子商取引（ｅコマース）システムにおいて必要とする。大きなデータ量および高い利用可能性に対する要求は、低速のデータベースサーバよりもむしろトランザクションサーバの使用を必要とする。
【０００６】
生産データは未加工のグリストを判断サポートおよびオンラインの分析的な処理システムのために与える。これらのシステムはデータを分析し、報告を、組織の計画および戦略活動において用いるために、発生させる。未加工の生産データは、情報提供データに、データマイニング、複製、および浄化ツールによって変換される。判断サポートおよびオンラインの分析的処理システムはより低速の応答時間を許容し得る。しかしながら、これらのシステムのデータニーズは生産システムによって必要とされる自律性と釣り合わなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
頻繁に情報提供データベースを更新することは生産システムの動作に悪影響を与え得る。オンライントランザクション処理システムは全ハードウェア能力またはそれに近い能力で動作する。たとえば、典型的なｅコマースサイトは５００を越えるトランザクションまたは「ヒット」を秒単位で受取り得る。生産システム動作に割込んで情報提供データベースを更新することは、必要な利用可能性および応答性のレベルを維持するという問題を悪化させ得る。
【０００８】
定期的には、生産データは、情報提供データに、ビジネス論理の適用を介して、データ検索プロセス中に変換されなければならない。しばしば、生産データを検索および変換することを要求されるビジネス論理は複雑であり電算処理が集中する。その上に、ビジネス論理は相対的に柔軟性を欠き静的である。これらの要因によりさらにシステム応答性が影響を受ける。
【０００９】
先行技術においては、２つの解決策が情報提供データベースを更新することに対し提案されている。１つの解決策は、定期的に生産データをコピーしその一方でそのデータを変換するデータ複製マネージャを提示する。残念ながら、この解決策は大量のデータ重複を引起し時間がかかり得る。
【００１０】
もう１つの先行技術解決策は、多層構造データベースアーキテクチャを、定期的更新を伴って導入する。ビジネス論理は、生産データベースに対して実行されるクエリにおいて実現される。第２の層構造ビジネス論理は検索された情報を利用してデータマートの配置および更新を部門特化クエリを用いて行ない得る。急速に変化する環境においては、過剰な更新は劇的に生産システム動作を混乱させ得る。
【００１１】
したがって、情報提供データベースの更新を高い頻度および低いオーバヘッドで行なうことができるデータマネージャが求められている。この方策により、リソース経費を最小限に抑えることが、実質的にデータ重複および非効率的なデータ検索を回避することにより達成されるであろう。
【００１２】
さらに、情報提供データの検索を動的に再定義可能なパラメータを伴って行なう方策も求められている。この方策により、柔軟性のあるビジネス論理の再定義が、データをアドホック態様で選択することに対し可能となるであろう。
【００１３】
さらに、非侵入的に情報提供データベースを更新するための方策も求められている。この方策は生産システム動作に僅かな影響しか与えず、自律的動作を尊重するであろう。
【課題を解決するための手段】
【００１４】
この発明は、宛先データベースの更新を、間接的にソースデータベースからログに基づく監視を介して検索されるデータで行なう、システムおよび方法を提供する。トランザクションログファイルがソースデータベースにコミットされるトランザクションの副産物としてトランザクションサーバにより発生される。このログファイルは監視され、ビジネス論理を実現する選択基準を特定する動的な規則の組に対して評価される。選択基準を満足するログエントリは、更新されたレコードに、宛先データベースのスキーマを記述するメタデータを用いて変換される。この規則の組およびメタデータは、動的な再定義が、データベースビルダツールを用いて行なわれ得る。ログモニタは自動的に選択基準およびレコード発生動作を修正する。データ検索中、ログモニタは各ログエントリに記憶される情報を利用して間接的な情報提供データの導出を僅かな影響しかトランザクションサーバ動作に及ぼさない状態で行なう。
【００１５】
この発明のある実施例は情報提供データベースのリフレッシュをログに基づくトランザクション監視を介して行なうためのシステムおよび方法である。生産データベースが維持され、そこには１つまたはそれより多いテーブルが含まれる。各テーブルはトランザクション処理システムによって発生される生産データのレコードを記憶する。ログエントリが定期的にログファイルに記憶される。少なくとも１つのログエントリが生産データベースにコミットされる各トランザクションに対し発生される。１つまたはそれより多いテーブルを含む情報提供データベースが維持される。各テーブルは、情報提供データのレコードを、判断サポートシステムによる使用のために、記憶する。ログファイルに記憶されるログエントリの動的な分析が、データ選択基準を特定する規則の組を用いて行なわれる。データ選択基準を満足させる生産データから発生された更新されたレコードは、情報提供データベースに記憶される。
【００１６】
さらなる実施例は、動的に再定義可能なビジネス論理を組込むログモニタで大粒度データベース並行性を維持するためのシステムおよび方法である。データ操作言語で表現されるオペレーションがソースデータベースに対して実行される。少なくとも１つのオペレーションによって、各データベーストランザクションを完了させるコミットオペレーションが構成される。現在の規則の組が定義される。各規則はあるデータ選択基準をソースデータベースに記憶されるレコードに対して特定するビジネス論理を含む。ログエントリが、定期的に、あるログにおいて、ソースデータベースにコミットされる各トランザクションに対し発生される。各ログエントリは影響を受けたレコードを識別しトランザクションのデータを含む。各ログエントリにおいて識別されるトランザクションは現在の規則の組において特定されるデータ選択基準に対して評価される。新たなレコードの構築が宛先データベースを記述するメタデータに従って行なわれる。この新たなレコードは選択基準に合致する各トランザクションのログエントリから選択のトランザクションのデータを含む。新たなレコードは宛先データベースに記憶される。宛先データベースに記憶されたデータは、ソースデータベースの、少なくとも部分的な部分集合を含む。
【００１７】
この発明の１つの恩恵は、トランザクションログモニタによって解釈される規則として実現されるビジネス論理を動的に再定義する能力である。さらなる恩恵は、データ貯蔵部に本質的なメタデータを利用することにより知的にデータベースを配しデータベースの構造における変化に対するさらなる応答性のレベルを可能にすることである。
【００１８】
この発明のさらに別の実施例は当業者には以下の詳細な記載から容易に明らかとなる。記載されるのは、この発明の実施例であり、例示的に、この発明を実行するために企図されるベストモードを示す。認識されるように、この発明は他の異なる実施例が可能であり、そのいくつかの詳細は修正がさまざまな明らかな面において可能であるが、それらはすべてこの発明の精神および範囲から逸脱することなく行なわれる。したがって、図面および詳細な説明は本質的に例示的であるとみなされるものであり、制限的にみなされるものではない。
【発明を実施するための最良の形態】
【００１９】
図１は分散型コンピュータ処理環境１０を示すブロック図であり、大粒度データベース並行性の維持を、動的に再定義可能なビジネス論理を組込むログモニタで、この発明に従って行なうためのシステムを含む。オペレーショナルデータストア（ＯＤＳ）１１は生産システム１２によって発生される生産データを記憶する。生産システム１２は、オンライントランザクション処理システムを、電子商取引（ｅコマース）、予約、販売トランザクションのポイント、在庫管理、工場および製造オペレーション、ならびに同様のタイプの活動を処理するために、構成し得る。効率性を求めるため、生産システム１２は、中に生産データが維持されるローカル生産データベース１３を維持する。
【００２０】
高いレベルの応答性および利用可能性を維持するため、オペレーショナルデータストア１１は、高いスループットインターフェイスをオペレーショナルデータストア１１に対し与える専用のトランザクションサーバ１４に結合される。生産システム１２およびトランザクションサーバ１４はネットワーク１５たとえばインターネットワークまたはイントラネットワークなどを介して当業界において公知のように相互接続される。
【００２１】
オペレーショナルデータストア１１に記憶される生産データは定期的に事業データ貯蔵部１６に複製される。生産データを含むに過ぎないオペレーショナルデータストア１１とは異なり、事業データ貯蔵部１６は、情報提供データとして公知の直接および派生的データ値の両方を、判断サポートおよびオンラインの分析的処理システムによる使用のために含む。データベースサーバ１７は、事業データ貯蔵部１６に、データ操作言語（ＤＭＬ）クエリを事業データ貯蔵部１６に対して実行するために、結合される。データベースサーバ１７も他のシステムにネットワーク１５を介して相互接続される。
【００２２】
事業データ貯蔵部１６は階層的な構造化が二次的なデータベースたとえばワークグループデータマート１８で行なわれ得る。事業データ貯蔵部１６は組織活動のすべての局面に関連する情報提供データを含む一方、各ワークグループデータマート１８は専門化された情報提供データのビューを、特定のサブジェクトエリア、たとえば従業員記録、売上歳入の数字などに対して提示する部分集合である。ワークグループデータマート１８の構造化はローカルネットワーク環境においては専用のローカルデータサーバ１９が複数のクライアント２０とローカルネットワーク２１を介して相互接続される状態で行なわれ得ることが考えられる。次いで、ローカルネットワーク２１は組織ネットワーク１５と一連のハブ２２を介して相互接続され得る。
【００２３】
最後に、事業データ貯蔵部１６およびワークグループデータマート１８は共に遠隔的なアクセスが遠隔のクライアント２３によりたとえばインターネットなど組織ネットワーク１５にゲートウェイ２５を介して接続されるインターネットワーク２４を介して行なわれ得る。
【００２４】
オペレーショナルデータストア１１は高い割合の揮発性および変更により１００％の利用可能性および保証された応答時間を伴って特徴付けられる。逆に、事業データ貯蔵部１６は、柔軟性のある動作を、さまざまなクライアント２０および遠隔のクライアント２３によって提示されたアドホックなクエリに応答して実行する。
【００２５】
事業データ貯蔵部１６に記憶される情報提供データは、定期的なリフレッシュが、オペレーショナルデータストア１１から検索される生産データで行なわれなければならない。オペレーショナルデータストア１１に対するシステム負荷によっては、生産データの検索はピークのオペレーショナル時間中は実際的ではなく、精々オフピーク期間中において許容されるかも知れない。この結果、ログモニタ２６は大粒度データベース並行性をオペレーショナルデータストア１１と事業データ貯蔵部１６との間において間接的な情報提供データの更新により与え得る。
【００２６】
ログモニタ２６はトランザクションサーバ１４によりトランザクション処理の副産物として発生されるログエントリを読む。個々のログエントリの検索および分析が、さらに以下に図３を参照して記載されるように、ビジネス論理を実現する選択基準を動的に再定義可能な規則の組に適用することにより行なわれる。更新されたレコードが、選択基準を満足させるログエントリから、事業データ貯蔵部１６における情報提供データを更新するために、発生される。
【００２７】
オペレーショナルデータストア１１、事業データ貯蔵部１６およびワークグループデータマート１８を含む特定の形式のデータベースが記載される実施例との関係で参照されるが、当業者ならば他の形式の構造化されたデータベースもここに概要を示される一般的なパラメータおよび特性内において用いられ得ることもある旨を認識するであろう。さらに、他のネットワーク化されたトポロジおよびシステム構成も用いられ得る。
【００２８】
生産システム１２、トランザクションサーバ１４、データベースサーバ１７、ローカルデータベースサーバ１９、クライアント２０および遠隔のクライアント２３を含む個々のコンピュータシステムは、中央処理ユニット（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、不揮発性二次記憶部、たとえばハードドライブまたはＣＤ−ＲＯＭドライブなど、ネットワークインターフェイス、ならびにユーザインターフェイス化手段を含むたとえばキーボードおよびディスプレイなどの周辺装置からなる汎用のプログラミングされたデジタルコンピュータ処理装置である。ソフトウェアプログラムを含むプログラムコードおよびデータがＲＡＭにロードされ、ＣＰＵにより実行され処理され、結果が発生されて、表示、出力、送信または記憶される。
【００２９】
図２は先行技術の多層データベースアーキテクチャ３０を示す機能ブロック図である。生産データベースおよび情報提供データベースをいくつかの層に構造化することによりデータベース更新および検索作業負荷を、たとえば、その開示がここに引用により援用されるR. Orfali, “Client/Server Survival Guide,” Chs. 12-13, John Wiley & Sons, Inc. (3d ed. 1999)に記載されるように分散する。複数の生産データベース１３がトランザクションサーバ１４により供される。生産データの記憶および検索はトランザクションサーバ１４を用いてオペレーショナルデータストア１１との間において大きな容量で最大の利用可能性で行なわれる（ステップ３１）。
【００３０】
定期的には、データサーバ１７は情報提供データをオペレーショナルデータストア１１から「タップする」（ステップ３２）。未加工の生産データはコピーされ、純化され浄化されて情報提供データになり事業データ貯蔵部１６に維持される。生産データの、オペレーショナルデータストア１１からの検索は、スケジュールされた繰返されるプロセス、たとえばcronジョブなど、定期的に呼び覚まされて、製品データをオペレーショナルデータストア１１から事業データ貯蔵部１６にリフレッシュするプロセスによって実行される。
【００３１】
生産データを事業データ貯蔵部１６にダウンロードするプロセスは瑣末なことではなく、コンピュータ処理上、記憶およびネットワークインターフェイスを行なうリソースに負担をかける。情報提供データ検索および変換は、ビジネス論理を、適切なデータ値をオペレーショナルデータストア１１から選択するために、実行する。各更新は、潜在的に、大量の複製された情報を巻き込み得る。
【００３２】
オペレーショナルデータストア１１上の負荷を緩和するために、一連の専門化されたデータマート、たとえば促進的データマート３４、親和性データマート３５、およびマーケットバスケットデータマート３６などが事業データ貯蔵部１６の部分集合として作成される（ステップ３３）。事業データ貯蔵部１６のように、データマート３４〜３６も定期的なリフレッシュが情報提供データでローカルデータサーバ１９により行なわれなければならない。ローカルデータベースサーバ１９の使用はさらに情報提供データを判断サポートおよびオンライントランザクション処理システム（図示せず）によって使用可能なフォーマットに洗練するのに必要な専門化されたビジネス論理の一部の負担を軽減する。
【００３３】
この先行技術による方策は、判断サポートおよびオンラインの分析的処理システムの必要性のバランスを、生産システムの自律的動作に対して、データ複製および処理動作の分散および負荷の軽減によりとることを試みる。しかしながら、多層化されたアーキテクチャ３０は専門化されたデータベースの各々において必要とされる情報を複製する。加えて、ビジネス論理実現例からなる複数の層は情報提供データをリフレッシュし更新することを要求される。これらの層は潜在的に、重複したクエリを含み得る。より重複的でない解決策が必要とされる。
【００３４】
図３は図１の大粒度データベース並行性を維持するためのシステム５０を示すブロック図である。このシステムのコア機能性はログモニタ２６によって実行される。ソースデータベース５１、これは典型的にはオペレーショナルデータベース１１（図２に示される）または代替的に事業データ貯蔵部１６もしくはワークグループデータマート１８であるが、生産（または情報提供）データを記憶する。記憶されたデータ値は、トランザクションがソースデータベース５１にコミットされると変化する。コミットメントで、ログライタ５３がログエントリをトランザクションログ５４に発生してトランザクションされたイベントをジャーナル化する。各ログエントリはトランザクションのデータを含み、これは、さらに以下において図４を参照して記載されるように、実行されるテーブル、レコードおよびオペレーションを識別する。ログライタ５３は、連続的に発生される、実行中の一連のトランザクションログ５２（ＴＬ）を「フラッシュ」する。
【００３５】
ログエントリがログライタ５３によってログ５４に書込まれると、ログモニタ２６はビジネス論理を組込む選択基準をジャーナル化されたログエントリに適用する。選択基準を満たす各ログエントリに対し、ログモニタ２６は関連付けられる生産（または情報提供）データをソースデータベース５１から検索して更新されたレコード５７を宛先データベース５８に対し発生させる。ログモニタ２６によって利用される選択基準は規則の組５８として実現される。この規則の組は、ビジネス論理を、判断サポートまたはオンラインの分析的処理システムに対し対象の生産（または情報提供）データに影響するトランザクションを選択するために、組込む。加えて、ログモニタ２６は宛先データベース５８によって用いられるスキーマを記述するメタデータ５６を利用する。
【００３６】
規則の組５５およびメタデータ５６は動的な再定義がデータベースビルダツール５６を介して行なわれ得る。データベースビルダツール５９の、本発明においての使用に対し好適な一例は、オラクル貯蔵部ビルダ（Oracle Warehouse Builder）製品であり、これはCalifornia州 Redwood ShoresのOracle Corporationによってライセンスを与えられるものである。ユーザによって、ビジネス論理およびメタデータの再定義が、データベースビルダツール５９を用いて行なわれ得る。
【００３７】
再定義は規則的にログモニタ２６に送られる。規則の組５８における個々の規則によりビジネス論理はデータ操作言語（ＤＭＬ）オペレーションとして実現される。メタデータ５６は、ログモニタ２６によって用いられることにより、更新されたレコード５７を、宛先データベース５８に記憶されるテーブルによって用いられるフォーマットに構造化する。規則の組５５の或る構造をさらに以下に図７を参照して記載する。
【００３８】
好ましくは、メタデータ５６は４つの構成要素を以下のように含む。第１に、メタデータ５６はソースデータベース５１および宛先データベース５８のアーキテクチャを記述する。メタデータ５６は、さらに、他のネットワークへのデータベースリンクおよびエイリアスを記述するネットワーク情報を含む。ログ５４も、論理的に加えられたデータベース上、たとえば分散型データベース環境などにおいて実行されるトランザクションを時系列で記憶し得る。加えて、メタデータ５６は、実現されたビジネス論理のための、ジャーナル化されたトランザクションエントリに対する実行の頻度を特定する、ジョブ制御およびスケジューリング情報を含む。記載される実施例では、ジョブ制御情報はＰＬ／ＳＱＬとして公知のより上位のデータベース操作言語において特定される。最後に、メタデータ５６は、実際のソースコードを、選択基準分析を実行するために含む。他の形式のメタデータも、生産（もしくは情報提供）データ検索またはリカバリの両方に対し用いることも考えられる。
【００３９】
パフォーマンスに対する最適化として、ログモニタ２６は、さらに、キャッシュ６０を、情報を段階化するために有し得るが、これにはログエントリおよび更新されたレコード５７が含まれる。記載される実施例では、ログモニタ２６は、あるプロセスとして、トランザクションサーバ１４およびデータベースサーバ１７、１９（図１に示される）とは別途実現される。ログモニタ２６はプロセスステップのシーケンスに従い、さらに以下に図８を参照して記載されるように動作する。
【００４０】
図４は図３のシステム５０において用いられるログエントリ７０を示すデータ構造図である。各ログエントリ７０は、たとえば、５つの情報フィールドを含む。タイムスタンプ７１は関連付けられるトランザクションがソースデータベース５１にコミットされた日付および時間を時系列で記録する。テーブル識別子７２およびレコード識別子７３は、トランザクションがそれに対してコミットされたソーステーブルおよびレコードエントリを特定する。オペレーションタイプ７４はコミットされたトランザクションを識別する。最後に、アンドゥ情報７５は、オプションとして、データに与えられる実際の変化を、コミットされたトランザクションが展開されるフォーマットで記述する。記載される実施例では、アンドゥ情報７５は関連付けられるレコードに対するテーブルスペース内容および記憶位置を識別する。アンドゥ情報７５を用いて、コミットされたトランザクションは展開され、元のレコードエントリを回復し得る。アンドゥ情報７５はさらにログモニタ２６（図３に示す）に用いられることにより規則の組５５の選択基準が現在のログエントリ７０に対し満たされたか否かを判断し得る。
【００４１】
図５は情報提供データベースがログに基づくトランザクション監視を介して更新するのを示すプロセスフロー図である。データが更新されたレコード５７としてソースデータベース５１から宛先データベース５８に更新される。コミットされたトランザクション９１がトランザクションサーバ９２によってソースデータベース５１に記憶される。ログエントリ９３が各トランザクション９１のコミットメントで発生され、ログ５４にログライタ５３（図３に示す）によって記憶される。ログモニタ２６はビジネス論理９４を、規則の組５５において実現されるように適用する。選択基準を満足させる各ログエントリ９３を用いて、宛先データベース５３にデータベースサーバ９６によって記憶される更新されたレコード９５を発生させる。
【００４２】
先行技術の多層化データベースアーキテクチャ３０（図２に示す）において用いられる情報提供データ更新方策とは異なり、本方策は、更新されたレコード９５の発生を、情報提供データのログエントリ９３を介する間接的な導出により行なう。ログエントリ９３はトランザクションサーバ９２の副産物として発生される。この結果、更新されたレコード９５はトランザクションサーバ９２に対する最小限の費用で発生され、先行技術の多層化データベース階層において本来的なデータおよびビジネス論理の複製および潜在的重複を回避する。
【００４３】
図６は図３のシステム５０のソフトウェアモジュール１１０を示す機能ブロック図である。ログモニタ２６は２つの主なモジュール：評価モジュール１１１およびレコード−発生モジュール１１２を含む。評価モジュール１１１はログ５３におけるログエントリを入力として受取る。各ログエントリ７０（図４に示される）に含まれるトランザクションデータは規則の組５５によって提示される選択基準に対して評価される。選択基準を満たすログエントリ１１３はレコード発生モジュール１１２に送られる。メタデータ５６に記憶される宛先データベース５８のスキーマ記述を用いて、レコード発生モジュール１１２は、更新されたレコード５７を、宛先データベース５８の更新のために作成する。
【００４４】
記載される実施例では、更新されたレコード５７は、ファイル転送プロセスを介して、たとえばファイル転送プロトコル（ＦＴＰ）または同様のネットワーク移送プロトコルに従って送られる。ログモニタの各モジュールは、コンピュータプログラム、手続またはモジュールであり、ソースコードとして従来のプログラミング言語、たとえばＣ＋＋プログラミング言語などで書かれ、ＣＰＵによりオブジェクトまたはバイトコードとして実行されるために提示されるが、これは当該技術分野においては公知のとおりである。ソースコードおよびオブジェクトおよびバイトコードのさまざまな実現例が、コンピュータ読取可能記憶媒体において保持され得、または伝送媒体上において搬送波において実施され得る。
【００４５】
図７は規則エントリ１３０を示すデータ構造図である。例として、および最低でも、各規則１３０は、選択基準が適用されるソースデータベース５１内におけるテーブル１３１を識別する。データ操作言語（ＤＭＬ）ステートメント１３２の組によって、選択基準が表現されるビジネス論理が実現される。その上に、しきい値１３３を含むことによりログモニタ２６（図３に示される）によって予め定義された境界条件に基づくログエントリを迅速かつ効率よくフィルタ処理し得る。他の規則フォーマットも実行可能である。
【００４６】
図８はこの発明に従って動的に再定義可能なビジネス論理を組込むログモニタ２６で大粒度データベース並行性を維持するための方法１５０の流れ図である。予備的に、ログファイル５４を、ログモニタ２６（ブロック１５１）により、ビジネス論理の適用の準備に開く。各ログエントリ（図４に示される）を次いで反復的に以下のように処理する。
【００４７】
各反復中、各ログエントリ７０はまずログモニタ２６によって読まれる（ブロック１５２）。ログエントリ７０を評価することにより、そのエントリが、判断基準が当てはまるテーブル１３１（図７に示される）に影響するコミットされたトランザクション９１（図５に示される）を記述するかを判断する（ブロック１５３）。ログエントリがリスト化されたテーブル１３１に当てはまる場合には（ブロック１５３）、規則は、データ操作言語手続１３２において実現されるとおりでは、評価される（ブロック１５４）。規則の選択基準が満たされる場合には（ブロック１５５）、更新されたレコード５７の発生がログモニタ２６によりメタデータ５６を用いて行なわれ（ブロック１５６）、その更新されたレコードは宛先データベース５８に送られる（ブロック１５７）。反復的処理が続く（ブロック１５２〜１５８）のはさらにログエントリ７０がある場合である（ブロック１５８）。最後のログエントリ７０が処理されると（ブロック１５８）、ログファイル５４は閉じられ（ブロック１５９）ルーチンは終結する。
【００４８】
この発明を特にその実施例に参照されるように図示し記載してきたが、当業者ならば前述および他の形式および詳細における変更がそこにおいてこの発明の精神および範囲から逸脱することなく行なわれてもよいことを理解するであろう。
【図面の簡単な説明】
【００４９】
【図１】分散型コンピュータ環境を示し、この発明に従って動的に再定義可能なビジネス論理を組込むログモニタで大粒度データベース並行性を維持するためのシステムを含む、ブロック図である。
【図２】先行技術の多層化データベースアーキテクチャを示す機能上ブロック図である。
【図３】図１の大粒度データベース並行性を維持するためのシステムを示すブロック図である。
【図４】図３のシステムにおいて用いられるログエントリを示すデータ構造図である。
【図５】情報提供データベースがログに基づくトランザクション監視を介して更新するのを示すプロセスフロー図である。
【図６】図３のシステムのソフトウェアモジュールを示す機能上ブロック図である。
【図７】規則エントリを示すデータ構造図である。
【図８】この発明に従って動的に再定義可能なビジネス論理を組込むログモニタで大粒度データベース並行性を維持するための方法を示すフローチャート図である。
【図１】
2005502934.tif 000003
【図２】
2005502934.tif 000004
【図３】
2005502934.tif 000005
【図４】
2005502934.tif 000006
【図５】
2005502934.tif 000007
【図６】
2005502934.tif 000008
【図７】
2005502934.tif 000009
【図８】
2005502934.tif 000010
【国際公開パンフレット】
2005502934.tif 000011
2005502934.tif 000012
2005502934.tif 000013
2005502934.tif 000014
2005502934.tif 000015
2005502934.tif 000016
2005502934.tif 000017
2005502934.tif 000018
2005502934.tif 000019
2005502934.tif 000020
2005502934.tif 000021
2005502934.tif 000022
2005502934.tif 000023
2005502934.tif 000024
2005502934.tif 000025
2005502934.tif 000026
2005502934.tif 000027
2005502934.tif 000028
2005502934.tif 000029
2005502934.tif 000030
2005502934.tif 000031
2005502934.tif 000032
【国際公開パンフレット（コレクトバージョン）】
2005502934.tif 000033
【国際調査報告】
2005502934.tif 000034
2005502934.tif 000035