すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:PolarDB-X 2.0 インスタンス間の双方向同期

最終更新日:Mar 07, 2026

このトピックでは、Data Transmission Service (DTS) を使用して PolarDB-X 2.0 インスタンス間で双方向データ同期を設定する方法について説明します。

前提条件

  • ソースとターゲットの PolarDB-X 2.0 インスタンスが作成済みであること。インスタンスは Standard Edition または Enterprise Edition のいずれかですが、マルチストリームバイナリログエンジンのインスタンスは使用できません。

  • ターゲットの PolarDB-X 2.0 インスタンスの利用可能なストレージ容量が、ソースの PolarDB-X 2.0 インスタンスが占有するストレージ容量を超えていること。

注意事項

説明
  • スキーマ同期中、DTS はソースデータベースからターゲットデータベースに外部キーを同期します。

  • 完全データ同期および増分データ同期中、DTS はセッションレベルで制約チェックと外部キーのカスケード操作を一時的に無効にします。タスクの実行中にソースデータベースでカスケード更新または削除操作を実行すると、データ不整合が発生する可能性があります。

タイプ

説明

ソースデータベースの制限

  • 同期対象のテーブルには、プライマリキーまたは一意制約が必要であり、フィールドは一意である必要があります。そうでない場合、ターゲットデータベースに重複データが出現する可能性があります。

  • PolarDB-X 2.0 の読み取り専用インスタンスはソースとしてサポートされていません。

  • テーブルレベルでデータを同期し、列名のマッピングなどのオブジェクトを編集する必要がある場合で、単一の同期タスク内のテーブル数が 5,000 を超える場合は、テーブルを複数のタスクに分割してください。または、データベース全体を同期するタスクを設定することもできます。そうしないと、タスクの送信後にエラーが報告される可能性があります。

  • バイナリログ:

    • バイナリログの binlog_row_image パラメーターが full に設定されていることを確認してください。そうでない場合、事前チェックが失敗し、データ同期タスクを開始できません。パラメーターの設定方法の詳細については、「パラメーター設定」をご参照ください。

    • 増分同期タスクの場合、DTS はソースデータベースでバイナリログを 24 時間以上保持することを要求します。初期完全データ同期と増分同期の両方を含むタスクの場合、DTS はバイナリログを少なくとも 7 日間保持することを要求します。初期完全データ同期が完了した後、保持期間を 24 時間以上に変更できます。バイナリログが必要な期間保持されていない場合、DTS タスクはログを取得できずに失敗する可能性があります。極端なケースでは、これによりデータ不整合やデータ損失が発生する可能性があります。DTS の要件よりも短いバイナリログ保持期間に起因する問題は、サービスレベルアグリーメント (SLA) の対象外です。

  • 同期対象のソース PolarDB-X 2.0 インスタンスのテーブル名に大文字が含まれている場合、そのテーブルではスキーマ同期のみがサポートされます。

  • テーブルグループ、および Locality プロパティを持つデータベースまたはテーブルの同期はサポートされていません。

  • 名前が select などの予約語であるテーブルの同期はサポートされていません。

  • スキーマ同期または完全同期中に、データベースまたはテーブルのスキーマを変更する DDL 操作を実行しないでください。そうしないと、同期タスクは失敗します。

    説明

    完全同期中、DTS はソースデータベースにクエリを実行します。これによりメタデータロックが作成され、ソースデータベースでの DDL 操作がブロックされる可能性があります。

  • PolarDB-X 2.0 インスタンスでは、DRDS モードのデータベースパーティションは同期できません。

