JP7271670B2 - データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム - Google Patents
データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム Download PDFInfo
- Publication number
- JP7271670B2 JP7271670B2 JP2021532087A JP2021532087A JP7271670B2 JP 7271670 B2 JP7271670 B2 JP 7271670B2 JP 2021532087 A JP2021532087 A JP 2021532087A JP 2021532087 A JP2021532087 A JP 2021532087A JP 7271670 B2 JP7271670 B2 JP 7271670B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transaction
- state data
- historical state
- cluster
- 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 title claims description 162
- 238000000034 method Methods 0.000 title claims description 150
- 238000004590 computer program Methods 0.000 title claims description 3
- 239000000872 buffer Substances 0.000 claims description 200
- 230000005540 biological transmission Effects 0.000 claims description 118
- 238000012545 processing Methods 0.000 claims description 21
- 230000003362 replicative effect Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 19
- 230000007704 transition Effects 0.000 claims description 18
- 230000001174 ascending effect Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 8
- 238000007906 compression Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 101
- 230000000875 corresponding effect Effects 0.000 description 40
- 238000005516 engineering process Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 22
- 230000001360 synchronised effect Effects 0.000 description 11
- 238000012790 confirmation Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- PMHURSZHKKJGBM-UHFFFAOYSA-N isoxaben Chemical compound O1N=C(C(C)(CC)CC)C=C1NC(=O)C1=C(OC)C=CC=C1OC PMHURSZHKKJGBM-UHFFFAOYSA-N 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000010926 purge Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/2365—Ensuring data consistency and integrity
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
1つの態様によれば、コンピュータ機器(ノード機器)により実行されるデータレプリケーション方法を提供し、当該方法は、
トランザクションの提出操作を検出した場合、当該トランザクションの履歴状態データを、履歴状態データをキャッシングするためのデータキューに追加するステップと、
当該データキューにおける少なくとも1つの履歴状態データを、レプリケーション対象となる履歴状態データをキャッシングするための送信バッファに追加するステップと、
第1所定条件に合致する場合、当該送信バッファにおける当該少なくとも1つの履歴状態データをクラスタ機器にレプリケーションするステップと、を含む。
受信した履歴状態データをキャッシングするための受信バッファから、ノード機器が送信した少なくとも1つの履歴状態データを受信するステップと、
当該受信バッファにおける当該少なくとも1つの履歴状態データを転送バッファに追加し、履歴状態データに対してデータ形式の変換を行う当該転送バッファを介して、当該少なくとも1つの履歴状態データを、タプル形式に合致するデータに変換し、少なくとも1つのデータ項目を取得するステップと、
当該少なくとも1つのデータ項目をクラスタデータベースの少なくとも1つのターゲットデータシートに記憶するステップであって、1つのターゲットデータシートは、1つデータ項目の、当該ノード機器において所在する1つのオリジナルデータシートに対応するステップと、を含む。
トランザクションの提出操作を検出した場合、当該トランザクションの履歴状態データを、履歴状態データをキャッシングするためのデータキューに追加し、当該データキューにおける少なくとも1つの履歴状態データを、レプリケーション対象となる履歴状態データをキャッシングするための送信バッファに追加する追加モジュールと、
第1所定条件に合致する場合、当該送信バッファにおける当該少なくとも1つの履歴状態データをクラスタ機器にレプリケーションするためのレプリケーションモジュールと、を含む。
受信した履歴状態データをキャッシングするための受信バッファから、ノード機器が送信した少なくとも1つの履歴状態データを受信するための受信モジュールと、
当該受信バッファにおける当該少なくとも1つの履歴状態データを転送バッファに追加し、履歴状態データに対してデータ形式の変換を行う当該転送バッファを介して、当該少なくとも1つの履歴状態データを、タプル形式に合致するデータに変換し、少なくとも1つのデータ項目を取得するための追加モジュールと、
当該少なくとも1つのデータ項目をクラスタデータベースの少なくとも1つのターゲットデータシートに記憶するための記憶モジュールであって、1つのターゲットデータシートは、1つデータ項目の、当該ノード機器において所在する1つのオリジナルデータシートに対応する記憶モジュールと、を含む。
トランザクションの提出操作を検出した場合、当該トランザクションの履歴状態データをデータキューに追加することで、トランザクションの履歴状態データをデータキューにキャッシングし、当該データキューにおける少なくとも1つの履歴状態データを送信バッファに追加し、これによって、送信バッファに基づき送信プロセスまたは送信スレッドを実行し、第1所定条件に合致する場合、当該送信バッファにおける当該少なくとも1つの履歴状態データをクラスタ機器にレプリケーションすることで、ノード機器は、第1所定条件に合致する度に、少なくとも1つの送信バッファにおける履歴状態データをクラスタ機器にレプリケーションする。このように、ノード機器は元の履歴状態データ形式をログ形式に変換する必要がなく、クラスタ機器はログをデータのオリジナル形式に解析して記憶する必要もなく、これによって、データをレプリケーションする場合、履歴状態データに対して再実行ログの再生を行う必要がなく、煩雑な再生フローを避け、再実行ログの再生過程の期間を短くて、データレプリケーション過程の効率を向上させる。
いくつかの実施例において、タプルを単位とするデータ項目に対して、クラスタ機器は当該データ項目が所在するオリジナルデータシートにおける記憶形式に従って、当該データ項目を当該オリジナルデータシートに対応するターゲットデータシートに記憶することで、ターゲットデータシートとオリジナルデータシートとの記憶形式が完全に同様になり、汎用の場合で、1つのタプルのライフサイクルを便利に追跡する。
まず、クラスタ機器は、RBDのpoolを構築し、例えば、ステートメント「ceph osd pool create rbd 256」を介して構築する。
SELECT
[ALL|DISTINCT|DISTINCTROW]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT][SQL_BIG_RESULT][SQL_BUFFER_RESULT]
[SQL_CACHE|SQL_NO_CACHE][SQL_CALC_FOUND_ROWS]
select_expr[,select_expr...]
[FROM table_references
[PARTITION partition_list]
[WHERE where_condition]
[GROUP BY{col_name|expr|position}
[ASC|DESC],...[WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY{col_name|expr|position}
[ASC|DESC],...]
[LIMIT{[offset,]row_count|row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE'file_name'
[CHARACTER SET charset_name]
export_options
|INTO DUMPFILE'file_name'
|INTO var_name[,var_name]]
[FOR UPDATE|LOCK IN SHARE MODE]]
当該追加モジュール1201はさらに、当該データキューにおける少なくとも1つの履歴状態データを、レプリケーション対象となる履歴状態データをキャッシングするための送信バッファに追加し、
レプリケーションモジュール1202は、第1所定条件に合致する場合、当該送信バッファにおける当該少なくとも1つの履歴状態データをクラスタ機器にレプリケーションする。
当該データキューに履歴状態データが増加したことを検出した場合、当該履歴状態データを当該送信バッファに追加し、
当該レプリケーションモジュール1202は、
当該送信バッファに履歴状態データが増加したことを検出した場合、当該送信バッファにおける当該少なくとも1つの履歴状態データを当該クラスタ機器にレプリケーションする。
第1所定期間ごとに、当該データキューにおける、現在タイミングの前の当該第1所定期間内に増加した少なくとも1つの履歴状態データを取得し、
トランザクション提出タイムスタンプの昇順に従って、当該少なくとも1つの履歴状態データをソートし、トランザクション提出タイムスタンプが同じである複数の履歴状態データが存在する場合、トランザクション標識の昇順に従って、当該複数の履歴状態データをソートし、少なくとも1つの順次配列された履歴状態データを取得し、当該少なくとも1つの順次配列された履歴状態データを当該送信バッファに追加する。
当該第1所定条件は、当該送信バッファの容量に対する当該送信バッファの使用済みデータ量の占有比率が、比率閾値に達したことを検出したことであるか、または、
当該第1所定条件は、現在タイミングと、当該送信バッファが前回で当該クラスタ機器に履歴状態データをレプリケーションしたタイミングとの時間差が第2所定期間に達したことであるか、または、
当該第1所定条件は、現在タイミングと、当該送信バッファが前回で当該クラスタ機器に履歴状態データをレプリケーションしたタイミングとの時間差が第3所定期間に達したことであり、当該第3所定期間は、複数のノード機器のうちの各ノード機器に対して配置される同じ所定期間であり、当該第3所定期間は当該第2所定期間より大きい。
当該クラスタ機器によって送信されたレプリケーション成功応答を受信した場合、当該レプリケーション成功応答に対応する送信バッファをクリアするためのクリアモジュールを含む。
当該データキューにおける、同一のオリジナルデータシートからの履歴状態データを均一に複数の送信バッファに追加する。
追加モジュール1302は、当該受信バッファにおける当該少なくとも1つの履歴状態データを転送バッファに追加し、当該転送バッファを介して、当該少なくとも1つの履歴状態データを、タプル形式に合致するデータに変換し、少なくとも1つのデータ項目を取得し、当該転送バッファは履歴状態データに対してデータ形式の変換を行って、
記憶モジュール1303は、当該少なくとも1つのデータ項目をクラスタデータベースの少なくとも1つのターゲットデータシートに記憶し、1つのターゲットデータシートは、1つデータ項目の、当該ノード機器において所在する1つのオリジナルデータシートに対応する。
タプルを単位とするデータ項目に対して、当該データ項目が所在するオリジナルデータシートにおける記憶形式に従って、当該データ項目を、当該オリジナルデータシートに対応するターゲットデータシートに記憶するための第1記憶ユニットと、
フィールドの変更状況を示すデータ項目に対して、キー値ペアの記憶形式に従って、当該データ項目を、当該オリジナルデータシートに対応するターゲットデータシートに記憶するための第2記憶ユニットと、を含む。
当該オリジナルデータシートにおける当該データ項目のキー名と当該データ項目の生成時間とのうちの少なくとも一項を、当該ターゲットデータシートにおける当該データ項目のキー名として決定し、
当該オリジナルデータシートにおける当該データ項目の修正されたフィールドを、当該ターゲットデータシートにおける当該データ項目のキー値として決定する。
当該少なくとも1つの履歴状態データのトランザクション標識から、第2所定条件に合致する最小トランザクション標識を決定するための決定モジュールであって、当該第2所定条件は、トランザクションの全てのサブトランザクションに対応するデータ項目がいずれも当該クラスタデータベースに記憶されたことを示す決定モジュールと、
当該最小トランザクション標識に基づき、可視データ項目を決定し、当該可視データ項目に基づき、データ検索サービスを提供するための検索モジュールであって、当該可視データ項目のトランザクション標識が当該最小トランザクション標識の以下である検索モジュールとを含む。
トランザクション提出タイムスタンプの昇順に従って、当該少なくとも1つの履歴状態データをソートし、トランザクション提出タイムスタンプが同じである複数の履歴状態データが存在する場合、トランザクション標識の昇順に従って、当該複数の履歴状態データをソートし、ターゲットデータシーケンスを取得するためのソートユニットと、
当該ターゲットデータシーケンスから、当該第2所定条件に合致する少なくとも1つのトランザクションを取得するための取得ユニットと、
当該少なくとも1つのトランザクションにおける、順番が最も前にあるトランザクションのトランザクション標識を、当該最小トランザクション標識として決定するための決定ユニットとを含む。
当該ターゲットデータシーケンスをトラバースし、各履歴状態データのビットマップ符号化に対してビットAND操作を実行し、出力が真である履歴状態データに対応するトランザクションが、第2所定条件に合致すると決定し、
または、当該ターゲットデータシーケンスをトラバースし、各履歴状態データの圧縮辞書を復号化し、各履歴状態データに対応するグローバルトランザクション標識を取得し、当該グローバルトランザクション標識に対応するサブトランザクションのデータ項目がいずれも当該クラスタデータベースに記憶されたと決定した場合、当該グローバルトランザクション標識に対応するトランザクションが当該第2所定条件に合致すると決定するためのトラバース決定サブユニットを含む。
当該グローバルトランザクション標識に基づき、当該クラスタデータベースに記憶され、且つ当該グローバルトランザクション標識を有するデータ項目を取得し、取得した当該データ項目及び復号化により得られた当該履歴状態データがトランザクションの全てのサブトランザクションに対応する場合、当該グローバルトランザクション標識に対応するサブトランザクションのデータ項目がいずれも当該クラスタデータベースに記憶されたと決定する。
第2所定期間ごとに、当該受信バッファから、何れかのノード機器が送信した少なくとも1つの履歴状態データを受信するか、または、
第3所定期間ごとに、当該受信バッファから複数のノード機器が同時に送信した少なくとも1つの履歴状態データを受信する。
1202 レプリケーションモジュール
1301 受信モジュール
1302 追加モジュール
1303 記憶モジュール
1400 コンピュータ機器
1401 プロセッサー
1402 メモリ
Claims (18)
- マルチバージョンコンカレンシーコントロール(MVCC)によるデータベースに基づくハイブリッドトランザクション/分析クラスタ(HTAC)アーキテクチャのトランザクション処理クラスタのノード機器により実行されるデータレプリケーション方法であって、前記MVCCによるデータベースにおけるデータは、それぞれ前記データのライフサイクル軌跡における異なる状態を識別する、現在状態、遷移状態、及び履歴状態の3つの状態を含み、
トランザクションの提出操作を検出した場合、前記トランザクションの履歴状態データをデータキューに追加するステップであって、前記データキューは、履歴状態データをキャッシングするためのものであるステップと、
前記データキューにおける少なくとも1つの履歴状態データを送信バッファに追加するステップであって、前記送信バッファは、レプリケーション対象となる履歴状態データをキャッシングするためのものであるステップと、
第1所定条件に合致する場合、前記送信バッファにおける前記少なくとも1つの履歴状態データを前記MVCCによるデータベースに基づく前記HTACアーキテクチャの分析処理クラスタのクラスタ機器にレプリケーションするステップであって、前記クラスタ機器は、前記少なくとも1つの履歴状態データを記憶し、前記少なくとも1つの履歴状態データに基づき、検索及び分析サービスを提供するために使用され、前記少なくとも1つの履歴状態データは読み取ることだけができ、修正または削除することはできない、ステップと、
前記ノード機器において、レプリケーションされた前記少なくとも1つの履歴状態データをレプリケーションが完了した後で削除するステップと
を含み、
前記MVCCによるデータベースにおいて、前記トランザクションが提出された後の前記データの新しい値を前記現在状態、前記トランザクションが提出される前の前記データの値を前記履歴状態の値とし、前記現在状態と前記履歴状態との間のデータ状態を前記遷移状態と称する、方法。 - 前記データキューにおける少なくとも1つの履歴状態データを送信バッファに追加する前記ステップは、
前記データキューに履歴状態データが増加したことを検出した場合、前記履歴状態データを前記送信バッファに追加するステップを含み、
前記第1所定条件に合致する場合、前記送信バッファにおける前記少なくとも1つの履歴状態データをクラスタ機器にレプリケーションする前記ステップは、
前記送信バッファに履歴状態データが増加したことを検出した場合、前記送信バッファにおける前記少なくとも1つの履歴状態データを前記クラスタ機器にレプリケーションするステップを含む請求項1に記載の方法。 - 前記データキューにおける少なくとも1つの履歴状態データを送信バッファに追加する前記ステップは、
第1所定期間ごとに、前記データキューにおける、現在タイミングの前の前記第1所定期間内に増加した少なくとも1つの履歴状態データを取得するステップと、
トランザクション提出タイムスタンプの昇順に従って、前記少なくとも1つの履歴状態データをソートし、トランザクション提出タイムスタンプが同じである複数の履歴状態データが存在する場合、トランザクション標識の昇順に従って、前記複数の履歴状態データをソートし、少なくとも1つの順次配列された履歴状態データを取得し、前記少なくとも1つの順次配列された履歴状態データを前記送信バッファに追加するステップと、を含む請求項1に記載の方法。 - 前記第1所定条件は、
前記送信バッファに何れかの履歴状態データが増加したことを検出したことと、
前記送信バッファの容量に対する前記送信バッファの使用済みデータ量の占有比率が比率閾値に達したことを検出したことと、
現在タイミングと、前記送信バッファが前回で前記クラスタ機器に履歴状態データをレプリケーションしたタイミングとの時間差が第2所定期間に達したことと、
現在タイミングと、前記送信バッファが前回で前記クラスタ機器に履歴状態データをレプリケーションしたタイミングとの時間差が第3所定期間に達したこととのうちの、何れかの1つまたは複数を含み、
前記第3所定期間は、複数のノード機器のうちの各ノード機器に対して配置する同じ所定期間であり、前記第3所定期間が前記第2所定期間より大きい、請求項1~3の何れかの1項に記載の方法。 - 前記方法はさらに、前記クラスタ機器によって送信されたレプリケーション成功応答を受信した場合、前記レプリケーション成功応答に対応する送信バッファをクリアするステップを含む請求項1に記載の方法。
- 前記送信バッファの数が複数である場合、前記方法はさらに、
前記データキューにおける、同一のオリジナルデータシートからの履歴状態データを均一に複数の前記送信バッファに追加するステップを含む請求項1に記載の方法。 - マルチバージョンコンカレンシーコントロール(MVCC)によるデータベースに基づくハイブリッドトランザクション/分析クラスタ(HTAC)アーキテクチャの分析処理クラスタのクラスタ機器により実行されるデータレプリケーション方法であって、前記MVCCによるデータベースにおけるデータは、それぞれ前記データのライフサイクル軌跡における異なる状態を識別する、現在状態、遷移状態、及び履歴状態の3つの状態を含み、前記クラスタ機器は、履歴状態データを記憶し、前記履歴状態データに基づき、検索及び分析サービスを提供するために用いられ、前記履歴状態データは読み取ることだけができ、修正または削除することはできず、
受信バッファから、前記MVCCによるデータベースに基づく前記HTACアーキテクチャのトランザクション処理クラスタのノード機器が送信した少なくとも1つの履歴状態データを受信するステップであって、前記受信バッファは、受信した履歴状態データをキャッシングするためのものであり、受信した前記履歴状態データは、前記ノード機器においてレプリケーションが完了した後に削除され、前記ノード機器はトランザクション処理サービスを提供するために使用される、ステップと、
前記受信バッファにおける前記少なくとも1つの履歴状態データを転送バッファに追加し、前記転送バッファを介して、前記少なくとも1つの履歴状態データを、タプル形式に合致するデータに変換し、少なくとも1つのデータ項目を取得するステップであって、前記転送バッファは、履歴状態データに対してデータ形式の変換を行うためのものであるステップと、
前記少なくとも1つのデータ項目をクラスタデータベースの少なくとも1つのターゲットデータシートに記憶するステップであって、1つのターゲットデータシートは、1つのデータ項目の、前記ノード機器において所在する1つのオリジナルデータシートに対応するステップと、を含み、
前記MVCCによるデータベースにおいて、トランザクションが提出された後の前記データの新しい値を前記現在状態、前記トランザクションが提出される前の前記データの値を前記履歴状態の値とし、前記現在状態と前記履歴状態との間のデータ状態を前記遷移状態と称する、方法。 - 前記少なくとも1つのデータ項目をクラスタデータベースの少なくとも1つのターゲットデータシートに記憶する前記ステップは、
タプルを単位とするデータ項目に対して、前記データ項目が所在するオリジナルデータシートにおける記憶形式に従って、前記データ項目を、前記オリジナルデータシートに対応するターゲットデータシートに記憶するステップ、又は
フィールドの変更状況を示すデータ項目に対して、キー値ペアの記憶形式に従って、前記データ項目を、前記オリジナルデータシートに対応するターゲットデータシートに記憶するステップを含む請求項7に記載の方法。 - 前記キー値ペアの記憶形式に従って、前記データ項目を前記オリジナルデータシートに対応するターゲットデータシートに記憶する前記ステップは、
前記オリジナルデータシートにおける前記データ項目のキー名と前記データ項目の生成時間とのうちの少なくとも一項を、前記ターゲットデータシートにおける前記データ項目のキー名として決定するステップと、
前記オリジナルデータシートにおける前記データ項目の修正されたフィールドを、前記ターゲットデータシートにおける前記データ項目のキー値として決定するステップと、を含む請求項8に記載の方法。 - 前記方法はさらに、
前記少なくとも1つの履歴状態データのトランザクション標識から、第2所定条件に合致する最小トランザクション標識を決定するステップであって、前記第2所定条件は、トランザクションの全てのサブトランザクションに対応するデータ項目がいずれも前記クラスタデータベースに記憶されたことを示すステップと、
前記最小トランザクション標識に基づき、可視データ項目を決定するステップであって、前記可視データ項目のトランザクション標識が前記最小トランザクション標識の以下であるステップと、
前記可視データ項目に基づき、データ検索サービスを提供するステップと、を含む請求項7に記載の方法。 - 前記少なくとも1つの履歴状態データのトランザクション標識から、第2所定条件に合致する最小トランザクション標識を決定する前記ステップは、
トランザクション提出タイムスタンプの昇順に従って、前記少なくとも1つの履歴状態データをソートし、トランザクション提出タイムスタンプが同じである複数の履歴状態データが存在する場合、トランザクション標識の昇順に従って、前記複数の履歴状態データをソートし、ターゲットデータシーケンスを取得するステップと、
前記ターゲットデータシーケンスから、前記第2所定条件に合致する少なくとも1つのトランザクションを取得するステップと、
前記少なくとも1つのトランザクションにおける、順番が最も前にあるトランザクションのトランザクション標識を前記最小トランザクション標識として決定するステップと、を含む請求項10に記載の方法。 - 前記ターゲットデータシーケンスから、前記第2所定条件に合致する少なくとも1つのトランザクションを取得する前記ステップは、
前記ターゲットデータシーケンスをトラバースし、各履歴状態データのビットマップ符号化に対してビットAND操作を実行し、出力が真である履歴状態データに対応するトランザクションが前記第2所定条件に合致すると決定するステップ、又は
前記ターゲットデータシーケンスをトラバースし、各履歴状態データの圧縮辞書を復号化し、各履歴状態データに対応するグローバルトランザクション標識を取得し、前記グローバルトランザクション標識に対応するサブトランザクションのデータ項目がいずれも前記クラスタデータベースに記憶されたと決定した場合、前記グローバルトランザクション標識に対応するトランザクションが前記第2所定条件に合致すると決定するステップを含む請求項11に記載の方法。 - 前記グローバルトランザクション標識に対応するサブトランザクションのデータ項目がいずれも前記クラスタデータベースに記憶されたと決定する前記ステップは、
前記グローバルトランザクション標識に基づき、前記クラスタデータベースに記憶され、且つ前記グローバルトランザクション標識を有するデータ項目を取得し、取得した前記データ項目及び復号化により得られた前記履歴状態データがトランザクションの全てのサブトランザクションに対応する場合、前記グローバルトランザクション標識に対応するサブトランザクションのデータ項目がいずれも前記クラスタデータベースに記憶されたと決定するステップを含む請求項12に記載の方法。 - 前記受信バッファからノード機器が送信した少なくとも1つの履歴状態データを受信する前記ステップは、
第2所定期間ごとに、前記受信バッファから、何れかのノード機器が送信した少なくとも1つの履歴状態データを受信するステップ、又は
第3所定期間ごとに、前記受信バッファから、複数のノード機器が同時に送信した少なくとも1つの履歴状態データを受信するステップを含む請求項7に記載の方法。 - マルチバージョンコンカレンシーコントロール(MVCC)によるデータベースに基づくハイブリッドトランザクション/分析クラスタ(HTAC)アーキテクチャのトランザクション処理クラスタに含まれる、データレプリケーション装置であって、前記MVCCによるデータベースにおけるデータは、それぞれ前記データのライフサイクル軌跡における異なる状態を識別する、現在状態、遷移状態、及び履歴状態の3つの状態を含み、
トランザクションの提出操作を検出した場合、前記トランザクションの履歴状態データをデータキューに追加し、前記データキューにおける少なくとも1つの履歴状態データを送信バッファに追加するための追加モジュールであって、前記データキューは、履歴状態データをキャッシングするためのものであり、前記送信バッファは、レプリケーション対象となる履歴状態データをキャッシングするためのものである追加モジュールと、
第1所定条件に合致する場合、前記送信バッファにおける前記少なくとも1つの履歴状態データを前記MVCCによるデータベースに基づく前記HTACアーキテクチャの分析処理クラスタのクラスタ機器にレプリケーションするためのレプリケーションモジュールであって、前記クラスタ機器は、前記少なくとも1つの履歴状態データを記憶し、前記少なくとも1つの履歴状態データに基づき、検索及び分析サービスを提供するために用いられ、前記少なくとも1つの履歴状態データは読み取ることだけができ、修正または削除することはできず、前記データレプリケーション装置において、レプリケーションされた前記少なくとも1つの履歴状態データをレプリケーションが完了した後で削除する、レプリケーションモジュールと、を含み、
前記MVCCによるデータベースにおいて、前記トランザクションが提出された後の前記データの新しい値を前記現在状態、前記トランザクションが提出される前の前記データの値を前記履歴状態の値とし、前記現在状態と前記履歴状態との間のデータ状態を前記遷移状態と称する、装置。 - マルチバージョンコンカレンシーコントロール(MVCC)によるデータベースに基づくハイブリッドトランザクション/分析クラスタ(HTAC)アーキテクチャの分析処理クラスタに含まれる、データレプリケーション装置であって、前記MVCCによるデータベースにおけるデータは、それぞれ前記データのライフサイクル軌跡における異なる状態を識別する、現在状態、遷移状態、及び履歴状態の3つの状態を含み、前記データレプリケーション装置は、履歴状態データを記憶し、前記履歴状態データに基づき、検索及び分析サービスを提供するために用いられ、前記履歴状態データは読み取ることだけができ、修正または削除することはできず、
受信バッファから、前記MVCCによるデータベースに基づく前記HTACアーキテクチャのトランザクション処理クラスタのノード機器が送信した少なくとも1つの履歴状態データを受信するための受信モジュールであって、前記受信バッファは、受信した履歴状態データをキャッシングするためのものであり、受信した前記履歴状態データは、前記ノード機器においてレプリケーションが完了した後に削除され、前記ノード機器はトランザクション処理サービスを提供するために使用される、受信モジュールと、
前記受信バッファにおける前記少なくとも1つの履歴状態データを転送バッファに追加し、前記転送バッファを介して、前記少なくとも1つの履歴状態データを、タプル形式に合致するデータに変換し、少なくとも1つのデータ項目を取得するための追加モジュールであって、前記転送バッファは、履歴状態データに対してデータ形式の変換を行うためのものである追加モジュールと、
前記少なくとも1つのデータ項目をクラスタデータベースの少なくとも1つのターゲットデータシートに記憶するための記憶モジュールであって、1つのターゲットデータシートは、1つのデータ項目の、前記ノード機器において所在する1つのオリジナルデータシートに対応する記憶モジュールと、を含み、
前記MVCCによるデータベースにおいて、トランザクションが提出された後の前記データの新しい値を前記現在状態、前記トランザクションが提出される前の前記データの値を前記履歴状態の値とし、前記現在状態と前記履歴状態との間のデータ状態を前記遷移状態と称する、装置。 - コンピュータ機器であって、前記コンピュータ機器は、プロセッサーとメモリとを含み、前記メモリには少なくとも1つの命令が記憶され、前記少なくとも1つの命令は前記プロセッサーによりロードされ、実行されることで、請求項1~請求項6または請求項7~請求項14の何れかの1項に記載のデータレプリケーション方法を実現することを特徴とするコンピュータ機器。
- 命令を含むコンピュータプログラムであって、コンピュータで実行される場合、コンピュータに請求項1~請求項6または請求項7~請求項14の何れかの1項に記載のデータレプリケーション方法を実行させるコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368297.XA CN110209734B (zh) | 2019-05-05 | 2019-05-05 | 数据复制方法、装置、计算机设备及存储介质 |
CN201910368297.X | 2019-05-05 | ||
PCT/CN2020/084085 WO2020224374A1 (zh) | 2019-05-05 | 2020-04-10 | 数据复制方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022510460A JP2022510460A (ja) | 2022-01-26 |
JP7271670B2 true JP7271670B2 (ja) | 2023-05-11 |
Family
ID=67786863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021532087A Active JP7271670B2 (ja) | 2019-05-05 | 2020-04-10 | データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11921746B2 (ja) |
EP (1) | EP3968175B1 (ja) |
JP (1) | JP7271670B2 (ja) |
CN (1) | CN110209734B (ja) |
WO (1) | WO2020224374A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209734B (zh) * | 2019-05-05 | 2022-11-18 | 深圳市腾讯计算机系统有限公司 | 数据复制方法、装置、计算机设备及存储介质 |
CN110955612B (zh) * | 2019-11-07 | 2022-03-08 | 浪潮电子信息产业股份有限公司 | 一种数据缓存方法及相关装置 |
CN111694825B (zh) * | 2020-05-27 | 2024-04-09 | 平安银行股份有限公司 | 机构撤并数据核验方法、装置、计算机设备及存储介质 |
CN112380266A (zh) * | 2020-10-16 | 2021-02-19 | 广州市百果园网络科技有限公司 | 消息数据处理方法、装置、设备和存储介质 |
US11159617B1 (en) * | 2021-01-22 | 2021-10-26 | Juniper Networks, Inc | Apparatus, system, and method for synchronizing replicated objects across network nodes in highly scaled environments |
CN113193947B (zh) * | 2021-04-23 | 2022-11-15 | 北京百度网讯科技有限公司 | 实现分布式全局序的方法、设备、介质及程序产品 |
CN113297605B (zh) * | 2021-06-24 | 2023-05-05 | 中国建设银行股份有限公司 | 复制数据管理方法、装置、电子设备及计算机可读介质 |
CN113722396B (zh) * | 2021-08-25 | 2023-12-22 | 武汉达梦数据库股份有限公司 | 一种数据同步接收端服务主备切换的方法及设备 |
CN113704340B (zh) * | 2021-08-30 | 2023-07-21 | 远景智能国际私人投资有限公司 | 数据处理方法、装置、服务器及存储介质 |
US11922026B2 (en) | 2022-02-16 | 2024-03-05 | T-Mobile Usa, Inc. | Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network |
CN114860824A (zh) * | 2022-04-11 | 2022-08-05 | 远景智能国际私人投资有限公司 | 数据传输方法、装置、设备及存储介质 |
CN115134266A (zh) * | 2022-05-31 | 2022-09-30 | 西安北方华创微电子装备有限公司 | 数据上传方法、数据接收方法和半导体工艺设备 |
CN114884774B (zh) * | 2022-06-01 | 2023-10-03 | 北京东土军悦科技有限公司 | 数据包转发方法及装置、网络设备和计算设备 |
CN114741206B (zh) * | 2022-06-09 | 2022-09-06 | 深圳华锐分布式技术股份有限公司 | 客户端数据回放处理方法、装置、设备及存储介质 |
CN116301593B (zh) * | 2023-02-09 | 2024-02-02 | 安超云软件有限公司 | 在云平台下跨集群跨存储拷贝块数据的方法及应用 |
CN115951846B (zh) * | 2023-03-15 | 2023-06-13 | 苏州浪潮智能科技有限公司 | 数据写入方法、装置、设备及介质 |
CN116644103B (zh) * | 2023-05-17 | 2023-11-24 | 本原数据(北京)信息技术有限公司 | 基于数据库的数据排序方法和装置、设备、存储介质 |
CN116385001B (zh) * | 2023-06-07 | 2023-08-22 | 建信金融科技有限责任公司 | 交易日志回放方法、装置、电子设备及存储介质 |
CN116578655B (zh) * | 2023-07-06 | 2023-09-15 | 舟谱数据技术南京有限公司 | 一种数据传输系统及其控制方法 |
CN116644215B (zh) * | 2023-07-27 | 2023-09-29 | 北京亿中邮信息技术有限公司 | 一种跨组织结构的数据更新方法以及更新系统 |
CN116980475A (zh) * | 2023-07-31 | 2023-10-31 | 深圳市亲邻科技有限公司 | 一种基于binlog与双环形缓冲区的数据推送系统 |
CN116701544B (zh) * | 2023-08-07 | 2023-11-24 | 金篆信科有限责任公司 | 分布式数据库日志处理方法和装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263350A (ja) | 2002-03-07 | 2003-09-19 | Ricoh Co Ltd | データベースシステム |
JP2006092005A (ja) | 2004-09-21 | 2006-04-06 | Hitachi Ltd | データ処理方法、データベースシステム及びストレージ装置 |
JP2006260292A (ja) | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | リモートコピー方法及びストレージシステム |
WO2007028249A1 (en) | 2005-09-09 | 2007-03-15 | Avokia Inc. | Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring |
JP2010061559A (ja) | 2008-09-05 | 2010-03-18 | Hitachi Ltd | 情報処理システム、データ更新方法およびデータ更新プログラム |
JP2010527087A (ja) | 2007-05-21 | 2010-08-05 | エヌエイチエヌ コーポレーション | データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム |
JP2015064850A (ja) | 2013-09-26 | 2015-04-09 | 日本電気株式会社 | データベース監視装置、データベース監視方法、並びにコンピュータ・プログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5799305A (en) * | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
WO2003044697A1 (en) * | 2001-11-16 | 2003-05-30 | Paralleldb, Incorporated | Data replication system and method |
CA2472887A1 (en) * | 2003-06-30 | 2004-12-30 | Gravic, Inc. | Methods for ensuring referential integrity in multithreaded replication engines |
CN101719165B (zh) * | 2010-01-12 | 2014-12-17 | 浪潮电子信息产业股份有限公司 | 一种实现数据库高效快速备份的方法 |
CN102609479B (zh) | 2012-01-20 | 2015-11-25 | 北京思特奇信息技术股份有限公司 | 一种内存数据库节点复制方法 |
CN104239476B (zh) * | 2014-09-04 | 2018-09-25 | 上海天脉聚源文化传媒有限公司 | 一种数据库同步的方法、装置及系统 |
US9965359B2 (en) * | 2014-11-25 | 2018-05-08 | Sap Se | Log forwarding to avoid deadlocks during parallel log replay in asynchronous table replication |
US20180096018A1 (en) * | 2016-09-30 | 2018-04-05 | Microsoft Technology Licensing, Llc | Reducing processing for comparing large metadata sets |
US10168928B2 (en) * | 2017-03-10 | 2019-01-01 | International Business Machines Corporation | Managing data storage by an asynchronous copy service |
CN109902127B (zh) * | 2019-03-07 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 历史态数据处理方法、装置、计算机设备及存储介质 |
CN109992628B (zh) * | 2019-04-15 | 2022-10-25 | 深圳市腾讯计算机系统有限公司 | 数据同步的方法、装置、服务器及计算机可读存储介质 |
CN110209734B (zh) * | 2019-05-05 | 2022-11-18 | 深圳市腾讯计算机系统有限公司 | 数据复制方法、装置、计算机设备及存储介质 |
-
2019
- 2019-05-05 CN CN201910368297.XA patent/CN110209734B/zh active Active
-
2020
- 2020-04-10 EP EP20802129.5A patent/EP3968175B1/en active Active
- 2020-04-10 WO PCT/CN2020/084085 patent/WO2020224374A1/zh unknown
- 2020-04-10 JP JP2021532087A patent/JP7271670B2/ja active Active
-
2021
- 2021-05-25 US US17/330,276 patent/US11921746B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263350A (ja) | 2002-03-07 | 2003-09-19 | Ricoh Co Ltd | データベースシステム |
JP2006092005A (ja) | 2004-09-21 | 2006-04-06 | Hitachi Ltd | データ処理方法、データベースシステム及びストレージ装置 |
JP2006260292A (ja) | 2005-03-17 | 2006-09-28 | Fujitsu Ltd | リモートコピー方法及びストレージシステム |
WO2007028249A1 (en) | 2005-09-09 | 2007-03-15 | Avokia Inc. | Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring |
JP2010527087A (ja) | 2007-05-21 | 2010-08-05 | エヌエイチエヌ コーポレーション | データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム |
JP2010061559A (ja) | 2008-09-05 | 2010-03-18 | Hitachi Ltd | 情報処理システム、データ更新方法およびデータ更新プログラム |
JP2015064850A (ja) | 2013-09-26 | 2015-04-09 | 日本電気株式会社 | データベース監視装置、データベース監視方法、並びにコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN110209734B (zh) | 2022-11-18 |
EP3968175B1 (en) | 2023-10-18 |
US11921746B2 (en) | 2024-03-05 |
JP2022510460A (ja) | 2022-01-26 |
US20210279254A1 (en) | 2021-09-09 |
EP3968175A4 (en) | 2022-05-25 |
EP3968175A1 (en) | 2022-03-16 |
WO2020224374A1 (zh) | 2020-11-12 |
CN110209734A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7271670B2 (ja) | データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム | |
US20200285549A1 (en) | Method and apparatus for reading and writing committed data | |
JP7410181B2 (ja) | ハイブリッド・インデックス作成方法、システム、プログラム | |
CN111143389B (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
US10078682B2 (en) | Differentiated secondary index maintenance in log structured NoSQL data stores | |
USRE47106E1 (en) | High-performance log-based processing | |
CN111159252B (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
US8868512B2 (en) | Logging scheme for column-oriented in-memory databases | |
US7653668B1 (en) | Fault tolerant multi-stage data replication with relaxed coherency guarantees | |
JP2019036353A (ja) | 索引更新パイプライン | |
CN109992628B (zh) | 数据同步的方法、装置、服务器及计算机可读存储介质 | |
US20080222159A1 (en) | Database system with active standby and nodes | |
WO2013174305A1 (zh) | 基于SSD的Key-Value型本地存储方法及系统 | |
JP2016524750A5 (ja) | ||
CN112084258A (zh) | 一种数据同步方法和装置 | |
US20230418811A1 (en) | Transaction processing method and apparatus, computing device, and storage medium | |
CN115114370B (zh) | 主从数据库的同步方法、装置、电子设备和存储介质 | |
CN112328702A (zh) | 数据同步方法及系统 | |
CN113051221A (zh) | 数据存储方法、装置、介质、设备及分布式文件系统 | |
CN114385577A (zh) | 一种分布式文件系统 | |
CN111522688A (zh) | 分布式系统的数据备份方法及装置 | |
US20240126782A1 (en) | Configuration and management of replication units for asynchronous database transaction replication | |
CN117591552A (zh) | 数据处理方法、介质、装置和计算设备 | |
CN112818018A (zh) | 分布式数据库的数据处理方法、装置及系统 | |
CN117420947A (zh) | 一种分布式数据库实时储存功能的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210604 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221122 |
|
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: 20230327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7271670 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |