JP2005301329A - データベースのためのトランザクション整合性のある変更追跡 - Google Patents

データベースのためのトランザクション整合性のある変更追跡 Download PDF

Info

Publication number
JP2005301329A
JP2005301329A JP2004109421A JP2004109421A JP2005301329A JP 2005301329 A JP2005301329 A JP 2005301329A JP 2004109421 A JP2004109421 A JP 2004109421A JP 2004109421 A JP2004109421 A JP 2004109421A JP 2005301329 A JP2005301329 A JP 2005301329A
Authority
JP
Japan
Prior art keywords
changes
change
database
event
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004109421A
Other languages
English (en)
Other versions
JP2005301329A5 (ja
Inventor
Sandra L Ward
エル.ウォード サンドラ
John Matthew Hollingsworth
マシュー ホリングスワース ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005301329A publication Critical patent/JP2005301329A/ja
Publication of JP2005301329A5 publication Critical patent/JP2005301329A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 変更追跡技法を使用し、トランザクションレプリケーション中に、ソースデータの宛先データとの整合性を維持する。
【解決手段】 第1の機能上の特徴は、トランザクションデータベースレプリケーション技法であることである。第2の特徴は、本技法が、ソースシステムのトランザクション状態の増分追跡をサポートすることである。本技法の第3の特徴は、最初の2つの特徴を満たしながら、トリガを使用して変更を追跡することである。
【選択図】 図6

Description

本発明は、データベースシステムの分野に関する。より詳細には、本発明は、データベースシステム内でのレプリケーション(replication)に関する。
データベースレプリケーションは、ある位置(ソース位置)でデータテーブル内に常駐するデータを他の位置(宛先位置)のユーザに対して使用可能にするプロセスである。具体的には、時間の経過につれてソーステーブルに対する変更が発生するため、諸テーブル内に常駐する宛先データを、ソーステーブル内に含まれるソースデータと同期された状態に保つプロセスである。
トランザクションデータベースは、トランザクションと呼ばれる論理的な仕事単位内のデータに対する変更をサポートするデータベースである。トランザクションでは、コミットと呼ばれる機構を介して変更を持続する。コミット前には、そのトランザクションデータベースの他のユーザにデータ変更が見えない。逆に、トランザクションでは、ロールバックと呼ばれる機構を介して、コミット前に加えられた継続中の変更を除去することができる。トランザクションデータベース上で見えるデータはすべて、その時点で存在する論理的にコミット済みのデータ状態を表す。
トランザクション内のデータ変更は複数のテーブルに影響を及ぼす可能性があり、テーブルのグループの間におけるこのトランザクション整合性は、トランザクションデータベースの重要な属性である。すなわち、ユーザから見て、すべてのテーブルが同時に更新されるように、トランザクションの使用を介して、複数のデータベーステーブルに跨る状態変化を調整することが可能である。データベースアプリケーションは、しばしば、アプリケーションがアクセスする、基礎となるデータベーステーブルのトランザクション整合性に依拠する。
トランザクションレプリケーションは、宛先データが常に明らかなソースデータのコミット済み状態を表すような、ソースシステムのトランザクション状態を保存しながら、ソースから宛先にデータ変更を移動するレプリケーションの一形態である。トランザクションレプリケーションは、宛先テーブルが引き続き、確実にレプリケーション済みソーステーブルのトランザクション整合性を反映するようにする。これは、宛先テーブルの状態がソーステーブルからのデータの特定のトランザクション状態に合致することを保証しない形で、ソースから宛先に変更を移動し、変更をコミットする非トランザクションレプリケーションと対比することができる。
レプリケーションを現実的に実施することには、ソーステーブルのデータ状態を宛先テーブルと同期するための効率的なアルゴリズムが必要とされる。トランザクションレプリケーションは、その最も単純な形態では、データベース間の状態が同期されるたびに、レプリケーション済みデータの集合全体をソースから宛先に移動するように実施することができる。効率的なトランザクションレプリケーションの実施はしばしば、この初期状態の完全同期で始まり、次に増分のソースデータベースのデータ変更を追跡し、その後の同期中に、増分の更新だけを宛先データベースに送達する。
データベースレプリケーションのためのデータ変更を追跡するために使用されるアルゴリズムは、ログをベースとするものと、トリガをベースとするものの2つの基本カテゴリに分かれる。ログをベースとするアルゴリズムは、ソースデータベース変更が発生したとき、ソースデータベースのトランザクションログを読み取ることによってそれらを追跡する。データベーストランザクションログは、データベースで発生した変更すべてを含み、その結果、コミット時間によってそれらを順序付けることができる。データベースログから読み取ることに基づくレプリケーション変更追跡(tacking)を実施するためのアルゴリズムは効率的であり、ソースデータベース上で状態変化を監視する自然な方法を提供する。
トリガをベースとするアルゴリズムは、データベースレプリケーション中にソースデータベースの状態変化を追跡する代替技法を提供する。データベーストリガは、データベース内で発生する特定のイベントに基づいて実行することができるソフトウェアコード群である。商用データベースはしばしば、テーブルデータに対する挿入、更新、削除のためのトリガ用イベントを提供する。変更追跡のために使用されるレプリケーショントリガは、レプリケーション済みテーブルのそれぞれに対する挿入、更新、または削除によりトリガコードが実行され、発生した変更についての情報が記憶されるように構築される。この記憶済み情報は、宛先テーブルの状態にソーステーブルの状態を反映させるために、宛先テーブルに適用しなければならない変更を判定するのに後で使用される。
トリガをベースとするアルゴリズムは、ログをベースとするアルゴリズムより効率が低いが、変更追跡でトリガを利用するための技術は、データベース製品全体にわたって、データベースログから変更を抽出する能力より広く入手可能である。さらに、トリガは、データベース製品全体にわたって、ログ読取り機能よりも一貫した形で実施される。レプリケーションのための変更を追跡するためにトリガを使用すると、複数のデータベースプラットフォーム全体にわたってレプリケーションが提供されるとき、実施されたものの間で整合性をもたらすことができる。
レプリケーション変更追跡のためにトリガを使用することの従来の欠点は、トリガをベースとする解決策では、トランザクションレプリケーションをサポートするのに必要なトランザクションの特性を維持するのが困難なことである。
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、従来技術の制限および欠点を克服し、トランザクションレプリケーションのソリューションを実施するときに変更を追跡するためのトリガをベースとする方法およびシステムを提供することにある。
本発明は、トランザクションレプリケーション中に、ソースデータの宛先データとの整合性を維持するために使用される変更追跡システムおよび方法を対象とする。
本発明による機能上の特徴は、トランザクションデータベースレプリケーション技法であることである。他の特徴は、本技法が、ソースシステムのトランザクション状態の増分追跡をサポートすることである。本技法の他の特徴は、前述の特徴を満たしながら、トリガを使用して変更を追跡することである。
本発明の追加の特徴および利点は、添付の図面を参照しながら進める以下の例示的な実施形態の詳細な説明から明らかになるであろう。
前述の概要、ならびに以下の好適実施形態の詳細な説明は、添付の図面と併せ読めば、よりよく理解できよう。本発明について例示をする目的で、図面内に本発明の例示的な実施形態が示されているが、本発明は、開示されている特定の方法および手段に限定されない。
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
概要
本発明は、ソースデータベース上で発生する変更を追跡し、得られた変更ステートメントをトランザクション整合性のある形で1組の宛先テーブルに適用するための効率的なトリガベースの機構を提供する。後続の実施形態をよりよく説明するために、以下の定義をする。
定義
1群のデータベーステーブルに関連付けられた1組の変更は、その組内の任意の変更について、これらのテーブルに関連付けられ所与の変更と同じトランザクション内でコミットされた、他の変更すべてもまたその組の中にある場合、これらのテーブルに関して「トランザクション整合性のある」という。
「変更追跡トリガ」は、挿入、更新、または削除動作がソーステーブルに適用されたとき発火する、ソーステーブルに適用されたトリガである。トリガは、変更を宛先テーブルに適用するために必要とされる変更についての情報を取り込む責任を負う。
「変更追跡テーブル」は、変更追跡トリガが発火したとき収集された変更済みデータを抽象的に表現したものを格納するために使用されるテーブルである。
「整合性集合テーブル」は、変更追跡テーブル内の変更を、トランザクション整合性のある集合群の形にグループ化するために使用されるテーブルである。
「変更ステートメント」は、ソースデータベース変更を宛先データベースに適用するために宛先データベースに対して実行することができるデータベース修正ステートメント、好ましくは、構造化照会言語(SQL)である。
例示的なコンピューティング環境
図1は、本発明を実施することができる好適なコンピューティングシステム環境100の一例を示す。コンピューティングシステム環境100は、好適なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな制限も示唆しないものとする。コンピューティングシステム環境100は、例示的な動作環境であるコンピューティングシステム環境100に示されている構成要素のいずれか1つまたは組合せに関してどんな依存性も要件も有すると解釈すべきでない。
本発明は、他の多数の汎用または専用コンピューティングシステム環境または構成と共に動作可能である。本発明と共に使用するのに適している可能性のある周知のコンピューティングシステム、環境、および/または構成の例には、それだけには限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサをベースとするシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC(personal computer)、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
本発明について、コンピュータによって実行される、プログラムモジュールなどコンピュータ実行可能命令の一般的な状況で述べることができる。一般に、プログラムモジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークまたは他のデータ伝送媒体を介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境内で実施することができる。分散コンピューティング環境では、プログラムモジュールや他のデータは、メモリ記憶デバイスを含むローカルとリモート双方のコンピュータ記憶媒体内に位置する可能性がある。
図1を参照すると、本発明を実施するための例示的なシステムが、コンピュータ110の形態で汎用コンピューティングデバイスを含む。コンピュータ110の構成要素には、それだけには限らないが、プロセッサ120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素をプロセッサ120に結合するシステムバス121が含まれる。システムバス121は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺機器バス、およびローカルバスを含むいくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例を挙げると、そのようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、および(メザニンバスとしても知られる)PCI(Peripheral Component Interconnect)バスが含まれる。
コンピュータ110は、一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスすることができる任意の入手可能な媒体とすることができ、揮発性媒体と不揮発性媒体、リムーバブルとノンリムーバブルの媒体を共に含む。限定ではなく例を挙げると、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を含む。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性と不揮発性、リムーバブルとノンリムーバブルの媒体が共に含まれる。コンピュータ記憶媒体には、それだけには限らないが、RAM(ランダムアクセスメモリ)、ROM(読み取り専用メモリ)、EEPROM(Electronically Erasable and Programmable Read Only Memory)、フラッシュメモリもしくは他のメモリ技術、CD(compact disc)−ROM、DVD(Digital Versatile Disc)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、所望の情報を記憶するために使用することができ、コンピュータ110によってアクセスすることができる他の任意の媒体が含まれる。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構など変調データ信号に統合し、任意の情報送達媒体を含む。「変調データ信号」という用語は、情報を信号に符号化するようにその特性の1つまたは複数が設定された、または変化した信号を意味する。限定ではなく例を挙げると、通信媒体は、有線ネットワークまたは直接配線接続など有線媒体と、音響、RF(radio frequency)、赤外線および他の無線媒体など無線媒体とを含む。上記のいずれかの組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
システムメモリ130は、ROM131およびRAM132など揮発性および/または不揮発性メモリの形態でコンピュータ記憶媒体を含む。起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(Basic Input/Output System)133は、一般にROM131内に記憶されている。一般にRAM132は、プロセッサ120によって直ちにアクセス可能な、かつ/または現在動作されているデータおよび/またはプログラムモジュールを含む。限定ではなく例を挙げると、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、プログラムデータ137を示す。
コンピュータ110はまた、他のリムーバブル/ノンリムーバブル、揮発性/不揮発性コンピュータ記憶媒体を含むことができる。例にすぎないが、図1は、ノンリムーバブルの不揮発性磁気媒体との間で読出しまたは書込みをするハードディスクドライブ140、リムーバブルの不揮発性磁気ディスク152との間で読出しまたは書込みをする磁気ディスクドライブ151、CD−ROMまたは他の光媒体などリムーバブルの不揮発性光ディスク156との間で読出しまたは書込みをする光ディスクドライブ155を示す。例示的な動作環境内で使用することができる他のリムーバブル/ノンリムーバブルの、揮発性/不揮発性コンピュータ記憶媒体には、それだけには限らないが、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれる。一般にハードディスクドライブ141は、インタフェース140などノンリムーバブルメモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、一般に、インタフェース150などリムーバブルメモリインタフェースによってシステムバス121に接続される。
上記で論じ、図1に示されたドライブとその関連コンピュータ記憶媒体は、コンピュータ110のためのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータを記憶する。たとえば、図1では、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、プログラムデータ147を記憶して示されている。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、プログラムデータ137と同じとすることも異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、プログラムデータ147は、最低でも異なるコピーであることを示すために異なる番号が与えられている。ユーザは、キーボード162、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス161など、入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらの、また他の入力デバイスは、システムバスに結合されるユーザ入力インタフェース160を介してプロセッサ120に接続されることがしばしばであるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、他のインタフェースおよびバス構造によって接続することができる。モニタ191または他のタイプのディスプレイデバイスもまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータはまた、スピーカ197やプリンタ196など他の周辺出力デバイスを含むことができ、これらは、出力周辺機器インタフェース195を介して接続することができる。
コンピュータ110は、リモートコンピュータ180など、1つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク環境内で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードとすることができ、図1には、メモリ記憶デバイス181だけが示されているが、一般に、コンピュータ110に関して上述した要素の多数または全部を含む。図の論理接続は、ローカルエリアネットワーク(LAN)171と広域ネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。そのようなネットワーク環境は、オフィス、全社コンピュータネットワーク、イントラネット、インターネットで普通である。
コンピュータ110は、LANネットワーク環境内で使用されるとき、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。コンピュータ110は、WANネットワーク環境内で使用されるとき一般に、インターネットなどWAN173を介して通信を確立するためのモデム172または他の手段を含む。モデム172は、内部にあっても外部にあってもよく、ユーザ入力インタフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関して図示されたプログラムモジュール、またはその一部分を、リモートメモリ記憶デバイス内に記憶することができる。限定ではなく例を挙げると、図1は、メモリデバイス181に常駐するリモートアプリケーションプログラム185を示す。図のネットワーク接続は例であり、コンピュータ間で通信リンクを確立する他の手段を使用することができることは理解されよう。
例示的な分散コンピューティングフレームワークまたはアーキテクチャ
パーソナルコンピューティングとインターネットを集中させるという点から、様々な分散コンピューティングフレームワークが開発されており、また開発されつつある。個人も法人ユーザも平等に、アプリケーションとコンピューティングデバイス用にシームレスに相互動作可能な、ウェブによって使用可能にされるインタフェースを備え、コンピューティング活動をますますウェブブラウザ指向またはネットワーク指向にしている。
たとえば、MICROSOFT(登録商標)の.NETプラットフォームは、サーバと、ウェブをベースとするデータストレージおよびダウンロード可能なデバイスソフトウェアのような、ビルディングブロックサービスとを含む。一般的に言うと、.NETプラットフォームは、(1)全範囲のコンピューティングデバイスを一緒に動作させ、また、それらすべてに対してユーザ情報を自動的に更新および同期させる能力、(2)HTML(Hyper Text Markup Language)ではなくXML(Extensible Markup Language)をより多用することによって可能にされる、ウェブサイトのための対話性の高められた機能、(3)たとえば電子メールなど様々なアプリケーションを、またはOffice.NET(商標)などソフトウェアを管理するための中央起点から、ユーザへの製品およびサービスのカスタマイズされたアクセスおよび送達を特徴とするオンラインサービス、(4)情報へのアクセスの効率および手軽さ、ならびにユーザ/デバイスの間での情報の同期性を高める集中データストレージ、(5)電子メール、ファックス、電話など様々な通信媒体を一体化する能力、(6)開発者のために、再使用可能なモジュールを作成し、それによって生産性を高め、プログラミングの誤りの数を低減する能力、(7)さらに多数の他のプラットフォーム間統合機能を提供する。
本明細書では、コンピューティングデバイスに常駐するソフトウェアと共に例示的な実施形態が述べられているが、本発明の1つまたは複数の部分はまた、.NETの言語およびサービスすべてによって、また他の分散コンピューティングフレームワーク内で、サービスを実行し、.NETの言語およびサービスすべてにおいて、また他の分散コンピューティングフレームワーク内で、サービスをサポートし、.NETの言語およびサービスすべてを介して、また他の分散コンピューティングフレームワーク内で、サービスにアクセスすることができるように、オペレーティングシステム、アプリケーションプログラミングインタフェース(API)、または、コプロセッサと要求元オブジェクトの間の「仲介者」オブジェクトを介して実施することができる。
例示的な実施形態
本発明に関して、変更追跡プロセスは、対象のソーステーブル内のデータに対する変更を監視し、これらの変更について情報を取り込み、取り込まれた変更データを、その後で宛先テーブルを更新するために使用される整合性集合の形にグループ化する。本発明の例示的な追跡機構は、宛先部でトランザクション整合性のあるコピーを効率的に維持する。
図2は、図3〜5のプロセスの例示的な流れを示す流れ図である。これらのプロセスのそれぞれは、他のプロセスに対して同期して動作することが望ましいが、特定のイベントについて、図3のプロセスの後に、図4および5のプロセスが順に続くものとする。
図6は、本発明に従って使用されることが望ましい様々な例示的なテーブルを示す図である。図6は、2つのソーステーブル300、350、2つの変更追跡テーブル400、450、整合性のある変更のグループを識別するための整合性集合テーブル500、および宛先テーブル600、650を示す。本発明によれば、任意の数のソーステーブル、変更追跡テーブル、整合性集合テーブル、宛先テーブルを使用することができるものとする。
図3は、本発明による変更取込みの例示的なプロセスの流れ図である。セットアップ中に、トランザクション整合性のある形でレプリケーションすべきソーステーブルが識別され、各ソーステーブルについて1つの変更追跡テーブルが作成される。変更追跡テーブルは、その関連付けられたソーステーブルの行で発生するイベント活動(たとえば、挿入、更新、削除活動)に関する詳細を記録するために使用される。変更追跡トリガを使用し、変更検出プロセスを実施する。トリガコードは、各ソーステーブルに関連付けられており、ソーステーブル内の行で、挿入、更新、または削除動作などイベントが発生したとき実行する。
図6では、追跡トリガ302および352がソーステーブル300、350に適用される。これらのトリガを使用し、変更データをテーブル(図中符号402、452)内に取り込み、そのデータを400、450で表されている適切な追跡テーブル内に格納する。公表されたテーブルごとに1つの追跡テーブルがあることが好ましい。変更追跡テーブルは、その関連付けられたソーステーブルに対して発生する変更だけ反映することが望ましいことに留意されたい。したがって、トリガ302、352は、望ましくは各公表済みテーブル300、350に配置され、変更データ402、452を変更追跡テーブル400、450に書き込むために使用される。
図3のステップ210で、データが変更される(たとえば、挿入、更新、または削除がソーステーブルに適用される)イベントが発生し、それにより、ステップ220で、ソーステーブルの関連付けられた変更追跡トリガ(たとえば、図6のトリガ302または352)を実行させる。ステップ230で順次識別子が生成され、順次識別子は、後の処理で、この変更を他の変更に対して順序付けることを可能にする。生成された識別子は、厳密に単調増加する数であることが好ましい。順次識別子とイベントデータ(たとえば、402)は、ステップ240で、そのソーステーブル(たとえば、300)に関連付けられた変更追跡テーブル(たとえば、400)に格納される。具体的には、変更追跡トリガによって変更追跡テーブル内に格納されるイベントデータ402、452の各行は、関連付けられた順次識別子(たとえば、順次識別子404)を有する。
トリガによって取り込まれたイベントデータは、宛先データベースに適用されたとき宛先テーブルをソーステーブルと同じ状態にするデータベースステートメントを構築するために必要とされるデータを含む。挿入動作の場合、新しい列値が、その動作タイプ(挿入)および順次識別子と共に変更追跡テーブル内に入力されることが好ましい。削除動作の場合、古い列値が、その動作タイプ(削除)および順次識別子と共に変更追跡テーブル内に入力されることが好ましい。更新動作の場合、古い列値と新しい列値が共に、その動作タイプ(更新)および順次識別子と共に変更追跡テーブル内に入力されることが好ましい。
図4は、本発明による、変更を整合性集合の形にグループ化する例示的なプロセスの流れ図である。セットアップ中に、整合性集合テーブルが作成される。整合性集合テーブル500は、変更追跡テーブル400、450内のエントリを、ソースデータベース上のトランザクション時点に関連する変更の特定の整合性集合に関係付けるために使用される。整合性集合は、一緒にグループ化され単一のトランザクションとして宛先データベースに適用されることになる変更追跡テーブル群内の諸変更を規定する。ステップ310で、集合群が宛先テーブルに適用されるときそれらを順序付けるために使用される順次識別子が、その集合について得られる。ステップ320で、変更追跡テーブル内のエントリがグループ化され、この集合識別子に関連付けるために変更の整合性集合を得る。ステップ330で、特定の変更をこの整合性集合に属するものとして識別する情報が、整合性集合テーブルに保存される。
整合性集合を識別するとき、前もって集合に割り当てられていないコミット済み追跡テーブルエントリすべてについて、行ごとに識別子が得られる。行識別子は、集合識別子と共に整合性集合テーブル500に保存される。
図5は、本発明による、整合性集合に関連付けられた変更を宛先テーブルに適用する例示的なプロセスの流れ図である。例示的なプロセスは、変更を変更追跡テーブルから抽出し、それを使用して、宛先データベースの状態を変更するとき使用すべき変更ステートメントを作成する。同じ集合識別子に関連付けられた変更ステートメントは、宛先部で単一のトランザクションとしてコミットされ、トランザクション整合性を維持することを可能にすることが好ましい。
図5のステップ410を参照すると、処理する次の集合識別子を判定するために、整合性集合テーブルが照会される。ステップ420で、この集合識別子を有する整合性集合テーブルに関連する変更を取り出すために、各ソーステーブルの関連付けられた変更追跡テーブルが照会される。ステップ430で、変更追跡テーブル内の選択された各エントリについて、適切な変更ステートメントが生成され、関連付けられた宛先テーブル(図6の600および650)に適用される。次いで、宛先テーブルに加えられたエントリすべてがコミットされることが望ましい。このプロセス中に、符号302および352の項目によって表されている図6のトリガは、後続の集合群のメンバとして後で処理されるデータを変更追跡テーブル400、450内に引き続き格納する。
図5のステップ430で、整合性集合に関連付けられた変更ステートメントは、諸変更を順序付けるために図6の項目(400および450)の変更追跡テーブル内のエントリから順次識別子を使用して、宛先テーブルに適用される。後続の整合性集合は、集合識別子(図6、502)によって順序付けられた宛先に適用される。所与の集合について変更が抽出されつつある間に新しいエントリが変更追跡テーブル内に現れた場合、この新しいエントリは、現在の集合識別子で整合性集合テーブル500内に現れず、したがって、現在の集合の一部として抽出されない。
要するに、単一のトランザクション内で宛先部にて適用される変更の整合性集合の形に変更をグループ化することにより、ソースデータベースのある時点に関連するトランザクション整合性が、宛先データベース部で維持される。
上述のように、本発明の例示的な実施形態について、様々なコンピューティングデバイスおよびアーキテクチャに関連して述べたが、基礎となる概念は、レプリケーションすることが望ましいどのコンピューティングデバイスまたはシステムに適用することもできる。したがって、本発明によるレプリケーションのための技法は、様々なアプリケーションおよびデバイスに適用することができる。本明細書では、様々な選択を表すものとして例示的なプログラミング言語、名称、および諸例が選択されているが、これらの言語、名称、および諸例は、制限するものではないものとする。
本明細書に述べられている様々な技法は、ハードウェアまたはソフトウェア、あるいは適切な場合、両者の組合せと共に実施することができる。したがって、本発明の方法および装置、またはそのある種の態様もしくは一部分は、フロッピー(登録商標)ディスク、CD−ROM、ハードドライブ、または他の任意の機械可読記憶媒体など、有形の媒体内で実施されたプログラムコード(すなわち、命令)の形態を取ることができ、そのプログラムコードが、コンピュータなどの機械内にロードされ、機械によって実行されたとき、その機械は、本発明を実施するための装置となる。プログラム可能なコンピュータ上でプログラムコードを実行する場合、そのコンピューティングデバイスは、一般にプロセッサと、プロセッサによって可読の(揮発性/不揮発性メモリおよび/または記憶要素を含む)記憶媒体と、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスを含むことになる。さらに、本発明と共に使用されるどの記憶技法も、常にハードウェアとソフトウェアの組合せとすることができる。
本発明について、様々な図の好適実施形態に関連して述べたが、本発明の同じ機能を実行するために、そこから逸脱することなしに他の同様な実施形態を使用し、または、修正および追加を上述の実施形態に加えることができることを理解されたい。さらに、特に無線ネットワーク化されたデバイスが増え続けているため、ハンドヘルドデバイス用オペレーティングシステムや他の応用分野特有のオペレーティングシステムを含めて、様々なコンピュータプラットフォームが企図されていることを強調しておくべきである。さらに、本発明は、複数の処理用チップまたはデバイス内で、またはそれらに跨って実施することができ、同様に、記憶は複数のデバイスに跨って実施することができる。したがって、本発明は、どの単一の実施形態にも制限すべきでなく、添付の特許請求の範囲による広さと範囲内で解釈すべきである。
本発明を適用できる実施形態の例示的なコンピューティング環境を示すブロック図である。 本発明を適用できる実施形態の図3〜5のプロセスの例示的な流れを示す流れ図である。 本発明を適用できる実施形態の変更検出の例示的なプロセスの流れ図である。 本発明を適用できる実施形態の、検出された変更を整合性集合の形にグループ化する例示的なプロセスの流れ図である。 本発明を適用できる実施形態の、整合性集合に関連付けられた変更を宛先データベースに適用する例示的なプロセスの流れ図である。 本発明を適用できる実施形態の、使用されることが望ましい様々な例示的なテーブルを示す図である。
符号の説明
300、350、ソーステーブル
302、352 追跡トリガ
400、450 変更追跡テーブル
402、452 変更情報
404 順次識別子
500 整合性集合テーブル
502 集合識別子
600、650 宛先テーブル

Claims (22)

  1. 宛先データベース部で、トランザクション整合性のある一群のテーブルを維持する方法であって、
    複数の変更をソースデータベースから取り込むステップと、
    前記変更を少なくとも1つの整合性のある集合の形にグループ化するステップと、
    少なくとも1つの整合性のある変更の集合を前記宛先データベースに適用するステップと
    を備えることを特徴とする方法。
  2. 前記複数の変更を取り込むステップは、複数のイベントのそれぞれについて、
    データベースイベントを認識するステップと、
    前記イベントに応答してトリガを発火するステップと、
    前記イベントについて識別番号を生成するステップと、
    前記イベントおよび前記識別番号に関するデータを、変更として変更追跡テーブルに格納するステップとを含む
    ことを特徴とする請求項1に記載の方法。
  3. 前記変更をグループ化するステップは、
    前記複数の整合性のある変更の集合を識別するステップと、
    前記整合性のある集合を回復するための情報を整合性集合テーブルに格納するステップとを含む
    ことを特徴とする請求項2に記載の方法。
  4. 各整合性のある集合は、前記複数の変更の一部分を含み、前記一部分内の各変更について、同じトランザクション内でコミットされたソーステーブルに対する他の変更もまたすべて前記集合内にある
    ことを特徴とする請求項1に記載の方法。
  5. 前記変更ステートメントを前記宛先データベースに適用するステップは、
    整合性のある集合内のメンバシップに基づいて、変更追跡テーブルから変更の集合を抽出するステップと、
    前記変更の集合を1つのトランザクションで前記宛先データベースに適用するステップとを含む
    ことを特徴とする請求項1に記載の方法。
  6. 前記取り込むステップ、前記グループ化するステップ、および前記適用するステップは同期している
    ことを特徴とする請求項1に記載の方法。
  7. 各変更はイベントに対応し、前記イベントは、ソースデータベース内のデータに対する挿入、更新、および削除のうちの1つである
    ことを特徴とする請求項1に記載の方法。
  8. 宛先データベース部で、トランザクション整合性のある一組の宛先テーブルを維持する方法を実行するためのコンピュータ実行可能命令を記憶しているコンピュータ可読媒体であって、
    複数の変更をソースデータベースから取り込むステップと、
    前記変更を少なくとも1つの整合性のある集合の形にグループ化するステップと、
    少なくとも1つの整合性のある変更の集合を前記宛先データベースに適用するステップと
    を備えることを特徴とするコンピュータ可読媒体。
  9. 前記複数の変更を取り込むステップは、複数のイベントのそれぞれについて、
    データベースイベントを認識するステップと、
    前記イベントに応答してトリガを発火するステップと、
    前記イベントについて識別番号を生成するステップと、
    前記イベントおよび前記識別番号に関するデータを、変更として変更追跡テーブルに格納するステップとを含む
    ことを特徴とする請求項8に記載のコンピュータ可読媒体。
  10. 前記変更をグループ化するステップは、
    前記複数の整合性のある変更の集合を識別するステップと、
    前記整合性のある集合を回復するための情報を整合性集合テーブルに格納するステップとを含む
    ことを特徴とする請求項9に記載のコンピュータ可読媒体。
  11. 各整合性のある集合は、前記複数の変更の一部分を含み、前記一部分内の各変更について、同じトランザクション内でコミットされたソーステーブルに対する他の変更もまたすべて前記集合内にある
    ことを特徴とする請求項8に記載のコンピュータ可読媒体。
  12. 前記変更ステートメントを前記宛先データベースに適用するステップは、
    整合性のある集合内のメンバシップに基づいて、変更追跡テーブルから変更の集合を抽出するステップと、
    前記変更の集合を1つのトランザクションで前記宛先データベースに適用するステップとを含む
    ことを特徴とする請求項8に記載のコンピュータ可読媒体。
  13. 前記取り込むステップ、前記グループ化するステップ、および前記適用するステップは同期している
    ことを特徴とする請求項8に記載のコンピュータ可読媒体。
  14. 各変更はイベントに対応し、前記イベントは、ソースデータベース内のデータに対する挿入、更新、および削除のうちの1つである
    ことを特徴とする請求項8に記載のコンピュータ可読媒体。
  15. ソースデータベース内のソーステーブル群と宛先データベース内の宛先テーブル群の間で、トランザクション整合性を維持するためのシステムであって、
    各ソーステーブルが前記ソースデータベースに関連付けられ、イベントに応答して実行する関連トリガを有する少なくとも1つのソーステーブルと、
    前記変更イベントに関するデータを記録するための少なくとも1つの変更追跡テーブルと、
    前記少なくとも1つの変更追跡テーブルのエントリを、少なくとも1つの順序付けられた整合性のある集合の形にグループ化する整合性集合テーブルと
    を備えたことを特徴とするシステム。
  16. 前記ソーステーブル群のそれぞれは、少なくとも1つの対応する変更追跡テーブルを有する
    ことを特徴とする請求項15に記載のシステム。
  17. 前記変更追跡テーブルに、前記トリガが実行したことに応答して、前記イベント、および前記イベントについての識別番号に関するデータが投入される
    ことを特徴とする請求項15に記載のシステム。
  18. エントリが、整合性のある変更の集合の形にグループ化される
    ことを特徴とする請求項17に記載のシステム。
  19. 変更に対応する複数のイベントについて、各整合性のある集合は、前記複数の変更の一部分を含み、前記一部分内の各変更について、同じトランザクション内でコミットされたソーステーブルに対する他の変更もまたすべて前記一部分内にある
    ことを特徴とする請求項15に記載のシステム。
  20. 前記変更追跡テーブルは、前記宛先データベースに適用すべき少なくとも1つの変更を含む
    ことを特徴とする請求項15に記載のシステム。
  21. 前記整合性集合テーブルを介して識別された整合性のある変更の集合内のメンバシップに基づいて、前記変更追跡テーブルからデータが抽出される
    ことを特徴とする請求項15に記載のシステム。
  22. 1組の抽出された変更が、1つのトランザクションで前記宛先データベースに適用される
    ことを特徴とする請求項21に記載のシステム。
JP2004109421A 2003-04-01 2004-04-01 データベースのためのトランザクション整合性のある変更追跡 Pending JP2005301329A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/404,229 US20040199552A1 (en) 2003-04-01 2003-04-01 Transactionally consistent change tracking for databases

Publications (2)

Publication Number Publication Date
JP2005301329A true JP2005301329A (ja) 2005-10-27
JP2005301329A5 JP2005301329A5 (ja) 2007-05-24

Family

ID=32850586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004109421A Pending JP2005301329A (ja) 2003-04-01 2004-04-01 データベースのためのトランザクション整合性のある変更追跡

Country Status (5)

Country Link
US (1) US20040199552A1 (ja)
EP (1) EP1465085A3 (ja)
JP (1) JP2005301329A (ja)
KR (1) KR20040088397A (ja)
CN (1) CN100386736C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102271486B1 (ko) * 2020-10-13 2021-07-02 (주)소만사 데이터베이스에 저장된 개인정보의 보유현황 관리방법 및 장치

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589346B2 (en) 2011-04-26 2013-11-19 Oracle International Corporation Techniques for combining statement level, procedural, and row level replication
US8738568B2 (en) * 2011-05-05 2014-05-27 Oracle International Corporation User-defined parallelization in transactional replication of in-memory database
US7155633B2 (en) * 2003-12-08 2006-12-26 Solid Data Systems, Inc. Exchange server method and system
KR100789771B1 (ko) * 2005-12-08 2007-12-28 한국전자통신연구원 트리거를 이용한 입력 데이터 스트림과 저장 데이터의 통합질의 처리 시스템 및 그 방법
US20070162516A1 (en) * 2005-12-30 2007-07-12 Microsoft Corporation Computing asynchronous transaction log replication progress based on file change notifications
EP1811404A1 (de) * 2006-01-20 2007-07-25 Ubs Ag Technik zum Beliefern eines Data Warehouse unter Gewährleistung einer konsistenten Datensicht
US7730538B2 (en) * 2006-06-02 2010-06-01 Microsoft Corporation Combining virus checking and replication filtration
US7685189B2 (en) * 2006-12-27 2010-03-23 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
US7801867B2 (en) * 2006-12-27 2010-09-21 Microsoft Corporation Optimizing backup and recovery utilizing change tracking
KR100926880B1 (ko) * 2007-05-21 2009-11-16 엔에이치엔(주) Dbms에서의 데이터 복제 방법 및 시스템
JP5020005B2 (ja) * 2007-09-06 2012-09-05 三洋電機株式会社 放送信号受信装置
US7483922B1 (en) * 2007-11-07 2009-01-27 International Business Machines Corporation Methods and computer program products for transaction consistent content replication
US8306951B2 (en) 2009-09-18 2012-11-06 Oracle International Corporation Automated integrated high availability of the in-memory database cache and the backend enterprise database
KR101024494B1 (ko) * 2008-07-18 2011-03-31 (주)디에프아이비즈 메타데이타를 이용한 변경 데이타 추출방법
KR101014524B1 (ko) * 2008-09-22 2011-02-14 콘티넨탈 오토모티브 시스템 주식회사 데이터 일관성을 유지하는 임베디드 시스템의 데이터 리드 방법
US20110082832A1 (en) * 2009-10-05 2011-04-07 Ramkumar Vadali Parallelized backup and restore process and system
US20110258160A1 (en) * 2010-04-15 2011-10-20 Po-Yen Lee Data synchronization methods for synchronizing data in communication system and communication systems
US8738583B2 (en) * 2011-02-09 2014-05-27 Cisco Technology, Inc. Efficiently delivering event messages using compiled indexing and paginated reporting
US9128974B2 (en) * 2011-07-19 2015-09-08 Infosys Limited Methods for tracking database changes and devices thereof
US8521699B2 (en) * 2011-09-13 2013-08-27 Microsoft Corporation Tracking changes across collection of data tables
US8818947B2 (en) * 2011-11-16 2014-08-26 Sap Ag Landscape transformation replication server
KR101535703B1 (ko) * 2012-09-28 2015-07-09 삼성에스디에스 주식회사 데이터 객체 변환 장치 및 방법
US9589041B2 (en) 2013-07-25 2017-03-07 Oracle International Corporation Client and server integration for replicating data
US10311154B2 (en) 2013-09-21 2019-06-04 Oracle International Corporation Combined row and columnar storage for in-memory databases for OLTP and analytics workloads
CN105718491A (zh) 2014-12-04 2016-06-29 阿里巴巴集团控股有限公司 数据库之间更新的方法及其装置
US9864816B2 (en) 2015-04-29 2018-01-09 Oracle International Corporation Dynamically updating data guide for hierarchical data objects
US11829349B2 (en) 2015-05-11 2023-11-28 Oracle International Corporation Direct-connect functionality in a distributed database grid
US10191944B2 (en) 2015-10-23 2019-01-29 Oracle International Corporation Columnar data arrangement for semi-structured data
US20170235770A1 (en) * 2016-02-17 2017-08-17 International Business Machines Corporation Method for restoring containers in a database based on priorities of the containers
US11442823B2 (en) 2016-06-03 2022-09-13 International Business Machines Corporation Transaction consistency query support for replicated data from recovery log to external data stores
US10216582B2 (en) 2016-08-15 2019-02-26 International Business Machines Corporation Recovery log analytics with a big data management platform
KR101956236B1 (ko) 2016-11-16 2019-03-11 주식회사 실크로드소프트 데이터베이스 관리 시스템에서의 데이터 복제 기법
GB201704973D0 (en) * 2017-03-28 2017-05-10 Gb Gas Holdings Ltd Data replication system
US10803039B2 (en) 2017-05-26 2020-10-13 Oracle International Corporation Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index
US10719446B2 (en) 2017-08-31 2020-07-21 Oracle International Corporation Directly mapped buffer cache on non-volatile memory
US10802766B2 (en) 2017-09-29 2020-10-13 Oracle International Corporation Database with NVDIMM as persistent storage
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10732836B2 (en) 2017-09-29 2020-08-04 Oracle International Corporation Remote one-sided persistent writes
US10956335B2 (en) 2017-09-29 2021-03-23 Oracle International Corporation Non-volatile cache access using RDMA
US11675761B2 (en) 2017-09-30 2023-06-13 Oracle International Corporation Performing in-memory columnar analytic queries on externally resident data
SG11202003991VA (en) * 2017-11-14 2020-05-28 Kawasaki Heavy Ind Ltd Car monitoring system
US11151111B2 (en) * 2017-11-30 2021-10-19 Futurewei Technologies, Inc. Redistributing table data in a database cluster
US11170002B2 (en) 2018-10-19 2021-11-09 Oracle International Corporation Integrating Kafka data-in-motion with data-at-rest tables
US11086840B2 (en) * 2018-12-07 2021-08-10 Snowflake Inc. Transactional streaming of change tracking data
US11886439B1 (en) * 2019-08-27 2024-01-30 Amazon Technologies, Inc. Asynchronous change data capture for direct external transmission
US20220014598A1 (en) * 2020-07-09 2022-01-13 Ge Aviation Systems Llc Data service tracker module for a communication system and method of determining a set of data couplings
US11727022B2 (en) * 2021-03-19 2023-08-15 International Business Machines Corporation Generating a global delta in distributed databases
US11704327B2 (en) 2021-03-19 2023-07-18 International Business Machines Corporation Querying distributed databases
US11853319B1 (en) 2021-03-25 2023-12-26 Amazon Technologies, Inc. Caching updates appended to an immutable log for handling reads to the immutable log
US11803324B2 (en) * 2021-12-10 2023-10-31 Nxp B.V. System and method for managing transactions in integrated circuits

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701480A (en) * 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
US5553279A (en) * 1993-10-08 1996-09-03 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5613113A (en) * 1993-10-08 1997-03-18 International Business Machines Corporation Consistent recreation of events from activity logs
US5590181A (en) * 1993-10-15 1996-12-31 Link Usa Corporation Call-processing system and method
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US5926819A (en) * 1997-05-30 1999-07-20 Oracle Corporation In-line triggers
SE510050C2 (sv) * 1997-07-21 1999-04-12 Ericsson Telefon Ab L M Metod för insamlande av logginformation vid förändring av databas
US6125360A (en) * 1998-07-02 2000-09-26 Oracle Corporation Incremental maintenance of materialized views containing one-to-N lossless joins
US6925476B1 (en) * 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US6609126B1 (en) * 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
US7111023B2 (en) * 2001-05-24 2006-09-19 Oracle International Corporation Synchronous change data capture in a relational database
US7024584B2 (en) * 2003-01-09 2006-04-04 International Business Machines Corporation Method, system, and article of manufacture for maintaining data integrity

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNB200200461001, ガルシア マルシ フロホック, Microsoft SQL Server 2000 オフィシャルマニュアル 下, 20010319, 第1版, p.79−120, 日経BPソフトプレス 岡村 宏平 *
JPN6009065714, ガルシア マルシ フロホック, Microsoft SQL Server 2000 オフィシャルマニュアル 下, 20010319, 第1版, p.79−120, 日経BPソフトプレス 岡村 宏平 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102271486B1 (ko) * 2020-10-13 2021-07-02 (주)소만사 데이터베이스에 저장된 개인정보의 보유현황 관리방법 및 장치

Also Published As

Publication number Publication date
CN1540513A (zh) 2004-10-27
EP1465085A3 (en) 2006-04-19
EP1465085A2 (en) 2004-10-06
US20040199552A1 (en) 2004-10-07
KR20040088397A (ko) 2004-10-16
CN100386736C (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
JP2005301329A (ja) データベースのためのトランザクション整合性のある変更追跡
CN109656934B (zh) 基于日志解析的源端Oracle数据库DDL同步方法及设备
US7822710B1 (en) System and method for data collection
EP1877906B1 (en) Maintenance of link level consistency between database and file system
KR101099199B1 (ko) 데이터베이스 복구 중의 스냅샷 질의를 위한 시스템 및 방법
JP4758150B2 (ja) 外部メタデータの処理
US6714943B1 (en) Method and mechanism for tracking dependencies for referential integrity constrained tables
US6728719B1 (en) Method and mechanism for dependency tracking for unique constraints
JP4522170B2 (ja) リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法
US9830372B2 (en) Scalable coordination aware static partitioning for database replication
US7953744B2 (en) Database change verifier
JP4526876B2 (ja) データベースオブジェクトスクリプト生成方法およびシステム
US20090119346A1 (en) Automatic error correction for replication and instantaneous instantiation
JP2004362596A (ja) 自動タスク生成方法およびシステム
US7958167B2 (en) Integration of unstructed data into a database
US20120330890A1 (en) Propagating tables while preserving cyclic foreign key relationships
US8782013B1 (en) System and method for archiving data
WO2008137227A1 (en) Reducing update conflicts when maintaining views
US20050289186A1 (en) DDL replication without user intervention
EP2595069B1 (en) Replication server
CN110245037B (zh) 一种基于日志的Hive用户操作行为还原方法
JP4393498B2 (ja) 構造化文書管理システム及びプログラム
Liu et al. Capturing global transactions from multiple recovery log files in a partitioned database system
Prusinski et al. Expert Oracle GoldenGate
CN112732331B (zh) 一种代码历史记录恢复方法、系统及介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100518