その他の制限

  • ソースまたはターゲットの PolarDB-X 2.0 インスタンスが、マルチストリームログエンジンを使用する Enterprise Edition インスタンスである場合、双方向同期はサポートされていません。

  • ソースおよびターゲットの PolarDB-X 2.0 インスタンスのバージョン番号は、polarx-kernel_5.4.15-16774576_xcluster-20221223 またはそれ以降である必要があります。詳細については、「インスタンスのバージョンを表示およびアップグレードする」をご参照ください。

  • DDL 同期はサポートされていません。

  • データ同期を開始する前に、ソースおよびターゲットデータベースのパフォーマンスを評価してください。データ同期はオフピーク時間に実行することを推奨します。初期完全データ同期は、ソースとターゲットの両方のデータベースで読み取りおよび書き込みリソースを消費するため、データベースの負荷が増加する可能性があります。

  • 初期完全データ同期は同時 INSERT 操作を実行するため、ターゲットデータベースのテーブルに断片化が発生します。その結果、初期完全データ同期の完了後、ターゲットインスタンスの表領域はソースインスタンスよりも大きくなります。

  • DTS 同期中は、DTS 以外のソースからターゲットデータベースにデータを書き込まないでください。これにより、ソースデータベースとターゲットデータベース間でデータ不整合が発生する可能性があります。

  • 双方向同期タスクには、正方向および逆方向の同期タスクが含まれます。タスクを設定またはリセットする際に、一方のタスクのターゲットオブジェクトがもう一方のタスクの同期オブジェクトと一致する場合:

    • 一方のタスクのみが完全データと増分データを同期できるようにします。もう一方のタスクは増分同期のみをサポートします。

    • 現在のタスクのソースからのデータは、現在のタスクのターゲットにのみ同期されます。もう一方のタスクのソースデータとしては機能しません。

  • タスクが失敗した場合、DTS のサポートスタッフが 8 時間以内に復元を試みます。復元中、タスクを再起動したり、パラメーターを調整したりすることがあります。

    説明

    DTS タスクパラメーターのみが変更され、データベースパラメーターは変更されません。調整される可能性のあるパラメーターには、「インスタンスパラメーターの変更」に記載されているものが含まれます。

その他の注意事項

DTS は、バイナリログのオフセットを進めるために、dts_health_check データベースの ha_health_check テーブルを定期的に更新します。

課金

同期タイプ

料金

スキーマ同期と完全データ同期

無料です。

増分データ同期

課金対象です。詳細については、「課金の概要」をご参照ください。

同期可能な SQL 操作

操作タイプ

SQL 文

DML

INSERT, UPDATE, DELETE

必要な権限

ソースおよびターゲットの PolarDB-X 2.0 インスタンスのデータベースアカウントは、特権アカウントである必要があります。データベースアカウントの作成と権限の付与の詳細については、「データベースアカウントの管理」をご参照ください。

