統合Replicatについて

統合モードでは、Replicatは、ターゲットのOracle AI Database内で使用可能な適用処理機能を利用します。このモードでは、Replicatは、証跡を読み取り、ソースのDMLまたはDDLトランザクションを表す論理変更レコードを作成し、それらのレコードをOracleターゲット・データベースのインバウンド・サーバーに送信します。インバウンド・サーバーは、データをターゲット・データベースに適用します。

ノート:統合Replicatは、オンライン・プロセスでしかありません。初期ロードを実行するためには使用しないでください。

統合モードでは、Replicatプロセスは、Oracle AI Database内で使用可能な適用処理機能を活用します。このモードでは、Replicatは次のように動作します:

単一のReplicat構成内で、適用サーバーと呼ばれるインバウンド・サーバーの複数の子プロセスがトランザクションをパラレルに適用し、元のトランザクションのアトミック性を保持します。この並列度は、Replicatプロセスの構成時、または必要に応じて動的に、ターゲット・システムのサポートに応じて増加できます。次の図は、2つの並列適用サーバーで構成された統合Replicatを示しています。

integratedapply_detail.pngの説明が続きます

上の図では、統合Replicatはトランザクションを非同期に適用します。相互依存関係のないトランザクションは、高速スループットを実現するために、相互依存性のないトランザクションを安全に実行して順不同 でコミットできます。依存関係のあるトランザクションは、ソースと同じ順序で適用されることが保証されます。

インバウンド・サーバーのリーダー・プロセスでは、ターゲット・データベースで定義される制約(主キー、一意キーの外部キー)に基づいて、ワークロードのトランザクション間の依存性が計算されます。バリア・トランザクションおよびDDL操作も自動的に管理されます。コーディネータ・プロセスでは、複数のトランザクションが調整され、適用サーバー間の順序が維持されます。

インバウンド・サーバーが構成済機能または列タイプをサポートしていない場合、Replicatはインバウンド・サーバーとの通信を停止して、インバウンド・サーバーがキューのトランザクションを完了するのを待機し、その後、OCIを介して、トランザクションを直接適用モードでデータベースに適用します。Replicatは、直接トランザクションの適用後に統合モードで処理を再開します。

Replicatでは、次の機能が直接モードで適用されます。

トランザクションは、順次に適用されるため、このような操作を多用すると、統合Replicatモードのパフォーマンスが低下する場合があります。統合Replicatは、適用処理のほとんどが統合モードで実行可能な場合に、最高のパフォーマンスを発揮します。

ノート:ユーザー・イグジットは統合モードで実行されます。ただし、終了コードがレプリケーション・ストリームのデータに依存している場合は、ユーザー・イグジットによって予期しない結果が発生することがあります。

ノート:統合Replicatでは、外部キー列が索引付けされている必要があります。

統合Replicatの利点

非統合Replicatではなく統合Replicatを使用する利点は次のとおりです。

統合Replicatの要件

統合Replicatを使用するには、次の条件を満たす必要があります。