JP4461147B2 - リモートデータミラーリングを用いたクラスタデータベース - Google Patents
リモートデータミラーリングを用いたクラスタデータベース Download PDFInfo
- Publication number
- JP4461147B2 JP4461147B2 JP2006549582A JP2006549582A JP4461147B2 JP 4461147 B2 JP4461147 B2 JP 4461147B2 JP 2006549582 A JP2006549582 A JP 2006549582A JP 2006549582 A JP2006549582 A JP 2006549582A JP 4461147 B2 JP4461147 B2 JP 4461147B2
- Authority
- JP
- Japan
- Prior art keywords
- site
- server
- sites
- data
- write operation
- 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.)
- Active
Links
- 230000010076 replication Effects 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 12
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 5
- 230000003362 replicative effect Effects 0.000 claims 3
- 238000004891 communication Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 22
- 238000005192 partition Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010923 batch production Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2079—Bidirectional techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
Description
本発明は複数のサイト間のデータのミラーリングに関する。
データミラーリングは、データが第1の記憶装置に記憶されると同時に、このデータが第1の記憶装置から1つ以上の第2の記憶装置へコピーされる方法である。第1の記憶装置から1つ以上の第2の記憶装置へコピーされたデータは、第1の記憶装置で記憶されるデータの正確なコピーである。それゆえに、ミラーリングされたデータをバックアップすること、および災害の後に適時な方法によってデータを回復することの両方に、データミラーリングが有用である。データミラーリングは、データがミラー元から地理的に近い位置にコピーされるかまたは遠隔地にコピーされるかには依存しない。
し利用できなくなると、ついで、サイトB等、故障したサイトAのシステムと置き換わるバックアップシステムが動作可能となるまで、データベースサーバ120およびデータベースサーバ120に接続するシステム100の全てのクライアントは、一時的に使えなくなる。
タをミラーリングしつつ、上述のアプローチに関連付けられる問題を回避することである。
複数のサイト間のデータをミラーリングするための方法およびシステムが記載されている。以下の記載では、説明の目的で、本発明を完全に理解するための数多くの具体的な詳細が記載される。しかしながら、これらの具体的な詳細なしで、本発明が実施されてもよいことは明らかである。他の例では、本発明を不必要に不明確にすることを回避するために、よく知られた構造およびデバイスがブロック図形式で示される。
図3は、本発明の一実施形態による、データミラーリングシステム300を示すブロック回路図である。データミラーリングシステム300は、データミラーリングシステム300の各サイト間のデータを双方向に複製するために使用されることができる。さらに、本願明細書において記述されるように、データミラーリングシステム300を使用して、他の利点が達成され得る。図3のデータミラーリングシステム300は、サイト310およびサイト312と、クライアント320およびクライアント322と、データベースサーバ330およびデータベースサーバ332と、ファイルサーバ340およびファイルサーバ342と、データベース350およびデータベース352と、クォーラムデバイス360と、通信リンク370、372、374および376とを含む。
アアプリケーションと、パーソナルコンピュータと、データベースサーバに要求を出すことのできるマシンと、データベースサーバとを含む。
複数のサイト間でデータをミラーリングするための方法およびメカニズムが示されている。1つの方法によれば、レプリケーション関係は、第1のサイトおよび第2のサイトを含む複数のサイトの間で確立される。一実施形態において、レプリケーション関係によって、複数のサイトのいずれかのサイトでなされた少なくともいくつかの変更が、複数のサイトの互いのサイトで複製される。
トランザクションに関連付けられる優先順位の値に基づくトランザクションのコミットを処理するための方法もまた、提供される。1つの方法によれば、データが複数のサイト間でミラーリングされる。複数のサイトのうち第1のサイトで先頭レコードが維持され、その先頭レコードは、第1のサイトで実行されたどのトランザクションがそれらのリドゥ情報を複数のサイトのうち他のサイトに複製するかを識別する。広く本願明細書において使用されるように、リドゥ情報はトランザクションを説明する情報を示す。また第2のサイトでは、第2のレコードが維持され、その第2のレコードは、第1のサイトで実行されたどのトランザクションが、それらのリドゥ情報を信頼性の高い記憶装置に第1のサイトで記録するかを識別する。
トランザクション)に関連付けられるリドゥ情報が確実に複製されることによって、高優先度のトランザクションより前にコミットした低優先度のトランザクション(トランザクションが発行されたサイトが作動できなくなると、トランザクションが失敗する可能性のあることを示す優先順位の値を有するトランザクション)に関連付けられるリドゥ情報もまた確実に複製される。
(双方向レプリケーション)
以下にさらに詳細に説明されるように、実施形態は、システム300の各サイトにおける、同時のローカルの読み取り動作およびローカルの書込動作をサポートする。書込動作は、同期的に、または、非同期的に、システム300の他の各サイトに複製されることができる。一実施形態において、別のサイトへの書込動作のレプリケーションを遅らせることによって、書込動作の性能を強化することができる。たとえば、高優先度のトランザクションがコミットする必要があるまで、あるいは、書込前の記録または書込後の記録が保存される必要のあるポイントまで、別のサイトへの書込動作のレプリケーションを遅らせることができる。書込動作を遅らせることにより、書込動作のレプリケーションを能率的にバッチ処理することが可能となる。
ォーラムデバイス360に書込動作がサイト312で首尾よく実行されなかったことを通知するステップ510が、データベースサーバ330によって実行されることができる。ステップ510のパフォーマンスの後、処理がステップ520へと進む。
書込動作の同期式レプリケーションによって、書込動作の呼び出し時間およびコストが上昇する。ほかの場所で開始しまだ複製されていない書込動作、および、まさに発行されようとしている書込動作を調整するのに注意を払わなければならないにもかかわらず、ファイルサーバは非同期式に書込動作を複製してもよい。非同期式レプリケーションを有利に用いる数多くの実施形態を以下に述べる。
情報は、トランザクションに関連付けられるのと考えられる。
どちらかの前に、ステップ720において生成される情報が持続的に記憶されているかどうかに関する決定がなされる。ステップ730は、サイト310のデータベースサーバ330によって実行されることができる。
非同期式レプリケーションによってデータベースファイルへの書込の実行を改良する実施形態をいくつか後述する。図8は、本発明の一実施形態による、複数のサイト間でデータをミラーリングするステップを示すフローチャートである。図8に示されるステップは、ライトアヘッドロギング方式を使用して、データベースファイルに書き込むのに使用されることができる。
ンザクションを複製する。ステップ810は、先頭レコードを維持しているサイト310のデータベースサーバ330によって実行されることができ、そのレコードは、サイト310でデータベース350に記憶された1つ以上のデータブロックになされたどの変更が、関連付けられたリドゥ情報をサイト312に複製したのかを識別する。複数のサイトのうち他のサイトに複製されるリドゥ情報を関連付ける1つ以上のデータブロックになされた変更は、各変更をリドゥログのログシーケンス番号(LSN)に割り当て、複製されたごく最新の変更のログシーケンス番号を記憶することによって、追跡されることができる。さらに、特定のデータブロックになされる最新の変更に関連付けられるLSNは、特定のデータブロックのヘッダに記憶される。ステップ810を実行した後、処理がステップ820へと進む。
先頭レコードが示した後である。特定のデータブロックになされた変更が複数のサイトの他のサイトに複製されたことを先頭レコードが示したあと、ついで、データブロックと関連付けられるロックが解除されることができる。詳しくは、共有ディスクにおいて、または、共有キャッシュクラスタデータベースにおいて、グローバルロック管理を使用してデータブロックに対する並列アクセスが調整されるが、データブロックに関連付けられるロックが解除されることができるのは、先頭レコードがデータブロックになされる変更に関連付けられるリドゥ情報が複数のサイトの他のサイトに複製されたことを示した後だけである。このことによって確実となるのは、データブロックになされた先の変更に関連付けられるあらゆる先のリドゥ情報がサイトの局所の信頼性の高い記憶装置に利用可能とならない限り、リモートサイトからデータブロックを受信するいかなるサイトも、データブロックを読み取り書き込んだりしないことである。
一実施形態において、データミラーリングシステム300の特定のサイトが実行できなくなると、ついで、特定のサイトからデータミラーリングシステム300の他の各サイトに伝送されたメッセージすべてがその相手先で受信されたことが決定された後に、特定のサイトのリカバリが開始される。たとえば、図3に表される実施形態において、サイト310が作動できなくなる場合、ついで、サイト310からサイト312まで伝送されたメッセージすべてがサイト312で受信されたことが決定された後までは、サイト310のリカバリは開始されない。あるいは、1つ以上の残存しているサイトが作動できないサイトのリカバリを開始したかまたは完了した後は、残存しているサイトは、作動できないサイトから伝送されたいかなるメッセージも無視することができる。
ソートやハッシュ結合等の特定のデータベース操作においては、データベースはテンポラリファイルを用いてもよい。テンポラリファイルは、限られた時間の間データを保持するために、メモ用紙のように用いられる。このテンポラリファイルの空き領域の割当てに関するメタデータの変更を複製する必要がある場合もある。しかしながら、テンポラリファイルが複数のサイトの他のサイトによって必要とされなければ、テンポラリファイルは複製される必要はない。
図10は、本発明の一実施形態が実行されることのできるコンピュータシステム1000を示すブロック図である。コンピュータシステム1000は、バス1002または情報を通信するための他の通信メカニズム、および、情報を処理するためのバス1002に結合されるプロセッサ1004を含む。コンピュータシステム1000はまた、ランダムアクセスメモリ(RAM)または他の動的記憶装置等のメインメモリ1006を含み、メインメモリはプロセッサ1004によって実行されるべき情報および指示を記憶するためのバス1002に結合される。プロセッサ1004によって実行されるべき指示を実行する間に、メインメモリ1006はまた、一時変数または他の中間の情報を記憶するために使用されることができる。コンピュータシステム1000は、バス1002に結合されプロセッサ1004のための静的情報および指示を記憶するための読み出し専用メモリ(ROM)1008または他の静的記憶装置をさらに含む。磁気ディスクまたは光ディスク等の記憶装置1010が設けられ、情報および指示を記憶するためのバス1002に結合され
る。
Network)カードまたはモデムであってもよい。別の実施例として、通信インタフェース1018は、データ通信を互換性のあるLANに接続するローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた実行されることができる。いずれの種類のインプリメンテーションにおいても、通信インタフェース1018は、さまざまな情報を示すデジタルデータストリームを伝える電気信号、電磁気信号、または光学信号を送受信する。
Claims (15)
- 複数のサイト間でデータをミラーリングするための方法であって、
第1のサイトおよび第2のサイトを含む前記複数のサイト間でレプリケーション関係を確立するステップと、
クォーラムデバイスとして特定のデバイスを確立するステップと、
前記複数のサイトのいずれかのサイトでなされる少なくともいくつかの変更を前記複数のサイトの他のサイトそれぞれに複製するステップと、
前記第1のサイトに関連付けられる第1のサーバが、書込動作の実行を要求するステップと、
前記要求に応じて、前記第1のサイトで前記書込動作を実行し、前記書込動作を前記第2のサイトでミラーリングすることを要求するメッセージを送信するステップと、
前記第1のサーバが、前記書込動作は前記第2のサイトで首尾よく実行されなかったという指示を受信するステップと、
前記指示に応じて、前記第1のサーバが、メンバーシップの投票動作を開始して、前記第1のサーバおよび前記第2のサイトに関連付けられる第2のサーバのうちのどちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップとを備え、
前記メンバーシップの投票動作を開始するステップは、
前記書込動作が首尾よく実行されなかったことを前記クォーラムデバイスに通知するステップと、
前記クォーラムデバイスが、前記第1のサーバおよび前記第2のサイトに関連付けられる前記第2のサーバのうちどちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップとを含み、
前記第2のサイトに関連付けられる前記第2のサーバが前記レプリケーション関係から取り除かれなければならないことが決定されると、前記第1のサーバが、書込動作が前記の第2のサイトでもはや複製されることになっていないことを示すメッセージを、前記第1のサイトに関連付けられるファイルサーバに送信するステップとを備え、前記ファイルサーバは、書込動作をローカルに実行可能であり、
前記第1のサーバおよび前記第2のサイトに関連付けられる前記第2のサーバのうちどちらが前記レプリケーション関係から取り除かれなければならないかを決定する前記ステップは、前記クォーラムデバイスによって行われるメンバーシップの投票動作の結果に基づいて、どちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップを含み、
前記方法は、
前記メンバーシップの投票動作の間に、前記第1のサイトが前記レプリケーションメンバーシップから取り除かれなければならないことが決定されると、データが前記第1のサイトでもはや複製されることになっていないことを前記第2のサイトに通知するステップをさらに備える、データをミラーリングするための方法。 - 前記第2のサイトが前記レプリケーション関係を再結合するステップと、
前記第2のサイトが前記レプリケーション関係を再結合することに応じて、前記第2のサイトに関連付けられるデータを前記第1のサイトに存在するデータに再同期化させるために前記第2のサイトに関連付けられるデータベースの内容を前記第1のサイトに関連付けられるデータベースの内容に更新するステップをさらに備える、請求項1に記載の方法。 - 通知する前記ステップは、前記第2のサイトに関連付けられるファイルサーバまたは前記第2のサーバに、データが前記第1のサイトでもはや複製されることになっていないことを前記第2のサイトで通知するステップを備える、請求項1に記載の方法。
- 前記書込動作が前記第2のサイトで首尾よく実行されなかったという指示は、前記第1のサイトで受信される入出力エラーである、請求項1に記載の方法。
- 前記複数のサイトのうち特定のサイトが作動できなくなると、前記特定のサイトから前記複数のサイトの他の各サイトに伝送されたメッセージすべてがそれらの相手先で受信されたことが確定したあとに、前記特定のサイトのリカバリを開始するステップをさらに備える、請求項1に記載の方法。
- 複数のサイト間でデータをミラーリングするためのプログラムを記憶する、機械読み取り可能な媒体であって、
前記プログラムは、1つ以上のプロセッサに、
前記第1のサイトおよび第2のサイトを含む複数のサイト間でレプリケーション関係を確立するステップと、
クォーラムデバイスとして特定のデバイスを確立するステップと、
前記複数のサイトのいずれかのサイトでなされる少なくともいくつかの変更を前記複数のサイトの他のサイトそれぞれに複製するステップと、
前記第1のサイトに関連付けられる第1のサーバが書込動作を実行することを要求するステップと、
前記要求に応じて、前記第1のサイトで前記書込動作を実行し、前記書込動作を前記第2のサイトでミラーリングすることを要求するメッセージを送信するステップと、
前記第1のサーバが、前記書込動作が前記第2のサイトで首尾よく実行されなかったという指示を受信するステップと、
前記指示に応じて、前記第1のサーバがメンバーシップの投票動作を開始して、前記第1のサーバおよび前記第2のサイトに関連付けられる第2のサーバのうちのどちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップとを実行させ、
前記メンバーシップの投票動作を開始するステップは、
前記書込動作が首尾よく実行されなかったことを前記クォーラムデバイスに通知するステップと、
前記クォーラムデバイスが、前記第1のサーバおよび前記第2のサイトに関連付けられる前記第2のサーバのうちどちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップとを含み、
前記第2のサイトに関連付けられる前記第2のサーバが前記レプリケーション関係から取り除かれなければならないことが決定されると、前記第1のサーバが、書込動作は前記の第2のサイトでもはや複製されることになっていないことを示すメッセージを、前記第1のサイトに関連付けられるファイルサーバに送信するステップを実行させ、前記ファイルサーバは、書込動作をローカルに実行可能であり、
前記第1のサーバおよび前記第2のサイトに関連付けられる前記第2のサーバのうちどちらが前記レプリケーション関係から取り除かれなければならないかを決定する前記ステップは、前記クォーラムデバイスによって行われるメンバーシップの投票動作の結果に基づいて、どちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップを含み、
前記プログラムは、前記1つ以上のプロセッサに、
前記メンバーシップの投票動作の間に、前記第1のサイトが前記レプリケーションメンバーシップから取り除かれなければならないことが決定されると、データが前記第1のサイトでもはや複製されることになっていないことを前記第2のサイトに通知するステップをさらに実行させる、機械読み取り可能な媒体。 - 前記プログラムは、前記1つ以上のプロセッサに、
前記第2のサイトが前記レプリケーション関係を再結合するステップと、
前記第2のサイトが前記レプリケーション関係を再結合することに応じて、前記第2のサイトに関連付けられるデータを前記第1のサイトに存在するデータに再同期化させるために前記第2のサイトに関連付けられるデータベースの内容を前記第1のサイトに関連付けられるデータベースの内容に更新するステップとをさらに実行させる、請求項6に記載の機械読み取り可能な媒体。 - 通知する前記ステップは、前記第2のサイトに関連付けられるファイルサーバまたは前記第2のサーバに、データが前記第1のサイトでもはや複製されることになっていないことを前記第2のサイトで通知するステップを備える、請求項6に記載の機械読み取り可能な媒体。
- 前記書込動作が前記第2のサイトで実行できなかったという指示は、前記第1のサイトで受信される入出力エラーである、請求項6に記載の機械読み取り可能な媒体。
- 前記1つ以上のプロセッサによる前記1つ以上の指示のシーケンスの実行は、前記1つ以上のプロセッサに、
前記複数のサイトのうち特定のサイトが作動できなくなると、前記特定のサイトから前記複数のサイトの他の各サイトまで伝送されたメッセージすべてがそれらの相手先で受信されたあとに、前記特定のサイトのリカバリを開始するステップをさらに実行させる、請求項6に記載の機械読み取り可能な媒体。 - 複数のサイト間でデータをミラーリングするためのプログラムであって、前記プログラムは、1つ以上のプロセッサに、
前記第1のサイトおよび第2のサイトを含む複数のサイト間でレプリケーション関係を確立するステップと、
クォーラムデバイスとして特定のデバイスを確立するステップと、
前記複数のサイトのいずれかのサイトでなされる少なくともいくつかの変更を前記複数のサイトの他のサイトそれぞれに複製するステップと、
前記第1のサイトに関連付けられる第1のサーバが書込動作を実行することを要求するステップと、
前記要求に応じて、前記第1のサイトで前記書込動作を実行し、前記書込動作を前記第2のサイトでミラーリングすることを要求するメッセージを送信するステップと、
前記第1のサーバが、前記書込動作が前記第2のサイトで首尾よく実行されなかったという指示を受信するステップと、
前記指示に応じて、前記第1のサーバがメンバーシップの投票動作を開始して、前記第1のサーバおよび前記第2のサイトに関連付けられる第2のサーバのうちのどちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップとを実行させ、
前記メンバーシップの投票動作を開始するステップは、
前記書込動作が首尾よく実行されなかったことを前記クォーラムデバイスに通知するステップと、
前記クォーラムデバイスが、前記第1のサーバおよび前記第2のサイトに関連付けられる前記第2のサーバのうちどちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップとを含み、
前記第2のサイトに関連付けられる前記第2のサーバが前記レプリケーション関係から取り除かれなければならないことが決定されると、前記第1のサーバが、書込動作は前記の第2のサイトでもはや複製されることになっていないことを示すメッセージを、前記第1のサイトに関連付けられるファイルサーバに送信するステップを実行させ、前記ファイルサーバは、書込動作をローカルに実行可能であり、
前記第1のサーバおよび前記第2のサイトに関連付けられる前記第2のサーバのうちどちらが前記レプリケーション関係から取り除かれなければならないかを決定する前記ステップは、前記クォーラムデバイスによって行われるメンバーシップの投票動作の結果に基づいて、どちらが前記レプリケーション関係から取り除かれなければならないかを決定するステップを含み、
前記プログラムは、前記1つ以上のプロセッサに、
前記メンバーシップの投票動作の間に、前記第1のサイトが前記レプリケーションメンバーシップから取り除かれなければならないことが決定されると、データが前記第1のサイトでもはや複製されることになっていないことを前記第2のサイトに通知するステップをさらに実行させる、プログラム。 - 前記プログラムは、前記1つ以上のプロセッサに、
前記第2のサイトが前記レプリケーション関係を再結合するステップと、
前記第2のサイトが前記レプリケーション関係を再結合することに応じて、前記第2のサイトに関連付けられるデータを前記第1のサイトに存在するデータに再同期化させるために前記第2のサイトに関連付けられるデータベースの内容を前記第1のサイトに関連付けられるデータベースの内容に更新するステップとをさらに実行させる、請求項11に記載のプログラム。 - 通知する前記ステップは、前記第2のサイトに関連付けられるファイルサーバまたは前記第2のサーバに、データが前記第1のサイトでもはや複製されることになっていないことを前記第2のサイトで通知するステップを含む、請求項11に記載のプログラム。
- 前記書込動作が前記第2のサイトで実行できなかったという指示は、前記第1のサイトで受信される入出力エラーである、請求項11に記載のプログラム。
- 前記プログラムは、前記1つ以上のプロセッサに、
前記複数のサイトのうち特定のサイトが作動できなくなると、前記特定のサイトから前記複数のサイトの他の各サイトまで伝送されたメッセージすべてがそれらの相手先で受信されたあとに、前記特定のサイトのリカバリを開始するステップをさらに実行させる、請求項11に記載のプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/760,013 US6859811B1 (en) | 2004-01-15 | 2004-01-15 | Cluster database with remote data mirroring |
PCT/US2005/001056 WO2005071575A2 (en) | 2004-01-15 | 2005-01-12 | Cluster database with remote data mirroring |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007518195A JP2007518195A (ja) | 2007-07-05 |
JP4461147B2 true JP4461147B2 (ja) | 2010-05-12 |
Family
ID=34136916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006549582A Active JP4461147B2 (ja) | 2004-01-15 | 2005-01-12 | リモートデータミラーリングを用いたクラスタデータベース |
Country Status (9)
Country | Link |
---|---|
US (1) | US6859811B1 (ja) |
EP (1) | EP1704480B1 (ja) |
JP (1) | JP4461147B2 (ja) |
CN (1) | CN100388225C (ja) |
AU (1) | AU2005207572B2 (ja) |
CA (1) | CA2550614C (ja) |
DE (1) | DE602005002532T2 (ja) |
HK (1) | HK1090711A1 (ja) |
WO (1) | WO2005071575A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4575762B2 (ja) * | 2004-06-03 | 2010-11-04 | 株式会社日立製作所 | データ処理方法および装置並びにストレージ装置およびその処理プログラム |
US7194486B2 (en) * | 2004-06-03 | 2007-03-20 | Hitachi, Ltd. | Method and system for data processing with data replication for the same |
US7827141B2 (en) * | 2005-03-10 | 2010-11-02 | Oracle International Corporation | Dynamically sizing buffers to optimal size in network layers when supporting data transfers related to database applications |
US7689607B2 (en) * | 2005-04-15 | 2010-03-30 | Microsoft Corporation | Database page mirroring |
US7644305B2 (en) | 2006-05-18 | 2010-01-05 | Microsoft Corporation | Quorum establishment based on a vote from a voting device |
US8041985B2 (en) * | 2006-08-11 | 2011-10-18 | Chicago Mercantile Exchange, Inc. | Match server for a financial exchange having fault tolerant operation |
US8156082B2 (en) * | 2006-10-06 | 2012-04-10 | Sybase, Inc. | System and methods for temporary data management in shared disk cluster |
US20080243782A1 (en) * | 2007-03-28 | 2008-10-02 | Microsoft Corporation | Client collection membership evaluation |
US8818960B2 (en) | 2011-03-18 | 2014-08-26 | Microsoft Corporation | Tracking redo completion at a page level |
US9953305B2 (en) * | 2012-10-22 | 2018-04-24 | Oonetic | Online payment system and method according to the mirror authorization server principle |
US9588855B2 (en) * | 2015-04-22 | 2017-03-07 | PernixData, Inc. | Management and utilization of fault domains in distributed cache systems |
CN105426275B (zh) * | 2015-10-30 | 2019-04-19 | 成都华为技术有限公司 | 双活集群系统中容灾的方法及装置 |
US10387273B2 (en) * | 2016-09-16 | 2019-08-20 | Oracle International Corporation | Hierarchical fault tolerance in system storage |
US10416905B2 (en) * | 2017-02-09 | 2019-09-17 | Hewlett Packard Enterprise Development Lp | Modifying membership of replication groups via journal operations |
CN110019091A (zh) * | 2017-12-03 | 2019-07-16 | 中国直升机设计研究所 | 一种异地数据协同系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917998A (en) * | 1996-07-26 | 1999-06-29 | International Business Machines Corporation | Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write input/output without logging |
US6144999A (en) * | 1998-05-29 | 2000-11-07 | Sun Microsystems, Incorporated | Method and apparatus for file system disaster recovery |
US6163856A (en) * | 1998-05-29 | 2000-12-19 | Sun Microsystems, Inc. | Method and apparatus for file system disaster recovery |
US6643795B1 (en) * | 2000-03-30 | 2003-11-04 | Hewlett-Packard Development Company, L.P. | Controller-based bi-directional remote copy system with storage site failover capability |
US6505307B1 (en) * | 2000-09-06 | 2003-01-07 | Unisys Corporation | Method and apparatus for ensuring data integrity |
US6785678B2 (en) * | 2000-12-21 | 2004-08-31 | Emc Corporation | Method of improving the availability of a computer clustering system through the use of a network medium link state function |
US7016946B2 (en) * | 2001-07-05 | 2006-03-21 | Sun Microsystems, Inc. | Method and system for establishing a quorum for a geographically distributed cluster of computers |
US7421509B2 (en) * | 2001-09-28 | 2008-09-02 | Emc Corporation | Enforcing quality of service in a storage network |
US6757790B2 (en) * | 2002-02-19 | 2004-06-29 | Emc Corporation | Distributed, scalable data storage facility with cache memory |
US6880052B2 (en) * | 2002-03-26 | 2005-04-12 | Hewlett-Packard Development Company, Lp | Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes |
US7542986B2 (en) * | 2002-03-26 | 2009-06-02 | Hewlett-Packard Development Company, L.P. | System and method for maintaining order for a replicated multi-unit I/O stream |
-
2004
- 2004-01-15 US US10/760,013 patent/US6859811B1/en not_active Expired - Lifetime
-
2005
- 2005-01-12 CN CNB2005800022809A patent/CN100388225C/zh active Active
- 2005-01-12 AU AU2005207572A patent/AU2005207572B2/en active Active
- 2005-01-12 JP JP2006549582A patent/JP4461147B2/ja active Active
- 2005-01-12 CA CA2550614A patent/CA2550614C/en active Active
- 2005-01-12 DE DE602005002532T patent/DE602005002532T2/de active Active
- 2005-01-12 EP EP05705624A patent/EP1704480B1/en active Active
- 2005-01-12 WO PCT/US2005/001056 patent/WO2005071575A2/en active IP Right Grant
-
2006
- 2006-10-12 HK HK06111231A patent/HK1090711A1/xx unknown
Also Published As
Publication number | Publication date |
---|---|
WO2005071575A2 (en) | 2005-08-04 |
WO2005071575A3 (en) | 2006-01-12 |
AU2005207572B2 (en) | 2008-03-13 |
US6859811B1 (en) | 2005-02-22 |
CA2550614C (en) | 2011-01-04 |
DE602005002532D1 (de) | 2007-10-31 |
CN100388225C (zh) | 2008-05-14 |
DE602005002532T2 (de) | 2008-06-19 |
EP1704480B1 (en) | 2007-09-19 |
AU2005207572A1 (en) | 2005-08-04 |
CA2550614A1 (en) | 2005-08-04 |
HK1090711A1 (en) | 2006-12-29 |
EP1704480A2 (en) | 2006-09-27 |
CN1910556A (zh) | 2007-02-07 |
JP2007518195A (ja) | 2007-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4461147B2 (ja) | リモートデータミラーリングを用いたクラスタデータベース | |
JP5559821B2 (ja) | データを記憶する方法、データをミラーリングする方法、命令シーケンスを担持する機械読み取り可能な媒体、および、当該方法をコンピュータに実行させるためのプログラム | |
US8027952B2 (en) | System and article of manufacture for mirroring data at storage locations | |
US6904503B2 (en) | Storage system making possible data synchronization confirmation at time of asynchronous remote copy | |
US7693882B2 (en) | Replicating data across the nodes in a cluster environment | |
US7600087B2 (en) | Distributed remote copy system | |
US20060182050A1 (en) | Storage replication system with data tracking | |
US20050193248A1 (en) | Computer system for recovering data based on priority of the data | |
US8626722B2 (en) | Consolidating session information for a cluster of sessions in a coupled session environment | |
JP2006023889A (ja) | リモートコピーシステム及び記憶装置システム | |
US7107355B2 (en) | High availability lightweight directory access protocol service | |
JP5292351B2 (ja) | メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム | |
CN115858236A (zh) | 一种数据备份方法和数据库集群 | |
JP5292350B2 (ja) | メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム | |
WO2024051027A1 (zh) | 一种大数据的数据配置方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090908 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091208 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100126 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4461147 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140219 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |