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

Data Transmission Service:PolarDB-X 2.0 インスタンスから PolarDB for MySQL クラスターへのデータ同期

最終更新日:Mar 28, 2026

Data Transmission Service (DTS) を使用して、PolarDB-X 2.0 インスタンスから PolarDB for MySQL クラスターへデータを同期します。DTS はスキーマ同期、全量データ同期、および増分同期をサポートしています。

前提条件

タスクの構成を開始する前に、以下の条件が満たされていることを確認してください。

  • ソースとなる PolarDB-X 2.0 インスタンスは MySQL 5.7 と互換があります。

  • ターゲットとなる PolarDB for MySQL クラスターが作成済みです。詳細については、「Enterprise Edition クラスターの購入」または「サブスクリプションクラスターの購入」をご参照ください。

  • ターゲットクラスターの利用可能なストレージ領域が、ソースインスタンス上の全データサイズより大きいこと。

  • PolarDB-X 2.0 コンソールでバイナリログ記録が有効化されており、binlog_row_imagefull に設定されています。詳細については、「パラメーター設定」をご参照ください。

  • ソースデータベースアカウントには、同期対象のオブジェクトに対する SELECT 権限、および REPLICATION CLIENT 権限と REPLICATION SLAVE 権限が必要です。詳細については、「PolarDB-X のデータ同期ツール」をご参照ください。

  • ターゲットデータベースアカウントが、ターゲットデータベースに対して読み取りおよび書き込み権限を保持していること。

課金

同期タイプ料金
スキーマ同期および全量データ同期無料
増分同期課金済み。詳細については、「課金概要」をご参照ください。

制限事項

ソースデータベース

  • 同期対象のテーブルには、PRIMARY KEY またはすべてのフィールドが一意である一意制約 (UNIQUE constraint) が必要です。該当しない場合、ターゲットデータベースに重複レコードが発生する可能性があります。

  • テーブルを同期対象として選択し、かつターゲット側でテーブル名またはカラム名の変更を行う必要がある場合、1 つのタスクで同期できるテーブル数は最大 5,000 個です。5,000 個を超えるテーブルを同期する場合は、複数のタスクを構成するか、データベース単位での同期を選択してください。

  • バイナリログの保持期間に関する要件:

    • 増分同期のみの場合:バイナリログを最低 24 時間保持してください。

    • 全量データ同期+増分同期の場合:全量同期実行中は、バイナリログを最低 7 日間保持してください。全量同期完了後は、保持期間を 24 時間以上に短縮できます。ただし、これより短い期間に設定すると、DTS がバイナリログを取得できず、タスクが失敗する可能性があります。例外的な状況では、データの不整合やデータ損失が発生する場合があります。上記の要件に従ってバイナリログの保持期間を設定してください。これを遵守しない場合、Data Transmission Service (DTS) のサービスレベル合意 (SLA) で保証される信頼性およびパフォーマンスは確保されません。

  • 大文字を含むテーブル名は、スキーマ同期のみをサポートします。

  • TABLEGROUP オブジェクトおよび Locality 属性を持つデータベース/スキーマはサポートされていません。

  • スキーマ同期および全量データ同期中に、データベースまたはテーブルのスキーマを変更する DDL 文を実行しないでください。実行すると、タスクが失敗します。

外部キーの動作

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

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

その他の制限事項

  • ピーク時間帯を避けて同期を実行してください。全量データ同期は、両方のデータベースの読み取りおよび書き込みリソースを消費し、データベースサーバーの負荷を高めます。

  • 全量データ同期完了後、ターゲットの表領域はソースよりも大きくなります。これは、全量同期中の同時 INSERT 操作によって断片化が発生するためです。

  • 同期対象オブジェクトに対する DDL 操作に pt-online-schema-change を使用しないでください。使用すると、同期が失敗する可能性があります。

  • 同期中は、DTS を通じてのみターゲットへデータを書き込んでください。他のツールを併用してターゲットへデータを書き込んだり、DMS のオンライン DDL 操作を組み合わせたりすると、データ損失が発生する可能性があります。

  • 送信先で DDL 文の実行に失敗した場合、DTS はその文の実行を継続します。失敗した DDL 文は、タスクログ で確認してください。

  • MySQL のカラム名は大文字・小文字を区別しません。ソースに、大文字・小文字のみが異なるカラム名が存在する場合、それらのデータは同一のターゲットカラムに書き込まれ、予期しない結果を招く可能性があります。

  • 同期対象のデータに 4 バイト文字(稀な漢字や絵文字など)が含まれる場合、ターゲットテーブルは UTF8mb4 文字セットを使用する必要があります。スキーマ同期を利用する場合は、ターゲットの character_set_server パラメーターを UTF8mb4 に設定してください。

  • 同期が完了した後(ステータスが 完了 に変更された後)、analyze table <テーブル名> を実行して、データが正しく書き込まれていることを検証してください。たとえば、ソース側で高可用性(HA)スイッチオーバーが発生した場合、データがメモリ上にのみ残り、データ損失を引き起こす可能性があります。

  • DTS タスクが失敗した場合、DTS テクニカルサポートは 8 時間以内にそのタスクの復旧を試みます。 復旧中、タスクが再起動されたり、タスクパラメーターが変更されたりすることがあります (データベースパラメーターは変更されません)。 変更される可能性のあるパラメーターには、「DTS インスタンスのパラメーターの変更」トピックのインスタンスパラメーターの変更セクションにあるパラメーターなどがあります。

  • DTS は、ソースデータベース内の dts_health_check.ha_health_check テーブルを定期的に更新し、バイナリログファイルの位置を先に進めます。

サポートされる SQL 操作

タイプ操作
DMLINSERT、UPDATE、DELETE
DDLALTER TABLE;CREATE FUNCTION、CREATE INDEX、CREATE TABLE;DROP INDEX、DROP TABLE;RENAME TABLE;TRUNCATE TABLE
説明

RENAME TABLE 操作はデータの不整合を引き起こす可能性があります。テーブルを同期対象として選択し、同期中にそのテーブル名を変更した場合、そのテーブルに対する変更はターゲットへの同期が停止します。これを回避するには、RENAME TABLE 操作前のデータベースと、名前変更後のテーブルを含むデータベースの両方を、同期対象として追加してください。

同期タイプ

タスクを作成する前に、ご利用のシナリオに応じて適切な同期タイプを選択してください。

タイプ機能使用タイミング
スキーマ同期+全量データ同期テーブルスキーマおよび既存の全データをターゲットへコピーします初期構築またはワンタイムのデータコピー
スキーマ同期+全量データ同期+増分同期スキーマおよび既存データをコピーした後、ソースからの変更を継続的に適用しますリアルタイムのソーストラフィックを伴う継続的なレプリケーション
増分同期のみ継続的な変更のみを適用し、履歴データはコピーされませんターゲットに既にベースデータが存在する場合

ほとんどのユースケースでは、すべての 3 つのタイプを選択することを推奨します。DTS は、全量同期のデータを増分同期のベースラインとして使用します。

データ同期タスクの作成

ステップ 1:データ同期タスクページへ移動

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

  2. トップナビゲーションバーで、Data + AI をクリックします。

  3. 左側のナビゲーションウィンドウで、DTS (DTS)データ同期 を選択します。

説明

DMS のモードとレイアウトによって、コンソールの操作が異なる場合があります。 詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。 また、新しい DTS コンソールのデータ同期タスクページに直接移動することもできます。

ステップ 2:リージョンの選択

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

説明

新 DTS コンソールでは、トップナビゲーションバーでリージョンを選択します。

ステップ 3:ソースおよびターゲットデータベースの構成

タスクの作成 をクリックします。[データ同期タスクの作成] ウィザードで、以下のパラメーターを構成します。

警告

ソースおよびターゲットデータベースの構成後に表示される 使用制限 を必ずご確認ください。この手順を省略すると、タスクの失敗やデータの不整合が発生する可能性があります。

タスク名

パラメーター説明
タスク名DTS が自動的にタスク名を生成します。タスクを容易に識別できるよう、意味のある名前を入力してください。名前は一意である必要はありません。

ソースデータベース

パラメーター説明
DMS データベースインスタンスの選択既存の DMS データベースインスタンスを選択すると、DTS が接続パラメーターを自動的に設定します。手動で設定する場合は、空白のままにしてください。
データベースタイプ[PolarDB-X 2.0] を選択します。
アクセス方法[Alibaba Cloud インスタンス] を選択します。
インスタンスリージョンソース PolarDB-X インスタンスが配置されているリージョンを選択します。
インスタンス IDソース PolarDB-X インスタンスの ID を選択します。
データベースアカウントデータベースアカウントを入力します。このアカウントは、同期対象のオブジェクトに対して SELECT 権限、および REPLICATION CLIENT 権限と REPLICATION SLAVE 権限を持っている必要があります。詳細については、「PolarDB-X のデータ同期ツール」をご参照ください。
データベースパスワードデータベースアカウントのパスワードを入力します。

宛先データベース

パラメーター説明
DMS データベースインスタンスの選択既存の DMS データベースインスタンスを選択すると、DTS が接続パラメーターを自動的に設定します。手動で設定する場合は、空白のままにしてください。
データベースタイプ[PolarDB for MySQL] を選択します。
アクセス方法[Alibaba Cloud インスタンス] を選択します。
インスタンスリージョンターゲット PolarDB for MySQL クラスターが配置されているリージョンを選択します。
PolarDB クラスター IDターゲット PolarDB for MySQL クラスターの ID を選択します。
データベースアカウントデータベースアカウントを入力します。このアカウントは、ターゲットデータベースに対して読み取りおよび書き込み権限を保持している必要があります。
データベースパスワードデータベースアカウントのパスワードを入力します。

ステップ 4:接続性のテスト

接続性のテストと続行 をクリックします。

DTS は、自動的にそのサーバーの CIDR ブロックを Alibaba Cloud データベースインスタンスのホワイトリストおよび自己管理データベースをホストする Elastic Compute Service (ECS) インスタンスのセキュリティグループルールに追加します。データベースが複数の ECS インスタンスにデプロイされている場合、各 ECS インスタンスのセキュリティグループルールに DTS サーバーの CIDR ブロックを手動で追加する必要があります。データセンターまたは第三者クラウドプロバイダー上の自己管理データベースの場合、DTS サーバーの CIDR ブロックをデータベースのホワイトリストに手動で追加してください。詳細については、「DTS サーバーの CIDR ブロックをオンプレミスデータベースのセキュリティ設定に追加する」をご参照ください。

警告

DTS サーバーの CIDR ブロックをホワイトリストまたはセキュリティグループルールに追加することは、潜在的なセキュリティリスクを伴います。続行する前に、パスワードの強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストエントリの定期監査、Express Connect、VPN Gateway、または Smart Access Gateway を使用したデータベースと DTS の接続など、予防措置を講じてください。

ステップ 5:オブジェクトの選択と設定の構成

以下のパラメーターを構成します。

同期タイプ

パラメーター説明
同期タイプ[スキーマ同期]、[全量データ同期]、および [増分同期] を選択します。デフォルトでは、[増分同期] のみが選択されています。事前チェックが成功した後、DTS は増分同期のベースラインとして、ソースから既存データを同期します。

競合テーブルの処理

パラメーター説明
競合テーブルの処理モードエラーを事前チェックして報告:DTS は、送信先テーブルとソーステーブルの名前が重複していないかをチェックします。一致する名前が見つかった場合、事前チェックは失敗し、タスクを開始できません。この競合を解消するには、オブジェクト名マッピング機能を使用して送信先テーブルの名前を変更してください。詳細については、「Map object names」をご参照ください。
エラーを無視して続行:テーブル名のチェックをスキップします。ソーステーブルと送信先テーブルのスキーマが同一で、レコードの主キーまたは一意キーの値が一致する場合、フル同期中は既存のレコードが保持され、増分同期中は上書きされます。スキーマが異なる場合、初期化が失敗するか、一部のカラムのみが同期される可能性があります。慎重に使用してください。

同期対象オブジェクト

ソースオブジェクト セクションからオブジェクトを選択し、向右 アイコンをクリックして 選択済みオブジェクト セクションに移動します。カラム、テーブル、またはデータベースを選択できます。テーブルまたはカラムを選択した場合、ビュー、トリガー、ストアドプロシージャは同期されません。

選択済みオブジェクト セクションでは:

  • 単一オブジェクトの名前を変更するには、そのオブジェクトを右クリックします。詳細については、「単一オブジェクトの名前をマップする」をご参照ください。

  • 複数のオブジェクトを一度に名前変更するには、右上隅の [バッチ編集] をクリックします。詳細については、「複数のオブジェクト名を一度にマップする」をご参照ください。

  • 特定のオブジェクトに対して同期する SQL 操作をフィルターするには、オブジェクトを右クリックして操作を選択します。サポートされる操作については、「サポートされる SQL 操作」をご参照ください。

  • 条件に基づいて行をフィルターするには、オブジェクトを右クリックして WHERE 句を指定します。詳細については、「フィルター条件の指定」をご参照ください。

ステップ 6:高度な設定の構成

次へ:高度な設定 をクリックし、以下のパラメーターを構成します。

パラメーター説明
モニタリングとアラートいいえ:アラート機能を無効にします。はい:アラート機能を有効にします。アラートのしきい値および通知設定を構成してください。詳細については、「モニタリングとアラートの設定」をご参照ください。
接続失敗時のリトライ時間タスク開始後に DTS が接続失敗をリトライする時間範囲です。有効値:10~1440 分。デフォルト値:720 分。この値は少なくとも 30 分以上に設定してください。DTS がこの時間枠内で再接続できた場合、タスクは再開されます。それ以外の場合、タスクは失敗します。複数のタスクで同じソースまたは送信先を共有している場合、最も短いリトライ時間枠が適用されます。リトライ中も DTS の課金は継続されます。
ETL の設定いいえ:抽出・変換・書き出し(ETL)を無効にします。はい:ETL を有効にし、データ処理文を記述するためのコードエディタを開きます。詳細については、「ETL とは」および「データ移行またはデータ同期タスクでの ETL の設定」をご参照ください。
転送および逆再生タスクのハートビートテーブルに対する SQL 操作の削除設定はい:ハートビートテーブルの SQL 操作をソースに書き込みません。DTS インスタンス上に遅延インジケーターが表示される場合があります。いいえ:ハートビートテーブルの SQL 操作をソースに書き込みます。これにより、ソースデータベースの物理バックアップおよびクローン作成に影響を与える可能性があります。

ステップ 7:事前チェックの実行

次へ:タスク設定の保存と事前チェック をクリックします。

説明

このタスク構成の OpenAPI パラメーターをプレビューするには、次へ:タスク設定の保存と事前チェック 上にカーソルを合わせ、OpenAPI パラメーターのプレビュー をクリックします。

DTS は、タスク開始前に事前チェックを実行します。事前チェックが失敗した場合:

  • 各失敗項目の横にある 詳細の表示 をクリックし、問題を診断・解決した後、再度事前チェックを実行してください。

  • 無視可能な警告項目については、警告の詳細の確認無視OK をクリックし、その後 再チェック をクリックしてください。警告を無視すると、データの不整合が発生する可能性があります。

ステップ 8:インスタンスの購入

成功率100% に達するまで待機し、次へ:インスタンスの購入 をクリックします。

購入 ページで、以下のパラメーターを構成します。

パラメーター説明
支払い方法サブスクリプション:固定期間分を前払いします。長期利用の場合、コスト効率に優れています。従量課金:1 時間単位で課金されます。短期利用に適しています。ご利用のインスタンスが不要になった場合は、すぐにリリースして課金を停止してください。
リソースグループ設定同期インスタンスのリソースグループです。デフォルト:default resource group。詳細については、「What is Resource Management?
インスタンスクラス同期速度はインスタンスクラスによって異なります。スループット要件に応じて適切なクラスを選択してください。詳細については、「Instance classes of data synchronization instances」をご参照ください。
サブスクリプション期間サブスクリプション支払い方法でのみ利用可能です。選択肢:1~9 か月、1 年、2 年、3 年、または 5 年。

ステップ 9:タスクの開始

Data Transmission Service (従量課金) 利用規約 を読み、チェックボックスをオンにした後、購入して開始 をクリックします。確認ダイアログボックスで、OK をクリックします。

タスクリストでタスクの進行状況を確認できます。