JP7263297B2 - ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション - Google Patents
ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション Download PDFInfo
- Publication number
- JP7263297B2 JP7263297B2 JP2020154565A JP2020154565A JP7263297B2 JP 7263297 B2 JP7263297 B2 JP 7263297B2 JP 2020154565 A JP2020154565 A JP 2020154565A JP 2020154565 A JP2020154565 A JP 2020154565A JP 7263297 B2 JP7263297 B2 JP 7263297B2
- Authority
- JP
- Japan
- Prior art keywords
- replica
- replication
- log
- source
- transaction
- 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
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/2379—Updates performed during online database operations; commit processing
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
・システムレプリケーション:リカバリredoログをレプリカシステムに配布することによって、データベースコンテンツ全体をレプリケートし、主に障害回復または高可用性に使用される。
・前述のように、ATRシステムは、データ操作言語(「DML」)要求をレプリカシステムに配布することによって、選択されたテーブルのコンテンツをレプリケートしてもよく、主に、マルチノードスケールアウト展開での負荷分散に使用される(すなわち、ワークロードを処理するとき、より多くの計算リソースを活用するために、選択されたテーブルのワークロードを複数のノードに分散する)。
・トリガベースのテーブルレプリケーション:構造化照会言語(「SQL」)トリガによって抽出された変更された行を配布することによって、選択されたテーブルのコンテンツをレプリケートし、主にATRのような負荷分散に使用される。それらの中で、ATRは、システムがテーブルまたはサブテーブル(サブテーブルパーティションまたは列)を負荷分散のためにレプリケートしたいとき、およびシステムがソースシステムに対するより短い伝搬遅延および低いオーバーヘッドを達成したいときも、より良いオプションであり得る。ATRは、最初は、同じスケールアウトシステムインスタンスに属するデータベースノード間のレプリケーションオプションとして設計された。
・ソースシステムとレプリカシステムとの間の別個のトランザクションドメイン
・ソースシステムとレプリカシステムとの間の別個のメタデータドメイン
・ソースシステムとレプリカシステムとの間で潜在的に異なるソフトウェアバイナリバージョン
・ソースシステムとレプリカシステムとの間の地理的距離。
・厳密なトランザクションの一貫性を確保しながら、行レベルの並列リプレイ
・データ定義言語(「DDL」)レプリケーション、および1つまたは複数のメタデータ更新ログエントリからレプリカシステムでのDDLステートメントの再構築
・厳密なトランザクションの一貫性を確保しながら、テーブルレベルの並列DDLレプリケーション
・複数のレプリケーションオブジェクトの粒度のサポート:テーブルのセット、テーブル、サブテーブル(1つまたは複数の列、1つまたは複数のパーティション)
・複数の個別のリモートソースシステムからのレプリケーション(「N対1のレプリケーション」)、複数の個別のリモートレプリカシステムへのレプリケーション(「1対Nのレプリケーション」)、および第1のレプリカテーブルを第2のレプリカテーブルのソースとするチェーンレプリケーションを含む、様々なレプリケーショントポロジのサポート
・典型的なストアアンドフォワード機構に依存しないインメモリログレプリケーション
・ソースシステムとレプリカシステムとの間の伝搬遅延を低減するためのプッシュベースの早期ログ配布。
・SYS.REMOTE_TABLE_REPLICA_SOURCES_(ソースシステムに保存されたレプリケーション関係情報)
・SYS.REMOTE_TABLE_REPLICA_TARGETS_(ターゲットシステムに保存されたレプリケーション関係情報)
・SYS.REMOTE_TABLE_REPLICA_COLUMNS_(ターゲットシステムに保存されたソーステーブルの列情報)
・SYS.REMOTE_TABLE_REPLICA_INDEXES_(ターゲットシステムに保存されたソーステーブルのインデックス情報)
・SYS.REMOTE_TABLE_REPLICA_PARTITIONS_(ターゲットシステムに保存されたソーステーブルのパーティション仕様情報)。
・ソーステーブルのメタデータ(json形式)およびテーブルグループ情報を取得する。
・このソーステーブルにビューを作成する。このビューの名前は、_SYS_REMOTE_REPLICA_SOURCE_{source_table_oid}であり得る。このビューは、RTRアクティブ化フェーズ中のテーブルデータの同期のためのものである。このデータ同期は、ソーステーブルとレプリカテーブルとの間の「$rowid$」の比較に基づいてSQLステートメントの「insert」および「delete」によって実行され、したがって、このビューは、ソーステーブルのすべての列+rowid列を含む。「$rowid$」構文は、レプリカ側のリモートソースにおける仮想テーブルでは使用できないので、レプリカ側の仮想テーブルをソーステーブル上に直接作成することはできない。したがって、このビューは、ソーステーブルの「$rowid$」列を選択する「_ROWID_FOR_REP」という名前の列を有し、レプリカ側の仮想テーブルは、直接ソーステーブルではなく、このビューに作成される。
・RTR情報をシステムテーブル(SYS.REMOTE_TABLE_REPLICA_SOURCES_)およびインメモリに挿入する。
・RTR情報をReplicationManagerに登録する(まだアクティブ化せず、登録するだけである)。
・このソーステーブルのAsyncPlanを無効にし、したがって、この新しく登録されたレプリケーションをソーステーブルにおけるDMLによって認識することができる。
(1)行の「$rowid$」を比較することによって、ソーステーブルにもはや存在しないレプリカテーブルから行を削除する
(2)行の「$rowid$」を比較することによって、ソーステーブルにのみ存在し、レプリカテーブルには存在しない行をレプリカテーブルに挿入する。
RTR非アクティブ化期間の時間が長い場合、このデータ差は大きくなる可能性がある。ソーステーブルにおいてXロックを長時間保持しないために、システムは、最初に、Xロックなしでデータを同期する場合がある。ソーステーブルおよびレプリカテーブルの列に変更がある場合、これらのSQLステートメントは仮想テーブル上にあるので(ソースシステムにおける関連するビューに対して)、上記のSQLの実行中にエラーが発生する可能性がある。次いで、ソースシステムでのビューおよびレプリカシステムでの関連する仮想テーブルがドロップされ、再作成され、データ同期が再試行される。
・レプリカシステムで、最初にレプリカテーブルを作成する。
CREATE COLUMN TABLE … LIKE … ASYNCHRONOUS REPLICA USING REMOTE SOURCE …
・ソースシステムでは、
EXPORT schema.table AS BINARY INTO …
・(エクスポートされたファイルをレプリカシステムにコピーした後)
・レプリカシステムでは、
IMPORT schema.table AS BINARY FROM … WITH DATA ONLY
・レプリカシステムでは、ここで「enable replica」:
ALTER TABLE schema.table ENABLE REPLICA
いくつかの実施形態は、利用可能な場合、自動テーブルエクスポートおよび/またはインポートもサポートし得る。すなわち、いくつかの実施形態では、ENABLE REPLICAは、バイナリエクスポート、転送、および/またはインポートのステップを含み得る。
・ソースシステムのReplicationManagerからRTR情報を登録抹消する。
・RTR情報をシステムテーブル(SYS.REMOTE_TABLE_REPLICA_SOURCES_)およびインメモリからも削除する。
・ATR AyncPlanを無効にする。
・このレプリケーションがこのテーブルの最後のレプリケーションであり、したがって、レプリカがもはやない場合、DROP VIEW (_SYS_REMOTE_REPLICA_SOURCE_{source_table_oid}である。
レプリカテーブルがドロップされたとき、ソースシステムが利用可能でない場合、ソースシステム内のRTR情報をクリアし、ガベージデータとして残すことはできない。RTRは、戦略的に、反対側が利用できないときにテーブルのドロップを許可しないので、ソースシステム内のこのガベージRTR情報を作成することはできるが、回避方法によって後でクリアすることもできる。
CREATE REMOTE SUBSCRIPTION [<schema_name>.]<subscription_name>
{
{ON [<schema_name>.]<virtual_table_name> } |
{AS (<subquery>)}
}
[ WITH SCHEMA CHANGES ]
{ TARGET TABLE <table_spec> <load_behavior> } |
{ TARGET TASK <task_spec> } |
{ PROCEDURE <proc_spec> }
CREATE REMOTE SUBSCRIPTION
[<schema_name>.]<subscription_name>
ON [<schema_name>.]<virtual_table_name>
TARGET TABLE [<schema_name>].<table_name>;
・レプリカテーブルのログキューは、第1のDDLログが受信されたときに作成される。いくつかの実施形態によれば、MDR::LogQueue::getInstance()->register_queue()は、「void TransactionContainer::pushDDLLog()」で使用され得る。
・DDLログは、トランザクションコミットまで、このキューに入れられる。いくつかの実施形態によれば、MDR::LogQueue::getInstance()->push()は、「void TransactionContainer::pushDDLLog()」で使用され得る。
・トランザクションがコミットされると、DDLリプレーヤがこのキューで作成され、DDL:MDR::Replayer replayer(log_queue)およびreplayer.reply() in void TransactionContainer::replayDDLLog()をリプレイする。
・次いで、ログキューが破棄され得る。いくつかの実施形態によれば、MDR::LogQueue::getInstance()->unregister_queue()は、void TransactionContainer::replayDDLLog()で使用され得る。
・「alter table src add (b int)」は、単一のメタデータredoログを作成する。
・「alter table src add (識別としてデフォルトで生成されたc int(10 maxvalue 100から開始))」は、2つのメタデータredoログを作成する。
・「alter table src add (i int unique)」は、3つのメタデータredoログを作成する。
そのため、システムは、単一のメタデータredoログごとにDDLステートメントを生成することはできないが、キューからの次のメタデータredoログが前のメタデータredoログに関連しているかどうかをチェックする必要がある。
・ソーステーブルとレプリカテーブルの「_truncatedCount」が異なる場合、レプリカテーブルを切り捨てる(ソーステーブルの同じ「_truncatedCount」値をレプリカテーブルに設定する)。
・レプリカテーブルのインデックス(制約)をドロップ/リネームする。インデックスのoidを比較することによって、ソーステーブルに存在しないレプリカインデックスがドロップされる。インデックスの名前(_SYS_で始まるシステム生成の名前ではない)が異なる場合、インデックス名がリネームされる(インデックス/制約のドロップは、列のドロップよりも前に行われ、DDLのリプレイ時に例外は発生しない)。
・レプリカテーブルの列をドロップ/リネーム/変更する。列のoidおよび名前を比較することによって、ソーステーブルに存在しないレプリカ列がドロップされる。oidは同じであるが名前または列情報が異なるレプリカ列は、リネームされ、変更される。
・レプリカテーブルに列を追加する(ソーステーブルにのみ存在する列がレプリカテーブルに追加される)。
・レプリカテーブルにインデックスまたは制約を作成する。ソーステーブルにのみ存在するインデックス(制約)がレプリカテーブルに追加される(インデックス/制約の作成は、すべての列が同期された後で行われる必要がある)。
・ソーステーブルおよびレプリカテーブルのpartitionSpecが異なる場合、パーティションを変更する。
102 データベース管理システム
104 分散データベース
106 ソースノード
108 レプリカノード
202 書込みセット抽出器
204 レプリケーションログ生成器
206 ログ送信バッファ
208 ログ送信機
210 トランザクションマネージャ
212 レプリケーションログ受信機およびディスパッチャ
214 並列ログリプレーヤ
216 トランザクションログリプレーヤ
300 システム
310 オンプレミスサーバ
320 クラウドリソース
330 グラフ
400 RTRシステム
410 ERP
420 CRM
430 クラウド環境
500 リアルタイムテーブルレプリケーションアーキテクチャ
510 アプリケーションプロセス
520 プライマリ
530 リカバリログ
540 チェックポイント
522 レプリカサーバ
550 リカバリログ
560 チェックポイント
610 ソースクラウドシステム
620 レプリカクラウドシステム
630 ワークフロー
700 アーキテクチャ
710 ソースシステム
720 レプリカシステム
800 クロスデータベースATR
810 ソーステーブル更新
820 レプリカテーブルレプリケート
1000 データ定義言語ログのリプレイ
1020 DDLログハンドラ
1030 DMLログハンドラ
1110 ソーステーブル
1120 レプリカテーブル
1300 RTRディスプレイ
1310 グラフィカル要素
1320 「セットアップ」アイコン
1390 マウスポイント
1400 コンピュータシステム
1402 ユーザ入力/出力インターフェース
1403 ユーザ入力/出力デバイス
1404 プロセッサ
1406 バス
1408 メインメモリまたは1次メモリ
1410 2次記憶デバイスまたはメモリ
1412 ハードディスクドライブ
1414 リムーバブルストレージデバイスもしくはドライブ
1418 リムーバブルストレージユニット
1420 インターフェース
1422 リムーバブルストレージユニット
1424 通信またはネットワークインターフェース
1426 通信経路
1428 リモートエンティティ
Claims (20)
- レプリカテーブルへのデータベーストランザクションのリアルタイムテーブルレプリケーション(「RTR」)のためのシステムであって、
コンピュータメモリと、
少なくとも1つのコンピュータプロセッサとを含み、少なくとも1つのコンピュータプロセッサが、前記メモリに結合され、
レプリケーションログエントリおよび関連付けられたトランザクションコミットログエントリを受信することであり、前記レプリケーションログエントリおよび前記関連付けられたトランザクションコミットログエントリが一緒に、レプリカテーブルの行にリプレイされるデータベーストランザクションを表し、前記レプリケーションログエントリが行ID値を有し、前記レプリカテーブルの前記行が行ID値を有する、受信することと、
前記レプリケーションログエントリを並列ログリプレーヤにディスパッチし、前記関連付けられたトランザクションコミットログエントリをトランザクションログリプレーヤにディスパッチすることと、
前記レプリケーションログエントリの前記行ID値を前記レプリカテーブルの前記行の前記行ID値と比較することと、
前記比較に基づいて、前記並列ログリプレーヤで前記レプリケーションログエントリをリプレイすることと、
前記トランザクションログリプレーヤで前記関連付けられたトランザクションコミットログエントリをリプレイすることによって、前記データベーストランザクションを前記レプリカテーブルにコミットすることであり、前記データベーストランザクションが、トランザクションの一貫性を有する行レベルの並列リプレイおよびデータ定義言語(「DDL」)のレプリケーションに関連付けられており、レプリカシステムでのDDLステートメントの再構築が、1つまたは複数のメタデータ更新ログエントリに関連付けられている、コミットすることと
を行うように構成されている、
システム。 - (i)テーブルのセット、(ii)テーブル、(iii)サブテーブル、(iv)1つまたは複数の列、および(v)1つまたは複数のパーティション、のうちの少なくとも1つを含む、複数のレプリケーションオブジェクトの粒度がサポートされている、請求項1に記載のシステム。
- 複数の個別のソースシステムからのトポロジを有するレプリケーションが、N対1のレプリケーションとしてサポートされている、請求項1に記載のシステム。
- 複数の個別のリモートレプリカシステムへのトポロジを有するレプリケーションが、1対Nのレプリケーションとしてサポートされている、請求項1に記載のシステム。
- レプリカテーブルが別のレプリカテーブルのソースであるトポロジを有するレプリケーションが、チェーンレプリケーションとしてサポートされている、請求項1に記載のシステム。
- インメモリログレプリケーションがストアアンドフォワード機構に依存しない、請求項1に記載のシステム。
- プッシュベースの早期ログ配布が、前記ソースシステムと前記レプリカシステムとの間の伝搬遅延を低減する、請求項3に記載のシステム。
- 前記ソースシステムと前記レプリカシステムとの間に別個のトランザクションドメインが存在する、請求項3に記載のシステム。
- 前記ソースシステムと前記レプリカシステムとの間に別個のメタデータドメインが存在する、請求項3に記載のシステム。
- 前記ソースシステムと前記レプリカシステムとの間に異なるソフトウェアバイナリバージョンが存在する、請求項3に記載のシステム。
- データベーストランザクションのレプリカテーブルへのリアルタイムテーブルレプリケーションのためのコンピュータ実装方法であって、
少なくとも1つのプロセッサによって、レプリケーションログエントリおよび関連付けられたトランザクションコミットログエントリを受信するステップであり、前記レプリケーションログエントリおよび前記関連付けられたトランザクションコミットログエントリが一緒に、レプリカテーブルの行にリプレイされるデータベーストランザクションを表し、前記レプリケーションログエントリが行ID値を有し、前記レプリカテーブルの前記行が行ID値を有する、受信するステップと、
前記少なくとも1つのプロセッサによって、前記レプリケーションログエントリを並列ログリプレーヤにディスパッチし、前記関連付けられたトランザクションコミットログエントリをトランザクションログリプレーヤにディスパッチするステップと、
前記少なくとも1つのプロセッサによって、前記レプリケーションログエントリの前記行ID値を前記レプリカテーブルの前記行の前記行ID値と比較するステップと、
前記少なくとも1つのプロセッサによって、前記比較に基づいて、前記並列ログリプレーヤで前記レプリケーションログエントリをリプレイするステップと、
前記少なくとも1つのプロセッサによって、前記トランザクションログリプレーヤで前記関連付けられたトランザクションコミットログエントリをリプレイすることによって、前記データベーストランザクションを前記レプリカテーブルにコミットするステップであり、前記データベーストランザクションが、トランザクションの一貫性を有する行レベルの並列リプレイおよびデータ定義言語(「DDL」)のレプリケーションに関連付けられており、レプリカシステムでのDDLステートメントの再構築が、1つまたは複数のメタデータ更新ログエントリに関連付けられている、コミットするステップと
を含む方法。 - (i)テーブルのセット、(ii)テーブル、(iii)サブテーブル、(iv)1つまたは複数の列、および(v)1つまたは複数のパーティション、のうちの少なくとも1つを含む、複数のレプリケーションオブジェクトの粒度がサポートされている、請求項11に記載の方法。
- 複数の個別のソースシステムからのトポロジを有するレプリケーションが、N対1のレプリケーションとしてサポートされている、請求項11に記載の方法。
- 複数の個別のリモートレプリカシステムへのトポロジを有するレプリケーションが、1対Nのレプリケーションとしてサポートされている、請求項11に記載の方法。
- レプリカテーブルが別のレプリカテーブルのソースであるトポロジを有するレプリケーションが、チェーンレプリケーションとしてサポートされている、請求項11に記載の方法。
- インメモリログレプリケーションがストアアンドフォワード機構に依存しない、請求項11に記載の方法。
- プッシュベースの早期ログ配布が、前記ソースシステムと前記レプリカシステムとの間の伝搬遅延を低減する、請求項13に記載の方法。
- 前記ソースシステムと前記レプリカシステムとの間に別個のトランザクションドメインが存在する、請求項13に記載の方法。
- 前記ソースシステムと前記レプリカシステムとの間に別個のメタデータドメインが存在する、請求項13に記載の方法。
- 前記ソースシステムと前記レプリカシステムとの間に異なるソフトウェアバイナリバージョンが存在する、請求項13に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/686,827 US11263236B2 (en) | 2019-11-18 | 2019-11-18 | Real-time cross-system database replication for hybrid-cloud elastic scaling and high-performance data virtualization |
US16/686,827 | 2019-11-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021082257A JP2021082257A (ja) | 2021-05-27 |
JP7263297B2 true JP7263297B2 (ja) | 2023-04-24 |
Family
ID=72432731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020154565A Active JP7263297B2 (ja) | 2019-11-18 | 2020-09-15 | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション |
Country Status (4)
Country | Link |
---|---|
US (1) | US11263236B2 (ja) |
EP (1) | EP3822811A1 (ja) |
JP (1) | JP7263297B2 (ja) |
CN (1) | CN112818053A (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7392476B2 (ja) * | 2020-01-07 | 2023-12-06 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、及びコンピュータプログラム |
CN113868292A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 一种读数据的方法、写数据的方法、设备和系统 |
US11474989B2 (en) * | 2020-09-09 | 2022-10-18 | International Business Machines Corporation | Online reorganization of database tables with concurrent updates |
CN112559459B (zh) * | 2020-12-15 | 2024-02-13 | 跬云(上海)信息科技有限公司 | 一种基于云计算的自适应存储分层系统及方法 |
US11657032B2 (en) * | 2021-07-30 | 2023-05-23 | Thoughtspot, Inc. | Compacted table data files validation |
US20230119834A1 (en) * | 2021-10-19 | 2023-04-20 | Sap Se | Multi-tenancy using shared databases |
US11574002B1 (en) * | 2022-04-04 | 2023-02-07 | Mindtech Global Limited | Image tracing system and method |
US11899645B1 (en) * | 2022-09-09 | 2024-02-13 | Sap Se | Two phase move of database tables |
CN115509694B (zh) * | 2022-10-08 | 2024-04-30 | 北京火山引擎科技有限公司 | 一种事务处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218219A (ja) | 2009-03-17 | 2010-09-30 | Nec Corp | レプリカ表生成装置、レプリカ表生成方法、及びプログラム |
US20160147859A1 (en) | 2014-11-25 | 2016-05-26 | Juchang Lee | Transactional and Parallel Log Replay for Asynchronous Table Replication |
US20170177658A1 (en) | 2015-12-18 | 2017-06-22 | Sap Se | Table replication in a database environment |
US20190325055A1 (en) | 2018-04-19 | 2019-10-24 | Sap Se | Parallel Replication Across Formats |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995008809A2 (en) * | 1993-09-24 | 1995-03-30 | Oracle Corporation | Method and apparatus for data replication |
US7177866B2 (en) * | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
US20050289186A1 (en) * | 2004-06-29 | 2005-12-29 | Microsoft Corporation | DDL replication without user intervention |
US8301593B2 (en) | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US9110757B2 (en) * | 2013-01-14 | 2015-08-18 | Vmware, Inc. | Techniques for performing virtual machine software upgrades using virtual disk swapping |
US10642779B2 (en) * | 2018-03-26 | 2020-05-05 | Microsoft Technology Licensing, Llc | Group-based data replication in multi-tenant storage systems |
CN108932282B (zh) * | 2018-05-18 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种数据库迁移方法、装置和存储介质 |
CN108920698B (zh) * | 2018-07-16 | 2020-11-03 | 京东数字科技控股有限公司 | 一种数据同步方法、装置、系统、介质及电子设备 |
-
2019
- 2019-11-18 US US16/686,827 patent/US11263236B2/en active Active
-
2020
- 2020-09-08 EP EP20195056.5A patent/EP3822811A1/en active Pending
- 2020-09-15 JP JP2020154565A patent/JP7263297B2/ja active Active
- 2020-09-16 CN CN202010971742.4A patent/CN112818053A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218219A (ja) | 2009-03-17 | 2010-09-30 | Nec Corp | レプリカ表生成装置、レプリカ表生成方法、及びプログラム |
US20160147859A1 (en) | 2014-11-25 | 2016-05-26 | Juchang Lee | Transactional and Parallel Log Replay for Asynchronous Table Replication |
US20170177658A1 (en) | 2015-12-18 | 2017-06-22 | Sap Se | Table replication in a database environment |
US20190325055A1 (en) | 2018-04-19 | 2019-10-24 | Sap Se | Parallel Replication Across Formats |
Also Published As
Publication number | Publication date |
---|---|
US11263236B2 (en) | 2022-03-01 |
EP3822811A1 (en) | 2021-05-19 |
CN112818053A (zh) | 2021-05-18 |
US20210149915A1 (en) | 2021-05-20 |
JP2021082257A (ja) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7263297B2 (ja) | ハイブリッドクラウド弾性スケーリングおよび高性能データ仮想化のためのリアルタイムクロスシステムデータベースレプリケーション | |
KR102307371B1 (ko) | 데이터베이스 시스템 내의 데이터 복제 및 데이터 장애 조치 | |
US11263235B2 (en) | Database management system and method of operation | |
Bichsel et al. | A simple algorithm for shape from shading | |
US9069704B2 (en) | Database log replay parallelization | |
WO2018157602A1 (zh) | 一种同步活动事务表的方法及装置 | |
EP3330869B1 (en) | Write access control in a database | |
US20140279871A1 (en) | System and method for providing near real time data synchronization | |
US20140101102A1 (en) | Batch processing and data synchronization in cloud-based systems | |
Waqas et al. | Transaction management techniques and practices in current cloud computing environments: A survey | |
Kraft et al. | {Data-Parallel} actors: A programming model for scalable query serving systems | |
Yang | From Google file system to omega: a decade of advancement in big data management at Google | |
US11461201B2 (en) | Cloud architecture for replicated data services | |
US11709809B1 (en) | Tree-based approach for transactionally consistent version sets | |
US20230289368A1 (en) | Asynchronous data replication in a multiple availability zone cloud platform | |
Okardi et al. | Overview of distributed database system | |
Georgiou et al. | Hihooi: A database replication middleware for scaling transactional databases consistently | |
Bharati et al. | A comprehensive survey on distributed transactions based data partitioning | |
Saxena et al. | Concepts of HBase archetypes in big data engineering | |
US11789971B1 (en) | Adding replicas to a multi-leader replica group for a data set | |
Kim et al. | Dynamic partition lock method to reduce transaction abort rates of cloud database | |
Dobos et al. | A comparative evaluation of NoSQL database systems | |
Krogh et al. | Pro MySQL NDB Cluster | |
Martinez | Study of resource management for multitenant database systems in cloud computing | |
US11106698B2 (en) | Multi-master with ownership transfer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230302 |
|
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: 20230320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7263297 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |