© 2019 QlikTech International AB. All rights reserved.
双方向レプリケーションの
(Bidirectional Replication)
の利用方法
クリックテック・ジャパン株式会社
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
制限事項
ンソールの使用
双方向レプリケーションタスクには、次の制限事項が適用されます。
• 双方向レプリケーションでは、競合の解決は現在サポートされていません。
 競合を防ぐために、双方向レプリケーションタスクに参加しているエンドポイントを更新するアプリケーションが、両方のエンドポイントで同じレコードを同時に
更新しないようにする必要があります。
 つまり、エンドポイント 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
サポートされているエンドポイント
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
双方向レプリケーションの設定
ンソールの使用
ここでは、Qlik Replicateで双方向レプリケーションタスクを設定する方法について説明します。
双方向タスク 1 を設定するには:
1. エンドポイント A からエンドポイント B にデータをレプリケートするBidirectional Replicationタスクを定義します。
※ 双方向レプリケーションタスクでは、両方のエンドポイントに同じテーブルが含まれていることを前提としているため、既定ではFull Loadレプリケー
ションは有効になっていません。もしそうでない場合(例えば、エンドポイントAにエンドポイント B に存在しないテーブルが含まれている場合など)、
Full Loadレプリケーションも有効にします。
2. タスク設定の[Loopback Prevention] タブで、ソースとターゲットの Loopback prevention table schemaを指定します。
3. タスクを実行します。
6
双方向レプリケーションの設定
ンソールの使用
双方向タスク 2 を設定するには:
1. エンドポイント B からエンドポイント A にデータをレプリケートする、別のBidirectional Replicationタスクを定義します。
2. タスク設定の[Loopback Prevention] タブで、ソースとターゲットのLoopback prevention table schemaを指定します。
3. エンドポイント A からエンドポイント B へのデータの複製時にフル ロードが有効になっている場合は、タスクを実行する前に、最初にFull Loadレプリケーション
が完了するまで待機する必要があります。それ以外の場合は、タスクをすぐに実行します。
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
www.qlik.com/sap

Qlik Replicate - 双方向レプリケーション(Bidirectional Replication)の利用

  • 1.
    © 2019 QlikTechInternational AB. All rights reserved. 双方向レプリケーションの (Bidirectional Replication) の利用方法 クリックテック・ジャパン株式会社
  • 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
  • 8.