JP2009505281A - データベースフラグメントのクローン化および管理 - Google Patents
データベースフラグメントのクローン化および管理 Download PDFInfo
- Publication number
- JP2009505281A JP2009505281A JP2008526946A JP2008526946A JP2009505281A JP 2009505281 A JP2009505281 A JP 2009505281A JP 2008526946 A JP2008526946 A JP 2008526946A JP 2008526946 A JP2008526946 A JP 2008526946A JP 2009505281 A JP2009505281 A JP 2009505281A
- Authority
- JP
- Japan
- Prior art keywords
- fragment
- clone
- primary
- update
- fragments
- 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.)
- Granted
Links
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/2097—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 maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
クローンフラグメントを、データベース内の通常のテーブルまたはインデックス行セットから区別不能なように生成することができる。
ちょうどデータベース内の行セットのようにクローンを削除することができる。
クローンフラグメントを完全に初期化し、クローンフラグメントにロードした新規の行セットを最初から含めることができる。
プライマリクローンフラグメントへの変更を1つまたは複数のセカンダリクローンフラグメントに伝達する。伝達は、プライマリクローンフラグメントへの更新と同じトランザクションコンテクスト内で行う。
クローンフラグメントがオフラインであるかまたはプライマリクローンフラグメントから更新のトランザクション伝達を受け取っていないとき、そのクローンフラグメントは陳腐化のクローンフラグメントであると定義する。陳腐化のクローンフラグメントを無効フラグメントクローンと記述することもできる。陳腐化クローンをプライマリフラグメントクローンとトランザクション的に一貫するように戻すプロセスはリフレッシュと呼ばれる。
ちょうど通常のテーブルまたはインデックスを読み出し、アクセスするように、クローンフラグメントをデータ抽出(テーブルアクセス)の目的で読み出すことができ、または参照(インデックスアクセス)するために読み出すことができる。本実施において、プライマリクローンフラグメントから読み出すことだけがユーザの作業負荷である。本制限を、システムにおける不必要なデッドロックを回避するためのメカニズムを簡略化する目的で使用することができる。しかしながら、デッドロックが問題ではないかまたは所与のシステムにおける他の手段を通して回避されるかのいずれかである場合、本制限を緩和することができる。
ユーザの作業負荷はプライマリクローンフラグメントを更新することであり、データベースシステムがこれらの変更を、同一トランザクション内のプライマリフラグメントに対応するセカンダリクローンに伝達および適用する。変更を伝達することは、プライマリクローンに適用した実質的には同一のDML操作をセカンダリクローンに適用することを意味する。
CUID値が最大値から最小値に巻き込む点に達する時点で、様々な技術を使用してCUID値を一貫した最小値にリセットすることができる。CUID値のバイト範囲(例えば、6バイト)が与えられると、この場合が時系列で生じる可能性がある。CUID値をリセットするための1つの単純な技術はテーブル上で排他的ロックを行い、そのテーブルのプライマリクローンフラグメントにおける全レコードのCUID値を最小のCUID値にリセットすることである。次いで、通常の更新伝達メカニズムがセカンダリクローンフラグメント内のCUID値を効率的にリセットする。
陳腐化のセカンダリクローンフラグメントがオフラインである間、プライマリ行は変化しない。または、リフレッシュプロセスが既に、陳腐化のセカンダリクローンフラグメント内の行を対応するプライマリ行と一貫するように更新している。セカンダリクローンフラグメント内の一貫した行は、同一のCRID値およびCUID値を有するプライマリクローンフラグメント内の行に対応する。
陳腐化のセカンダリクローンフラグメントがオフラインである間にプライマリ行が更新される。陳腐化のセカンダリクローンフラグメント内の矛盾した行は、同一のCRID値と異なるCUID値とを有するプライマリクローンフラグメント内の行に対応する。
陳腐化のセカンダリクローンフラグメントがオフラインである間に新しいプライマリ行が生成される。陳腐化のセカンダリクローンフラグメント内の紛失行は、同じCRID値を有する対応行が陳腐化のセカンダリクローンフラグメント内に存在しないようなCRID値を有するプライマリ行が存在する場合を示す。
陳腐化のセカンダリクローンフラグメントがオフラインである間にプライマリ行が削除される。陳腐化のセカンダリクローンフラグメント内のエキストラ行は、同じCRID値を有する対応行がプライマリローンフラグメント内に存在しないようなCRID値を有する行が陳腐化のセカンダリクローンフラグメント内に存在する場合を示す。
0.陳腐化クローンのオンライン化 1150:
ブロック1102で、陳腐化クローンをクローンリフレッシュの対象とするとき(例えば、オフラインであった後に陳腐化クローンがシステムに対してアクセス可能となるとき)、陳腐化クローンをリフレッシュ前状態に置く。次に、ブロック1104で、クローンフラグメントがリフレッシュ前状態にある間にプリパス最適化を実行することができる。上記最適化を、残りのリフレッシュプロセス1100の性能を最適化するように設計する。
ブロック1106で、陳腐化のクローンフラグメントをリフレッシュ中状態にあるとしてマークを付ける。次いでブロック1108で、プライマリクローンフラグメントから陳腐化のクローンフラグメントへの更新の伝達が可能となる。更新の伝達を陳腐化のクローンフラグメントに選択的に適用することができる。例えば、更新の伝達を、既にリフレッシュしたレコードまたはリフレッシュが不必要と判定できるレコードに対してのみ実施する。すなわち、更新の伝達を、所与のCRID値に対するCUID値がプライマリクローンフラグメント内の対応レコードのものとマッチするレコードに対してのみ適用する。別の実施例において、全体の行の値を更新により伝達する場合、クローンフラグメントをリフレッシュしている間に更新を陳腐化のクローンフラグメントの任意のレコードに伝達および適用することができる。
次のブロック1110で、リフレッシュプロセス1100は、プライマリクローンフラグメント上の全てのアクティブなDMLステートメントが更新を陳腐化のクローンフラグメントに伝達開始するまで待機する(または、プライマリに対する全ての後続のDMLが一貫して陳腐化のクローンフラグメントに伝達されることを保証する等価なメカニズムを使用する)。リフレッシュ中状態にある陳腐化のクローンフラグメントを含む全てのオンラインなクローンフラグメントに更新が伝達されることを任意の新規に起動したDMLステートメントは保証されるので、全ての現在実行中のDMLステートメントが完了することを待機することでブロック1110を実現することができる。
ブロック1112で、コミット済み読み込みモードでStaleCloneCRIDs一時テーブルを生成および初期化する。StaleCloneCRIDsは陳腐化のクローンフラグメント内の最新でない行(矛盾行、紛失行およびエキストラ行)の全てを網羅することを保証されるが、コミット済み読み込み隔離モードで実行されるため、StaleCloneCRIDsは実際には一貫しているCRIDsの行を含むことがありうる。StaleCloneCRIDs一時テーブルを埋める1つの実施において、プライマリおよび陳腐化のクローンフラグメントの対応クローンレコード識別子(crid)列の上でSQL外部結合操作を使用することができる。この場合、対応するクローン更新識別子(cuid)列の値はマッチしないかまたはヌルである。以下の擬似コードは上記の外部結合の1つの例を与える。本例では、Batch_Id列をStaleCloneCRIDsテーブルに追加して、所与のサイズのリフレッシュバッチを生成するために使用しうる基盤の例を与えることに留意されたい。
SELECT
(case when (p.crid is not null) then p.crid else c.crid end) as crid,
IDENTITY(int, 1, 1) AS Batch_Id
Into
StaleCloneCRIDs
FROM
(select crid, cuid from primary_fragment_clone) as p
FULL OUTER JOIN
(select crid, cuid from stale_fragment_clone) as c
ON (p.crid = c.crid)
Where
p.cuid <> c.cuid OR
(p.crid is null) OR
(c.crid is null)
図17は陳腐化クローンをカレントにするプロセスの例1170を示す。プロセス1170は図11に示すリフレッシュプロセスの例1100の一部である。
a.ブロック1112で、新規トランザクションを反復読み取りモードで開始する。
b.ブロック1124で、読取りロックをBatchOfStaleCRIDsにより識別されるプライマリクローンフラグメント内の行に設定する。本ステップは機能的には必要でないが、更新の伝達による潜在的デッドロックを回避する目的に対しては重要である。
c.ブロック1126で、BatchOfStaleCRIDs内のCRIDsにより識別される陳腐化のクローンフラグメント内の行を削除する。以下の擬似コードは、旧式の行を陳腐化のクローンフラグメントから削除する1つの実施例を示す。実際の@start_Idおよび@end_Idの値は(ブロック1114またはブロック1132での)カレント化プロセス1170において前に設定したものである。
delete from stale_fragment_clone
where exists (select * from StaleCloneCRIDs as s
where stale_fragment_clone.crid = s.crid and
(s.Batch_Id between @start_Id and @end_Id))
d.ブロック1128で、BatchOfStaleCRIDsにより識別される行がプライマリクローンから陳腐化クローンに挿入される。新規行をプライマリフラグメントから陳腐化のクローンフラグメントに挿入する1つの実施例の擬似コードの記述例は以下の通りである。実際の@start_Idおよび@end_Idの値は(ブロック1114またはブロック1132での)カレント化プロセス1170において前に設定したものである。
insert into stale_fragment_clone
select * from primary_fragment_clone as p
where exists
(select * from StaleCloneCRIDs as s
Where p.crid = s.crid and
(s.Batch_Id between @start_Id and @end_Id))
e.ブロック1130で、トランザクションをコミットする。
f.ブロック1132で、StaleCloneCRIDs一時テーブルからのCRIDsの次のバッチを次のBatchOfStaleCRIDsとして識別する。@start_Idおよび@end_Idに使用される実際の値はそれぞれ、所望のBatchSizeの値だけ増加する。
g.リフレッシュプロセス1100は次いでブロック1116に戻る。
BatchOfStaleCRIDsの処理中にエラーが発生する場合、トランザクションを中断し、リフレッシュプロセス1100は終了する。
リフレッシュプロセス1100が無事に完了しない場合、陳腐化のクローンフラグメントはリフレッシュ前状態に移動する(または、陳腐化のクローンフラグメントへのアクセスが完全に失われた場合は、オフライン状態に戻る)。
クローンリフレッシュ技術を実行する前に、(図11のプロセス1100で説明した)完全にコミット済み読み込みモードで同じリフレッシュ技術を実行することができる(例えば、リフレッシュ前ステップ中に実行されると、プロセス1100のブロック1122はコミット済み読み込みモードでトランザクションを開始する)。多数の並列更新がない場合、このプリパスによりクローンフラグメント内の大多数の行を除去する。その際、少数の矛盾が残り、もう少し多くの矛盾が導入される可能性がある。プリパスを行った後に、反復読み取り可能モードでの厳密なリフレッシュ段階(図17のプロセス1170)がより高速に動作することがその狙いである。(バッチが少ないので)全体の短い期間に対しロックされる行は殆ど無く、したがってシステムにおける並行性が向上する。
セカンダリクローンフラグメントに対する更新の伝達がシステム上の理由で失敗するとき、そのクローンフラグメントをオフラインとしてマーク付けする。進行中トランザクションの影響をプライマリクローンフラグメントの行に直接保存する。以前のトランザクションの影響を保存する目的に対し、保留中作業の待ち行列を追加する必要はない。エラー処理の便宜上、更新が伝達されていたステートメントをロールバックすることができる。しかしながら、故障したセカンダリクローンフラグメントに対する更新の伝達の失敗がステートメントの実行に対してその他の副作用を及ぼさない場合は、これは必要ではない。そのステートメントに対する更新はプライマリクローンフラグメントに対して既に適用され、プライマリクローンフラグメントに既に保存されているであろう。
プライマリクローンフラグメントに障害が発生するとき、新規のプライマリとして即座に指定可能なオンラインの一貫したセカンダリクローンフラグメントがある場合、そのクローンフラグメントにアクセスするユーザトランザクションを中断する必要はない。しかしながら、障害が発生したプライマリクローンフラグメントに現在アクセスする任意のステートメントはロールバックされるであろう。
セカンダリクローンフラグメントにおけるレコードに対するクローンリフレッシュ更新がシステム上の理由で失敗する場合、クローンリフレッシュパスは最初から再開することができ、現在アクティブなカレント化バッチを再試行するかまたはStaleCloneCRIDsのカレント化処理全体を繰り返すことができる。
Claims (28)
- データベースオブジェクトに関連付けたプライマリクローンフラグメントであって、前記データベースオブジェクトに関連付けたデータベース操作に関して選択されたプライマリクローンフラグメントを識別するステップと、
前記プライマリクローンフラグメントに対応するセカンダリクローンフラグメントであって、前記プライマリクローンフラグメントに関して陳腐であるセカンダリクローンフラグメントを識別するステップと、
データベース操作を実行することで、陳腐化の前記セカンダリクローンフラグメントを前記プライマリクローンフラグメント内のデータでリフレッシュするステップと
を実行するための装置実行可能な命令を有することを特徴とする1つまたは複数の装置読取可能媒体。 - 前記陳腐化のセカンダリクローンフラグメントをリフレッシュするためのデータベース操作は、前記陳腐化のセカンダリクローンフラグメントをインクリメンタルにリフレッシュするバッチ操作を含むことを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。
- 前記陳腐化のセカンダリクローンフラグメントをリフレッシュするバッチ操作は、構造化問合せ言語(SQL)の操作であることを特徴とする請求項2に記載の1つまたは複数の装置読取可能媒体。
- さらに、前記プライマリクローンフラグメントについて実行する更新に応じて、前記陳腐化のセカンダリクローンフラグメントをリフレッシュしている間に前記陳腐化のセカンダリクローンフラグメントを更新することを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。
- 前記更新するステップでは、さらに、前記陳腐化のセカンダリクローンフラグメントの最新行を更新するが前記陳腐化のセカンダリクローンフラグメントの最新でない行は更新しないことを特徴とする請求項4に記載の1つまたは複数の装置読取可能媒体。
- 前記リフレッシュするステップでは、
前記プライマリクローンフラグメントに含まれる第1のレコードに関連付けた第1の更新識別子を識別し、
前記陳腐化のセカンダリクローンフラグメント内の、前記第1のレコードに対応する第2のレコードに関連付けた第2の更新識別子を識別し、および
同一のクローンレコード識別子を有する前記第1のレコードおよび第2のレコードが矛盾がないか否かを、少なくとも部分的に、前記第1の更新識別子と前記第2の更新識別子とを比較することに基づいて判定する
ことを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。 - 前記第1および第2のレコードが矛盾していると判定される場合、前記リフレッシュするステップでは、さらに、
前記第2のレコードを前記第1のレコード内のデータでリフレッシュし、および
前記第1の更新識別子の値を前記第2の更新識別子に割り当てる
ことを特徴とする請求項6に記載の1つまたは複数の装置読取可能媒体。 - 前記セカンダリクローンフラグメント内に含まれるレコードの各々について判定、リフレッシュ、および割り当てのステップを実行することを特徴とする請求項7に記載の1つまたは複数の装置読取可能媒体。
- 前記リフレッシュスするテップでは、コミット済み読み込みモードでプレリフレッシュの動作を前記セカンダリクローンフラグメントについてで実行することを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。
- 前記プレリフレッシュの動作は、前記プライマリクローンフラグメントに対応する他のセカンダリクローンフラグメントについて並列に実行されることを特徴とする請求項9に記載の1つまたは複数の装置読取可能媒体。
- 前記陳腐化のセカンダリクローンフラグメントが更新中にオフラインになることに応じて、更新を前記プライマリクローンフラグメントに保存するステップ、および
前記陳腐化のセカンダリクローンフラグメントがオンラインに戻るとき、前記陳腐化のセカンダリクローンフラグメントを前記の保存した更新でリフレッシュするステップ
をさらに実行することを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。 - 前記セカンダリクローンフラグメントをリフレッシュする前記データベース操作は、前記セカンダリクローン内のレコードを挿入、削除および更新するデータ操作言語(DML)の操作を含むことを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。
- 前記プライマリクローンフラグメントは、クローンデータフラグメントまたはクローンインデックスフラグメントのうち少なくとも1つであることを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。
- 前記陳腐化のセカンダリクローンフラグメントはクローンインデックスフラグメントであり、前記陳腐化のセカンダリクローンフラグメントを複数のクローンデータフラグメントによりリフレッシュし、それぞれは前記陳腐化のセカンダリクローンフラグメント内の少なくとも1つのエントリと関連付けたことを特徴とする請求項1に記載の1つまたは複数の装置読取可能媒体。
- データベースオブジェクトのフラグメントを識別するステップ、
対応するクローンフラグメントを前記の識別したフラグメントから生成するステップ、
前記クローンフラグメントをコンピューティング装置のグループに分散するステップ、および
前記クローンフラグメントの少なくとも1つを、前記データベースオブジェクトに関連付けた操作に対して使用するよう構成したプライマリクローンフラグメントとして指定するステップを
を実行するための装置実行可能命令を有することを特徴とする1つまたは複数の装置読取可能媒体。 - 前記データベースオブジェクトの識別したフラグメントに対する更新を判定するステップ、
前記プライマリクローンフラグメントに対する前記更新を実行するステップ、および
前記更新を他の対応するセカンダリクローンフラグメントに伝達および適用するステップ
をさらに実行することを特徴とする請求項15に記載の1つまたは複数の装置読取可能媒体。 - 前記セカンダリクローンフラグメントの1つを、前記更新を含まない陳腐化のセカンダリクローンフラグメントとして識別するステップ、および
前記の特定した陳腐化のセカンダリクローンフラグメントを、前記プライマリクローンフラグメント内のデータでリフレッシュするステップ
をさらに実行することを特徴とする請求項16に記載の1つまたは複数の装置読取可能媒体。 - 前記リフレッシュステップを標準的なSQLデータベース操作を用いて実行することを特徴とする請求項17に記載の1つまたは複数の装置読取可能媒体。
- 前記の識別したフラグメントに対する別の更新を判定するステップ、
前記の他の更新を前記プライマリクローンフラグメント上で実行するステップ、および
前記の他の更新の前に前記陳腐化のセカンダリクローンフラグメント内のレコードが前記プライマリクローンフラグメントの対応するレコードに対して最新であった場合に限り、前記の他の更新を前記陳腐化のクローンフラグメント上で選択的に実行するステップ、
をさらに実行することを特徴とする請求項17に記載の1つまたは複数の装置読取可能媒体。 - 前記の選択的に実行するステップでは、リフレッシュした前記陳腐化のクローンフラグメントの一部分で前記の他の更新を実行することを特徴とする請求項19に記載の1つまたは複数の装置読取可能媒体。
- さらに、前記陳腐化のクローンフラグメントがリフレッシュされたと判定することに応じて、前記リフレッシュクローンフラグメントをプライマリクローンフラグメントである資格を有するとして即座に指定するステップを実行することを特徴とする請求項20に記載の1つまたは複数の装置読取可能媒体。
- 前記リフレッシュするステップを、少数のレコードを短期間ロックしかつ他のユーザの作業負荷と並行に実行する作業負荷として実行することを特徴とする請求項17に記載の1つまたは複数の装置読取可能媒体。
- 前記リフレッシュステップを、複数の陳腐化のセカンダリクローンフラグメント上で並列に実行することを特徴とする請求項17に記載の1つまたは複数の装置読取可能媒体。
- 前記複数の陳腐化のセカンダリクローンフラグメントは、共通プライマリクローンフラグメント、別のプライマリクローンフラグメント、または別のデータベースオブジェクトのうち少なくとも1つに対応することを特徴とする請求項17に記載の1つまたは複数の装置読取可能媒体。
- 前記クローンフラグメントを、データベース操作に対して十分に同一なように生成することを特徴とする請求項15に記載の1つまたは複数の装置読取可能媒体。
- 相互作用コンピューティング装置システムにおけるコンピューティング装置であって、前記コンピューティング装置はデータベースオブジェクトと関連付けたデータを含み、前記コンピューティング装置を
前記データベースオブジェクトの一部分を更新用に識別するステップ、
前記の特定したデータベースオブジェクト部分に関連付けたプライマリクローンフラグメントを第1のデータベース操作を用いて更新するステップ、
前記プライマリクローンフラグメントに関連付けたセカンダリクローンフラグメントを特定するステップ、および
前記セカンダリクローンフラグメントを、少なくとも部分的に前記プライマリクローンフラグメントに含まれるデータに基づいて、前記第1のデータベース操作に関連付けた第2のデータベース操作を用いて更新するステップ
を実行するよう構成したことを特徴とするコンピューティング装置。 - 前記セカンダリクローンフラグメントは前記プライマリクローンフラグメントと比べて陳腐化していることを判定するステップ、
前記プライマリクローンフラグメント内のデータを用いて前記セカンダリクローンフラグメントをリフレッシュするステップ、および
前記セカンダリクローンフラグメントがリフレッシュされているときに、前記セカンダリクローンフラグメントを選択的に更新するステップ
を実行するよう前記コンピューティング装置をさらに構成したことを特徴とする請求項26に記載のコンピューティング装置。 - データベースオブジェクトに関連付けた、プライマリおよびセカンダリクローンフラグメントを含むクローンフラグメントを監視するステップ、
前記クローンフラグメントの少なくとも1つが利用不能になったことを判定するステップ、
前記データベースオブジェクトに関連付けた更新識別子を増加させるステップ、
トランザクション的に前記更新識別子を存続させるステップ、
前記データベースオブジェクトに関連付けた、前記データベースオブジェクトに対する更新を含むDMLステートメントを識別するステップ、
前記の存続させた更新識別子を前記DMLステートメントと関連付けるステップ、
前記DMLステートメントにより影響を受けた前記プライマリクローンフラグメント上で前記更新を実行するステップ、
前記DMLステートメントに関連付けた更新識別子を、前記更新により影響を受けた前記プライマリクローンフラグメント内の各行に記憶するステップ、
前記更新および前記更新識別子を、前記の影響を受けたプライマリクローンフラグメントに関連付けた前記セカンダリクローンフラグメントに伝達するステップ、および
前記セカンダリクローンフラグメント上に前記更新識別子を記憶するステップ
を実行することを特徴とする装置実行可能な方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/207,482 | 2005-08-19 | ||
US11/207,482 US7890508B2 (en) | 2005-08-19 | 2005-08-19 | Database fragment cloning and management |
PCT/US2006/028346 WO2007024376A2 (en) | 2005-08-19 | 2006-07-20 | Database fragment cloning and management |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009505281A true JP2009505281A (ja) | 2009-02-05 |
JP5259404B2 JP5259404B2 (ja) | 2013-08-07 |
Family
ID=37768395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008526946A Expired - Fee Related JP5259404B2 (ja) | 2005-08-19 | 2006-07-20 | データベースフラグメントのクローン化および管理 |
Country Status (15)
Country | Link |
---|---|
US (1) | US7890508B2 (ja) |
EP (1) | EP1915668B1 (ja) |
JP (1) | JP5259404B2 (ja) |
KR (1) | KR20080055795A (ja) |
CN (1) | CN101268439B (ja) |
AU (1) | AU2006284498B2 (ja) |
BR (1) | BRPI0615028A2 (ja) |
CA (1) | CA2615421A1 (ja) |
IL (1) | IL188664A (ja) |
MX (1) | MX2008002168A (ja) |
NO (1) | NO20080234L (ja) |
NZ (2) | NZ593162A (ja) |
RU (1) | RU2417426C2 (ja) |
WO (1) | WO2007024376A2 (ja) |
ZA (1) | ZA200800962B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191690B2 (en) | 2014-03-20 | 2019-01-29 | Nec Corporation | Storage system, control device, memory device, data access method, and program recording medium |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5068062B2 (ja) * | 2006-10-30 | 2012-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースを統合するためのシステム、方法、およびプログラム |
US20080313136A1 (en) * | 2007-06-13 | 2008-12-18 | International Business Machines Corporation | Method and apparatus for producing up-to-date query results from tables including data from a data warehouse |
US20100057787A1 (en) * | 2008-08-28 | 2010-03-04 | International Business Machines Corporation | Method, system, and computer program product for cloning of distributed and stateful systems |
US8131700B2 (en) * | 2008-09-25 | 2012-03-06 | Microsoft Corporation | Transitioning clone data maps and synchronizing with a data query |
US20100082551A1 (en) * | 2008-09-26 | 2010-04-01 | Microsoft Corporation | Data placement transparency for high availability and load balancing |
WO2010037065A2 (en) | 2008-09-26 | 2010-04-01 | Cmi Corporate Marketing D/B/A Prelude Innovations, Inc. | Scalable relational database replication |
US20100082546A1 (en) * | 2008-09-30 | 2010-04-01 | Microsoft Corporation | Storage Tiers for Database Server System |
US8990161B1 (en) * | 2008-09-30 | 2015-03-24 | Emc Corporation | System and method for single segment backup |
JP5387015B2 (ja) * | 2009-02-02 | 2014-01-15 | 株式会社リコー | 情報処理装置、および情報処理装置の情報処理方法 |
US20100306591A1 (en) * | 2009-06-01 | 2010-12-02 | Murali Mallela Krishna | Method and system for performing testing on a database system |
US8938445B2 (en) | 2010-03-05 | 2015-01-20 | Hewlett-Packard Development Company, L.P. | System and method for rowset inserts |
RU2016122623A (ru) * | 2010-03-18 | 2018-11-29 | НУОДиБи ИНК. | Система управления базой данных |
JP2012079100A (ja) * | 2010-10-01 | 2012-04-19 | Canon Inc | ディスク制御装置及びディスク制御方法、並びにプログラム |
US8832028B2 (en) | 2011-08-25 | 2014-09-09 | Oracle International Corporation | Database cloning |
WO2013083183A1 (en) * | 2011-12-06 | 2013-06-13 | Huawei Technologies Co., Ltd. | Database with aging mechanism and method for managing a database |
US9805107B2 (en) * | 2011-12-09 | 2017-10-31 | Telduráðgevin Sp/f | Systems and methods for dynamic partitioning in a relational database |
US8620924B2 (en) | 2012-03-06 | 2013-12-31 | International Business Machines Corporation | Refreshing a full-text search index in a partitioned database |
US10740323B1 (en) | 2013-03-15 | 2020-08-11 | Nuodb, Inc. | Global uniqueness checking in distributed databases |
US11176111B2 (en) | 2013-03-15 | 2021-11-16 | Nuodb, Inc. | Distributed database management system with dynamically split B-tree indexes |
US9501363B1 (en) | 2013-03-15 | 2016-11-22 | Nuodb, Inc. | Distributed database management system with node failure detection |
US10037348B2 (en) | 2013-04-08 | 2018-07-31 | Nuodb, Inc. | Database management system with database hibernation and bursting |
US10025673B1 (en) | 2013-09-20 | 2018-07-17 | Amazon Technologies, Inc. | Restoring partitioned database tables from backup |
US9633051B1 (en) | 2013-09-20 | 2017-04-25 | Amazon Technologies, Inc. | Backup of partitioned database tables |
US9632878B1 (en) | 2013-09-20 | 2017-04-25 | Amazon Technologies, Inc. | Verification of database table partitions during backup |
US10025710B2 (en) | 2014-04-30 | 2018-07-17 | Walmart Apollo, Llc | Pattern for integrating primary and secondary data stores in a sharded data domain |
GB2532039B (en) | 2014-11-06 | 2016-09-21 | Ibm | Secure database backup and recovery |
CA3040488C (en) | 2015-01-23 | 2021-11-02 | Servicenow, Inc. | Distributed computing system with resource managed database cloning |
US10884869B2 (en) | 2015-04-16 | 2021-01-05 | Nuodb, Inc. | Backup and restore in a distributed database utilizing consistent database snapshots |
US10180954B2 (en) | 2015-05-29 | 2019-01-15 | Nuodb, Inc. | Disconnected operation within distributed database systems |
US10067969B2 (en) | 2015-05-29 | 2018-09-04 | Nuodb, Inc. | Table partitioning within distributed database systems |
US9529923B1 (en) | 2015-08-28 | 2016-12-27 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US10747753B2 (en) | 2015-08-28 | 2020-08-18 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US9390154B1 (en) | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
US20180074967A1 (en) * | 2016-09-09 | 2018-03-15 | Sap Se | Paging Mechanism for In-Memory Data Management System |
RU2746446C2 (ru) | 2016-11-10 | 2021-04-14 | Свирлдз, Инк. | Способы и устройство для распределенной базы данных, содержащей анонимные входные данные |
US11222006B2 (en) | 2016-12-19 | 2022-01-11 | Swirlds, Inc. | Methods and apparatus for a distributed database that enables deletion of events |
KR102208336B1 (ko) | 2017-07-11 | 2021-01-27 | 스월즈, 인크. | 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 |
EP3669286A4 (en) | 2017-08-15 | 2021-06-23 | NUODB Inc. | DIVISION OF INDEX INTO DISTRIBUTED DATABASES |
KR102188667B1 (ko) | 2017-11-01 | 2020-12-08 | 스월즈, 인크. | 고속 카피가능 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 |
RU2703961C1 (ru) * | 2018-07-25 | 2019-10-22 | федеральное государственное бюджетное образовательное учреждение высшего образования "Российский государственный университет им. А.Н. Косыгина (Технологии. Дизайн. Искусство)" | Система репликации информации в базах данных |
US11048692B2 (en) * | 2019-04-02 | 2021-06-29 | Sap Se | Partition move in case of table update |
CN110111203A (zh) * | 2019-05-05 | 2019-08-09 | 北京阿尔山金融科技有限公司 | 业务数据的批量操作方法、装置及电子设备 |
JP2022532830A (ja) | 2019-05-22 | 2022-07-20 | スワールズ,インコーポレイテッド | 分散データベース内に状態証明及び台帳識別子を実装するための方法及び機器 |
EP3896579A1 (de) * | 2020-04-17 | 2021-10-20 | Allianz Deutschland AG | Verfahren zur integration und koordination von mess- und/oder steuersystemen |
US11809591B1 (en) * | 2023-02-22 | 2023-11-07 | Snowflake Inc. | Column hiding management system |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274394A (ja) * | 1993-03-19 | 1994-09-30 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベース制御方法 |
JPH0877053A (ja) * | 1994-09-08 | 1996-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 複製データベース反映装置及び複製データベース反映方法 |
US5937414A (en) * | 1997-02-28 | 1999-08-10 | Oracle Corporation | Method and apparatus for providing database system replication in a mixed propagation environment |
US6101497A (en) * | 1996-05-31 | 2000-08-08 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
JP2000339210A (ja) * | 1999-05-28 | 2000-12-08 | Fujitsu Ltd | データベース複写装置及びデータベース複写方法並びにデータベース複写プログラムを記録した記録媒体 |
JP2001290687A (ja) * | 2000-04-04 | 2001-10-19 | Nec Eng Ltd | データ同期化制御方式 |
JP2002157156A (ja) * | 2000-09-08 | 2002-05-31 | Hitachi Ltd | データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 |
JP2002297455A (ja) * | 2001-03-29 | 2002-10-11 | Fujitsu Ltd | 記憶装置のデータ領域間複写処理方法、及び記憶システム |
JP2002542526A (ja) * | 1999-02-17 | 2002-12-10 | イーエムシー コーポレイション | 冗長データ記憶ユニットを通じてデータをカスケードにする方法および装置 |
JP2003527688A (ja) * | 2000-03-14 | 2003-09-16 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | クライアントのデータベースとサーバーのデータベースとを同期させる方法 |
JP2003316634A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | データベース管理方法および装置およびその処理プログラム |
JP2003345640A (ja) * | 2002-05-28 | 2003-12-05 | Mitsubishi Electric Corp | データベースバックアップシステム |
JP2004334460A (ja) * | 2003-05-07 | 2004-11-25 | Hitachi Ltd | データベースのスナップショット方法及びシステム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4432057A (en) * | 1981-11-27 | 1984-02-14 | International Business Machines Corporation | Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system |
CA1307919C (en) * | 1988-10-06 | 1992-09-29 | Dean S. Liu | Method and apparatus for making electrical heater pad |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5440727A (en) * | 1991-12-18 | 1995-08-08 | International Business Machines Corporation | Asynchronous replica management in shared nothing architectures |
US5555404A (en) * | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
JP2708386B2 (ja) * | 1994-03-18 | 1998-02-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置 |
US6539381B1 (en) * | 1999-04-21 | 2003-03-25 | Novell, Inc. | System and method for synchronizing database information |
US6694337B1 (en) * | 2000-10-26 | 2004-02-17 | Intel Corporation | Synchronizing databases |
US7164676B1 (en) * | 2001-03-21 | 2007-01-16 | Cisco Technology, Inc. | Method and apparatus for a combined bulk and transactional database synchronous scheme |
US6839564B2 (en) * | 2001-04-25 | 2005-01-04 | Nokia Corporation | Synchronization of database data |
US7373362B2 (en) * | 2001-11-19 | 2008-05-13 | Extended Systems, Inc. | Coordinated synchronization |
US6820180B2 (en) * | 2002-04-04 | 2004-11-16 | International Business Machines Corporation | Apparatus and method of cascading backup logical volume mirrors |
GB0308264D0 (en) | 2003-04-10 | 2003-05-14 | Ibm | Recovery from failures within data processing systems |
US20050149582A1 (en) * | 2003-12-29 | 2005-07-07 | Wissmann Joseph T. | Method and system for synchronization of copies of a database |
US20080126439A1 (en) * | 2006-09-25 | 2008-05-29 | International Business Machines Corporation | Change verification in a configuration management database |
-
2005
- 2005-08-19 US US11/207,482 patent/US7890508B2/en active Active
-
2006
- 2006-07-20 NZ NZ593162A patent/NZ593162A/en not_active IP Right Cessation
- 2006-07-20 MX MX2008002168A patent/MX2008002168A/es active IP Right Grant
- 2006-07-20 AU AU2006284498A patent/AU2006284498B2/en not_active Ceased
- 2006-07-20 CA CA002615421A patent/CA2615421A1/en not_active Abandoned
- 2006-07-20 KR KR1020087003601A patent/KR20080055795A/ko not_active IP Right Cessation
- 2006-07-20 EP EP06800192.4A patent/EP1915668B1/en active Active
- 2006-07-20 CN CN2006800296061A patent/CN101268439B/zh active Active
- 2006-07-20 BR BRPI0615028-4A patent/BRPI0615028A2/pt not_active IP Right Cessation
- 2006-07-20 NZ NZ565641A patent/NZ565641A/en not_active IP Right Cessation
- 2006-07-20 WO PCT/US2006/028346 patent/WO2007024376A2/en active Application Filing
- 2006-07-20 JP JP2008526946A patent/JP5259404B2/ja not_active Expired - Fee Related
- 2006-07-20 RU RU2008106228/08A patent/RU2417426C2/ru not_active IP Right Cessation
- 2006-07-20 ZA ZA200800962A patent/ZA200800962B/xx unknown
-
2008
- 2008-01-08 IL IL188664A patent/IL188664A/en not_active IP Right Cessation
- 2008-01-15 NO NO20080234A patent/NO20080234L/no unknown
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274394A (ja) * | 1993-03-19 | 1994-09-30 | Nippon Telegr & Teleph Corp <Ntt> | 分散データベース制御方法 |
JPH0877053A (ja) * | 1994-09-08 | 1996-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 複製データベース反映装置及び複製データベース反映方法 |
US6101497A (en) * | 1996-05-31 | 2000-08-08 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
US5937414A (en) * | 1997-02-28 | 1999-08-10 | Oracle Corporation | Method and apparatus for providing database system replication in a mixed propagation environment |
JP2002542526A (ja) * | 1999-02-17 | 2002-12-10 | イーエムシー コーポレイション | 冗長データ記憶ユニットを通じてデータをカスケードにする方法および装置 |
JP2000339210A (ja) * | 1999-05-28 | 2000-12-08 | Fujitsu Ltd | データベース複写装置及びデータベース複写方法並びにデータベース複写プログラムを記録した記録媒体 |
JP2003527688A (ja) * | 2000-03-14 | 2003-09-16 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | クライアントのデータベースとサーバーのデータベースとを同期させる方法 |
JP2001290687A (ja) * | 2000-04-04 | 2001-10-19 | Nec Eng Ltd | データ同期化制御方式 |
JP2002157156A (ja) * | 2000-09-08 | 2002-05-31 | Hitachi Ltd | データベース管理方法およびシステム並びにその処理プログラムおよびそのプログラムを格納した記録媒体 |
JP2002297455A (ja) * | 2001-03-29 | 2002-10-11 | Fujitsu Ltd | 記憶装置のデータ領域間複写処理方法、及び記憶システム |
JP2003316634A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | データベース管理方法および装置およびその処理プログラム |
JP2003345640A (ja) * | 2002-05-28 | 2003-12-05 | Mitsubishi Electric Corp | データベースバックアップシステム |
JP2004334460A (ja) * | 2003-05-07 | 2004-11-25 | Hitachi Ltd | データベースのスナップショット方法及びシステム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191690B2 (en) | 2014-03-20 | 2019-01-29 | Nec Corporation | Storage system, control device, memory device, data access method, and program recording medium |
Also Published As
Publication number | Publication date |
---|---|
US20070043749A1 (en) | 2007-02-22 |
NZ593162A (en) | 2012-04-27 |
WO2007024376A2 (en) | 2007-03-01 |
IL188664A0 (en) | 2008-08-07 |
RU2417426C2 (ru) | 2011-04-27 |
EP1915668A4 (en) | 2009-10-28 |
CA2615421A1 (en) | 2007-03-01 |
EP1915668A2 (en) | 2008-04-30 |
NZ565641A (en) | 2011-06-30 |
JP5259404B2 (ja) | 2013-08-07 |
IL188664A (en) | 2014-02-27 |
NO20080234L (no) | 2008-03-14 |
MX2008002168A (es) | 2008-04-22 |
US7890508B2 (en) | 2011-02-15 |
RU2008106228A (ru) | 2009-08-27 |
CN101268439A (zh) | 2008-09-17 |
EP1915668B1 (en) | 2018-07-04 |
AU2006284498A1 (en) | 2007-03-01 |
BRPI0615028A2 (pt) | 2011-05-03 |
AU2006284498B2 (en) | 2011-04-14 |
WO2007024376A3 (en) | 2007-11-29 |
ZA200800962B (en) | 2009-05-27 |
CN101268439B (zh) | 2012-04-25 |
KR20080055795A (ko) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5259404B2 (ja) | データベースフラグメントのクローン化および管理 | |
US11429641B2 (en) | Copying data changes to a target database | |
AU2016271618B2 (en) | Disconnected operation within distributed database systems | |
US11132350B2 (en) | Replicable differential store data structure | |
US9922075B2 (en) | Scalable distributed transaction processing system | |
US10248709B2 (en) | Promoted properties in relational structured data | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
US10599676B2 (en) | Replication control among redundant data centers | |
US11226985B2 (en) | Replication of structured data records among partitioned data storage spaces | |
US10235406B2 (en) | Reminder processing of structured data records among partitioned data storage spaces | |
EP2406736A2 (en) | Composite hash and list partitioning of database tables | |
US7809762B1 (en) | Outage-less database change operation | |
VanBenschoten et al. | Enabling the next generation of multi-region applications with cockroachdb | |
WO2023124242A1 (zh) | 事务执行方法、装置、设备和存储介质 | |
Göbel et al. | Elasticity in Tell |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111028 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120817 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121119 |
|
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: 20130329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130424 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160502 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5259404 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |