2. 2
双方向レプリケーションとは
ンソールの使用
• 双方向レプリケーションにより、組織は 2 つのエンドポイント間でデータを同期させ (それ以降はエンドポイント A とエンドポイント B と呼ばれ
ます)、両方のエンドポイントに同じレコードが含まれるようにすることができます。
• エンドポイントは、同じタイプ (Oracle から Oracle など) または異なる型 (例: Microsoft SQL ServerからOracle) のいずれかです。
• 双方向レプリケーションを実装するには2つのBidirectional Replicationタスクを定義する必要があります:
• (タスク 1) エンドポイントAに加えられた変更をキャプチャしてエンドポイント B にレプリケートするタスク
• (タスク 2) エンドポイント B に加えられた変更をキャプチャしてエンドポイントAにレプリケートするタスク
エンドポイントA エンドポイントB
Qlik Replicate
タスク 1
タスク 2
3. 3
制限事項
ンソールの使用
双方向レプリケーションタスクには、次の制限事項が適用されます。
• 双方向レプリケーションでは、競合の解決は現在サポートされていません。
競合を防ぐために、双方向レプリケーションタスクに参加しているエンドポイントを更新するアプリケーションが、両方のエンドポイントで同じレコードを同時に
更新しないようにする必要があります。
つまり、エンドポイント A のレコードが更新された場合、エンドポイント B の同等のレコードは、エンドポイント A からの更新がエンドポイント B にレプリ
ケートされた後にのみ更新する必要があります。
• 双方向レプリケーションタスクは、現在、タスクに関係するソースの 1 つからのみ DDL ステートメントをサポートしています。つまり、いずれかのソースについて、す
べてのオプション (DROP、TRUNCATE、および ALTER) に対して変更の適用 DDL 処理ポリシーを 「無視する」に設定する必要があります。
※ テーブルの作成DDLはサポートされていません。
• ソースエンドポイントとターゲットエンドポイントが同一になるように、双方向レプリケーションタスクで変換とフィルターを使用しないでください。
• Oracle ターゲット エンドポイント設定の[Use direct path full load] オプションはサポートされていません。
• タスク設定の [Full Load Settings] タブの [Stopping the Task after Full Load] オプションはサポートされていません。
• タスクのChange Processing Mode は [Transactional apply] に設定する必要があります。
4. 4
サポートされているエンドポイント
Source Endpoints:
• Oracle
• Microsoft SQL Server
• MySQL
• PostgreSQL
• 全てのAISソース
• 全てのARCソース
• File Channel
• SAP Sybase ASE
• IBM DB2 for iSeries
• Amazon RDS for MySQL
• Amazon RDS for PostgreSQL
• Amazon RDS for SQL Server
• AWS Aurora Cloud for PostgreSQL
• Google Cloud SQL for MySQL
• IBM DB2 for z/OS
• IBM DB2 for LUW
Target Endpoints:
• Oracle
• Microsoft SQL Server
• MySQL
• Google Cloud SQL for MySQL
• PostgreSQL
• ODBC
• File Channel
• SAP Sybase ASE
5. 5
双方向レプリケーションの設定
ンソールの使用
ここでは、Qlik Replicateで双方向レプリケーションタスクを設定する方法について説明します。
双方向タスク 1 を設定するには:
1. エンドポイント A からエンドポイント B にデータをレプリケートするBidirectional Replicationタスクを定義します。
※ 双方向レプリケーションタスクでは、両方のエンドポイントに同じテーブルが含まれていることを前提としているため、既定ではFull Loadレプリケー
ションは有効になっていません。もしそうでない場合(例えば、エンドポイントAにエンドポイント B に存在しないテーブルが含まれている場合など)、
Full Loadレプリケーションも有効にします。
2. タスク設定の[Loopback Prevention] タブで、ソースとターゲットの Loopback prevention table schemaを指定します。
3. タスクを実行します。
6. 6
双方向レプリケーションの設定
ンソールの使用
双方向タスク 2 を設定するには:
1. エンドポイント B からエンドポイント A にデータをレプリケートする、別のBidirectional Replicationタスクを定義します。
2. タスク設定の[Loopback Prevention] タブで、ソースとターゲットのLoopback prevention table schemaを指定します。
3. エンドポイント A からエンドポイント B へのデータの複製時にフル ロードが有効になっている場合は、タスクを実行する前に、最初にFull Loadレプリケーション
が完了するまで待機する必要があります。それ以外の場合は、タスクをすぐに実行します。
7. 7
ファイル チャネル エンドポイントでの双方向レプリケーションの使用
ンソールの使用
• 双方向レプリケーションは、ファイル チャネル エンドポイントと共に使用できます。これは、相互に通信できない (物理的に接続されていない) または
WAN に配置されている 2 つのエンドポイントを同期する必要がある場合に便利です。このプロセスでは、6つの個別のタスク (2 つの全ロード専用単方
向タスクと 4 つの変更のみの適用双方向タスク) を設定します。
• ファイル チャネル エンドポイントの設定については、Qlik Replicate ファイル チャネルの使用を参照してください。
ファイル チャネル エンドポイントを使用して双方向レプリケーションを設定するには、次の手順を実行します。
1. 2 つのFull Loadのみ単方向タスクを設定して実行します。
例 (FC = File Channel):
Task 1: MySQL --> FC Target
Task 2: FC Source --> Oracle
2. Full Loadのみのタスクが完了するまで待ちます。
3. 4 つの変更の適用のみの双方向タスクを設定および実行します。
例 (FC = File Channel):
Task 1: MySQL Source --> FC Target
Task 2: FC Source 1 --> Oracle Target
Task 3: Oracle Source --> FC Target 2
Task 4: FC Source 2 --> MySQL Target