操作手順

  1. ターゲットリージョンの同期タスク一覧ページに移動します。次の 2 つの方法のいずれかを使用できます:

    DTS コンソールから

    1. Data Transmission Service (DTS) コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、データ同期 をクリックします。

    3. ページの左上隅で、同期インスタンスが配置されているリージョンを選択します。

    DMS コンソールから

    説明

    実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS インターフェイスのレイアウトとスタイルをカスタマイズする」をご参照ください。

    1. Data Management (DMS) にログインします。

    2. 上部のメニューバーで、[データ + AI] > [Data Transmission (DTS)] > [データ同期] を選択します。

    3. データ同期タスク の右側で、同期インスタンスが配置されているリージョンを選択します。

  2. タスクの作成 をクリックして、タスク設定ページを開きます。

  3. ソースデータベースとターゲットデータベースを設定します。

    警告

    ソースインスタンスとターゲットインスタンスを選択した後、ページの上部に表示される制限をよくお読みください。制限に従わない場合、タスクが失敗したり、データ不整合が発生したりする可能性があります。

    カテゴリ

    設定

    説明

    N/A

    タスク名

    DTS は自動的にタスク名を生成します。識別しやすいように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。

    移行元データベース

    既存の接続情報の選択

    • システムに追加された (新規作成または保存された) データベースインスタンスを使用するには、ドロップダウンリストからデータベースインスタンスを選択します。データベース情報は自動的に設定されます。

      説明

      DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 という名前です。

    • データベースインスタンスをシステムに追加していない場合、またはすでに追加されているインスタンスを使用する必要がない場合は、次のデータベース情報を手動で設定します。

    データベースタイプ

    PolarDB-X 2.0 を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

    インスタンスのリージョン

    ソース PolarDB-X 2.0 インスタンスが配置されているリージョンを選択します。

    Alibaba Cloud アカウント間でデータを複製

    この例では、同じ Alibaba Cloud アカウント内でデータを同期する方法を示します。× を選択します。

    インスタンス ID

    ソース PolarDB-X 2.0 インスタンスの ID を選択します。

    データベースアカウント

    ソース PolarDB-X 2.0 インスタンスの特権アカウントを入力します。

    データベースのパスワード

    データベースアカウントに対応するパスワードを入力します。

    移行先データベース

    既存の接続情報の選択

    • システムに追加された (新規作成または保存された) データベースインスタンスを使用するには、ドロップダウンリストからデータベースインスタンスを選択します。データベース情報は自動的に設定されます。

      説明

      DMS コンソールでは、この設定項目は DMS データベースインスタンスの選択 という名前です。

    • データベースインスタンスをシステムに追加していない場合、またはすでに追加されているインスタンスを使用する必要がない場合は、次のデータベース情報を手動で設定します。

    データベースタイプ

    PolarDB-X 2.0 を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

    インスタンスのリージョン

    ターゲット PolarDB-X 2.0 インスタンスが配置されているリージョンを選択します。

    インスタンス ID

    ターゲット PolarDB-X 2.0 インスタンスの ID を選択します。

    データベースアカウント

    ターゲット PolarDB-X 2.0 インスタンスの特権アカウントを入力します。

    データベースのパスワード

    データベースアカウントに対応するパスワードを入力します。

  4. 設定が完了したら、ページ下部の 接続をテストして続行 をクリックします。

    説明

    DTS サーバーの IP アドレス CIDR ブロックを、ソースおよびターゲットデータベースのセキュリティ設定に追加して、DTS サーバーからのアクセスを許可することを確認してください。これは自動的または手動で実行できます。詳細については、「DTS サーバーの IP アドレス CIDR ブロックをホワイトリストに追加する」をご参照ください。

  5. タスクオブジェクトを設定します。

    1. オブジェクト設定 ページで、同期するオブジェクトを設定します。

      設定

      説明

      同期タイプ

      増分データ同期 が選択されています。デフォルトでは、スキーマ同期完全データ同期 も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトの完全データ同期をソースインスタンスからターゲットクラスターに実行します。これは、後続の増分データ同期のベースラインデータとして機能します。

      競合するテーブルの処理モード

      • エラーの事前チェックと報告:ターゲットデータベースに同じ名前のテーブルが存在するかどうかをチェックします。同じ名前のテーブルが存在しない場合、事前チェックは成功します。同じ名前のテーブルが存在する場合、事前チェックは失敗し、データ同期タスクは開始されません。

        説明

        ターゲットデータベースで同じ名前のテーブルを削除または名前変更できない場合は、別のテーブル名にマップできます。詳細については、「テーブル名と列名をマップする」をご参照ください。

      • エラーを無視して続行:ターゲットデータベースでの重複テーブル名のチェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データ不整合が発生し、ビジネスにリスクをもたらす可能性があります。例:

        • テーブルスキーマが同じで、ターゲットデータベースのレコードがソースデータベースのレコードと同じプライマリキーまたは一意キーの値を持つ場合:

          • 完全同期中、DTS はターゲットクラスターのレコードを保持します。ソースデータベースの対応するレコードは同期されません。

          • 増分同期中、ソースデータベースのレコードがターゲットデータベースのレコードを上書きします。

        • テーブルスキーマが異なる場合、初期データ同期が失敗する可能性があります。これにより、一部の列データのみが同期されるか、同期が完全に失敗する可能性があります。注意して進めてください。

      同期トポロジ

      双方向同期 を選択します。

      DDL 操作を除外

      このシナリオでは DDL 操作を同期できません。 を選択します。

      競合解決ポリシー

      必要に応じて競合解決ポリシーを選択します。

      • Taskfailed (競合が発生した場合、エラーが報告されタスクは終了します。)

        同期中にデータ競合が発生した場合、タスクはエラーを報告して停止します。タスクは失敗状態になり、手動での介入が必要になります。

      • Ignore (競合が発生した場合、移行先インスタンスの競合レコードが使用されます。)

        同期中にデータ競合が発生した場合、現在の同期文はスキップされ、プロセスは続行されます。ターゲットデータベースの競合レコードが保持されます。

      • Overwrite (競合が発生した場合、移行先インスタンスの競合レコードは上書きされます。)

        同期中にデータ競合が発生した場合、ターゲットデータベースの競合レコードが上書きされます。

      ソースオブジェクト

      ソースオブジェクト ボックスで、同期するオブジェクトをクリックし、向右 をクリックして 選択中のオブジェクト ボックスに移動します。

      説明

      同期オブジェクトとして、データベース、テーブル、および列を選択できます。テーブルまたは列を選択した場合、ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトはターゲットデータベースに同期されません。

      選択中のオブジェクト

      説明
      • 特定のデータベースまたはテーブルに対して同期する SQL 操作を選択するには、選択中のオブジェクト ボックスでオブジェクトを右クリックし、表示されるダイアログボックスで目的の SQL 操作を選択します。

      • データをフィルターするための WHERE 句を設定するには、選択中のオブジェクト ボックスで同期するテーブルを右クリックし、表示されるダイアログボックスでフィルター条件を設定します。条件の設定方法の詳細については、「フィルター条件の設定」をご参照ください。

      • オブジェクト名マッピング機能を使用する場合、マップされたオブジェクトに依存する他のオブジェクトの同期が失敗する可能性があります。

    2. 詳細設定へ をクリックして、詳細パラメーターを設定します。

      設定

      説明

      タスクのスケジュールに使用する専用クラスターの選択

      デフォルトでは、DTS は共有クラスターでタスクをスケジュールするため、クラスターを選択する必要はありません。より安定したパフォーマンスを得るために、専用クラスターを購入して DTS 同期タスクを実行できます。詳細については、「DTS 専用クラスターとは」をご参照ください。

      失敗した接続の再試行時間

      同期タスクの開始後、ソースまたはターゲットデータベースへの接続が失敗した場合、DTS はエラーを報告し、直ちに接続のリトライを開始します。デフォルトのリトライ時間は 720 分です。10 分から 1,440 分の範囲でカスタムのリトライ時間を指定することもできます。30 分以上に設定することを推奨します。指定された時間内に DTS がデータベースに正常に再接続した場合、同期タスクは自動的に再開されます。そうでない場合、タスクは失敗します。

      説明
      • 同じソースまたはターゲットを共有する複数の DTS インスタンス (インスタンス A とインスタンス B など) があり、インスタンス A のネットワークリトライ時間を 30 分、インスタンス B を 60 分に設定した場合、両方に短い方の 30 分が使用されます。

      • DTS は接続リトライ期間中のタスク実行時間に対して課金するため、ビジネスニーズに基づいてリトライ時間をカスタマイズするか、ソースおよびターゲットデータベースインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。

      移行タスクの開始後、ソースまたはターゲットデータベースで DDL または DML 実行例外などの非接続性の問題が発生した場合、DTS はエラーを報告し、直ちに操作のリトライを開始します。デフォルトのリトライ時間は 10 分です。1 分から 1440 分の範囲でリトライ時間をカスタマイズできます。10 分以上に設定することを推奨します。指定されたリトライ時間内に関連操作が成功した場合、移行タスクは自動的に再開されます。そうでない場合、タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 の値は、失敗した接続の再試行時間 の値より小さくする必要があります。

      完全同期レートを制限するかどうか

      完全同期段階では、DTS はソースおよびターゲットデータベースの読み取りおよび書き込みリソースを消費するため、データベースの負荷が増加する可能性があります。ソースおよびターゲットデータベースの負荷を軽減するために、1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを設定することで、完全同期タスクのレート制限を設定できます。

      説明
      • この設定項目は、同期タイプ完全データ同期 に設定されている場合にのみ使用できます。

      • 同期インスタンスの実行後に 完全同期レートを調整することもできます。

      増分同期率を制限するかどうか

      増分同期タスクのレート制限も設定できます。ターゲットデータベースへの負荷を軽減するために、1 秒あたりの増分同期の行数 RPS1 秒あたりの増分同期データ量 (MB) BPS を設定します。

      環境タグ

      必要に応じて、インスタンスを識別するための環境タグを選択できます。この例では、タグを選択する必要はありません。

      順方向および逆方向タスクのハートビートテーブル SQL を削除

      DTS インスタンスの実行中にハートビート SQL 情報をソースデータベースに書き込むかどうかを選択します。

      • :ハートビート SQL 情報はソースデータベースに書き込まれません。これにより、DTS インスタンスが遅延を報告する可能性があります。

      • ×:ハートビート SQL 情報をソースデータベースに書き込みます。これにより、ソースデータベースの物理バックアップやクローニングなどの機能に干渉する可能性があります。

      監視アラート

      アラートを設定するかどうかを指定します。同期が失敗した場合や、遅延が指定されたしきい値を超えた場合に、アラート連絡先に通知が送信されます。

    3. [次へ:データ検証] をクリックして、データ検証タスクを設定します。

      データ検証機能を使用する場合は、設定手順について「データ検証の設定」をご参照ください。

  6. タスクを保存して事前チェックを実行します。

    • このインスタンスを設定するための API パラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにカーソルを合わせ、バブル内の OpenAPI パラメーターのプレビュー をクリックします。

    • API パラメーターの表示が完了したら、ページ下部の 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • 同期ジョブが開始される前に、DTS は事前チェックを実行します。ジョブは、すべての事前チェック項目が成功した後にのみ開始できます。

    • 事前チェックが失敗した場合は、失敗した項目の 詳細を表示 をクリックします。プロンプトに従って問題を修正し、再度事前チェックを実行します。

    • 事前チェックで警告が返された場合:

      • チェック項目が失敗し、無視できない場合は、項目の横にある 詳細を表示 をクリックします。指示に従って問題を修正し、再度事前チェックを実行します。

      • 無視できるチェック項目については、アラートの詳細を確認無視OK再度事前チェックを実行 を順にクリックして警告をスキップし、事前チェックを再実行できます。警告項目を無視することを選択した場合、データ不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。

  7. インスタンスを購入します。

    1. 成功率 が 100% になったら、次:インスタンスの購入 をクリックします。

    2. 購入 ページで、データ同期インスタンスの課金方法とリンク仕様を選択します。次の表で、これらのパラメーターについて詳しく説明します。

      カテゴリ

      パラメーター

      説明

      新しいインスタンスクラス

      課金方法

      • サブスクリプション:インスタンス作成時にお支払いいただきます。長期的なニーズに適しており、従量課金よりもコスト効率が高いです。サブスクリプション期間が長いほど、割引率が高くなります。

      • 従量課金:時間単位で課金されます。短期的なニーズに適しています。使用後すぐにインスタンスをリリースしてコストを節約できます。

      リソースグループの設定

      インスタンスが属するリソースグループ。デフォルトはデフォルトリソースグループです。詳細については、「Resource Management とは」をご参照ください。

      リンク仕様

      DTS は、さまざまなパフォーマンスレベルの同期仕様を提供します。同期リンク仕様は同期レートに影響します。ビジネスシナリオに基づいて仕様を選択できます。詳細については、「データ同期リンク仕様」をご参照ください。

      サブスクリプション期間

      サブスクリプションモードでは、サブスクリプションインスタンスの期間と数量を選択します。1〜9 か月の月次サブスクリプション、または 1、2、3、5 年の年次サブスクリプションを選択できます。

      説明

      このオプションは、課金方法が サブスクリプション の場合にのみ使用できます。

    3. 設定が完了したら、Data Transmission Service (従量課金) 利用規約 を読んで選択します。

    4. 購入して起動 をクリックします。OK ダイアログボックスで、[OK] をクリックします。

      データ同期ページでタスクの進捗状況を確認できます。

  8. 逆方向同期タスクを設定します。

    1. 正方向タスクの初期同期が完了し、ステータス実行中 になるまで待ちます。

    2. 逆方向同期タスクを見つけて、タスクの設定 をクリックします。

    3. ステップ 3 から ステップ 6 に従って、逆方向同期タスクを設定します。

      重要
      • 逆方向同期タスクを設定する際は、正しいソースインスタンスとターゲットインスタンスを選択する必要があります。逆方向同期タスクでは、ソースインスタンスは正方向同期タスクのターゲットインスタンスであり、ターゲットインスタンスは正方向同期タスクのソースインスタンスです。また、データベース名、アカウント、パスワードなどのインスタンス情報が一致していることを慎重に確認する必要があります。

      • 逆方向同期タスクのソースデータベースとターゲットデータベースの インスタンスのリージョン は変更できません。逆方向同期タスクは、正方向同期タスクよりも設定するパラメーターが少なくなっています。コンソールに表示されるパラメーターのみを設定する必要があります。

      • リモート同期タスクの 競合するテーブルの処理モード 設定は、正方向同期タスクによってターゲットインスタンスに同期されたテーブルを無視します。

      • リモート同期タスクは、正方向同期タスクの 選択中のオブジェクト に含まれるオブジェクトを同期できません。

      • 逆方向タスクを設定する際には、マッピング機能を使用しないことを推奨します。そうしないと、データ不整合が発生する可能性があります。

    4. [成功率] が 100% に達したら、[戻る] をクリックします。

  9. 逆方向同期タスクの設定後、両方の同期タスクの ステータス実行中 になるまで待ちます。双方向データ同期の設定はこれで完了です。