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

Data Transmission Service:PolarDB for MySQL クラスターから AnalyticDB for MySQL クラスターへのデータ同期

最終更新日:Mar 01, 2026

Data Transmission Service (DTS) は、リアルタイム分析のために PolarDB for MySQL から AnalyticDB for MySQL へデータを同期します。同期後、AnalyticDB for MySQL を使用して BI システム、インタラクティブクエリシステム、またはリアルタイムレポートシステムを構築できます。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

  • 同期対象のデータを格納できる十分なストレージを持つ AnalyticDB for MySQL クラスターが存在すること。詳細については、「Create an AnalyticDB for MySQL cluster」をご参照ください。

  • PolarDB for MySQL クラスターでバイナリログが有効になっていること。詳細については、「Enable binary logging」をご参照ください。

課金

同期タイプ料金
スキーマ同期およびフルデータ同期無料
増分同期課金対象です。詳細については、「Billing overview」をご参照ください。

サポートされる SQL 操作

  • DDL 操作:CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE、ADD COLUMN、DROP COLUMN、MODIFY COLUMN

  • DML 操作:INSERT、UPDATE、DELETE

説明

同期中にソーステーブルのフィールドのデータ型が変更されると、エラーが発生し、タスクが中断されます。詳細については、「Troubleshoot the synchronization failure that occurs due to field type changes」をご参照ください。

必要なデータベースアカウント権限

データベース必要な権限
PolarDB for MySQL クラスター同期対象オブジェクトに対する読み取り権限
AnalyticDB for MySQL クラスター必要なオブジェクトに対する読み取りおよび書き込み権限

データベースアカウントの作成および権限付与については、PolarDB for MySQL の「Create and manage a database account」および AnalyticDB for MySQL の「Create a database account」をご参照ください。

データ型のマッピング

詳細については、「Data type mappings for schema synchronization」をご参照ください。

制限事項

  • DTS は、初期完全同期中にソースインスタンスおよび宛先インスタンスの読み取り・書き込みリソースを使用します。これにより、データベースの負荷が増加する可能性があります。インスタンスのパフォーマンスが低下している場合、スペックが低い場合、またはデータ量が多い場合は、データベースサービスが利用できなくなることがあります。たとえば、ソースインスタンスで多数の低速 SQL クエリが実行されている場合、テーブルにプライマリキーが存在しない場合、または宛先インスタンスでデッドロックが発生している場合、DTS は大量の読み取り・書き込みリソースを占有します。同期前にパフォーマンスへの影響を評価し、ソースおよび宛先インスタンスの CPU 使用率が 30 % 未満の非ピーク時間帯にデータ同期を実施してください。

  • データ同期中に、同期対象オブジェクトに対して gh-ost または pt-online-schema-change を使用して DDL 操作を実行しないでください。そうしないと、データが同期されない可能性があります。

  • AnalyticDB for MySQL クラスターのノードのディスク領域使用率が 80 % を超えると、クラスターはロックされます。同期対象オブジェクトに基づいて必要なディスク領域を推定し、宛先クラスターに十分なストレージがあることを確認してください。

  • プレフィックスインデックスは同期できません。ソースデータベースにプレフィックスインデックスが含まれている場合、データが同期されない可能性があります。

操作手順

Step 1:DTS インスタンスの購入

データ同期インスタンスを購入します。詳細については、「Purchase a data synchronization instance」をご参照ください。

購入ページで、[ソースインスタンス] を PolarDB、[ターゲットインスタンス] を AnalyticDB for MySQL、[同期トポロジー] を One-way Synchronization に設定します。

Step 2:ソースおよび宛先データベースの設定

  1. DTS コンソールにログインします。

    Data Management (DMS) コンソールにリダイレクトされた場合は、old アイコンを image 内でクリックして、DTS コンソールの以前のバージョンに移動します。
  2. 左側のナビゲーションウィンドウで、Data Synchronization をクリックします。

  3. Data Synchronization Tasks ページの上部で、宛先インスタンスが配置されているリージョンを選択します。

  4. データ同期インスタンスを検索し、[操作] 列の Configure Task をクリックします。

  5. ソースおよび宛先データベースを設定します。

    セクションパラメーター説明
    該当なしタスク名DTS が自動的にタスク名を生成します。タスクを識別しやすいように、わかりやすい名前を指定してください。一意のタスク名である必要はありません。
    ソースデータベースデータベースタイプPolarDB for MySQL に設定します。この値は変更できません。
    インスタンスリージョン購入ページで選択したソースリージョンです。この値は変更できません。
    PolarDB クラスター IDソースの PolarDB for MySQL クラスターの ID です。
    データベースアカウントソースクラスターのデータベースアカウントです。「Required database account permissions」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
    宛先データベースデータベースタイプData Warehouse タブの下にある AnalyticDB for MySQL 3.0 に設定します。この値は変更できません。
    インスタンスリージョン購入ページで選択した宛先リージョンです。この値は変更できません。
    インスタンス ID宛先の AnalyticDB for MySQL クラスターの ID です。
    データベースアカウントAnalyticDB for MySQL データベースのアカウントです。「Required database account permissions」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
  6. ページ右下隅の Test Connectivity and Proceed をクリックします。DTS は、Alibaba Cloud データベースインスタンス(ApsaraDB RDS for MySQL や ApsaraDB for MongoDB など)のホワイトリストに DTS サーバーの CIDR ブロックを自動的に追加します。Elastic Compute Service (ECS) インスタンス上で自己管理データベースをホストしている場合、DTS は ECS セキュリティグループルールに CIDR ブロックを自動的に追加します。ECS インスタンスがデータベースにアクセスできることを確認してください。自己管理データベースが複数の ECS インスタンス上でホストされている場合は、各 ECS セキュリティグループに DTS サーバーの CIDR ブロックを手動で追加してください。データセンターまたはサードパーティのクラウドプラットフォーム上のデータベースの場合は、データベースのホワイトリストに CIDR ブロックを手動で追加してください。詳細については、「Add the CIDR blocks of DTS servers」をご参照ください。

    警告

    ホワイトリストまたは ECS セキュリティグループルールに DTS サーバーの CIDR ブロックを追加すると、セキュリティリスクが生じる可能性があります。DTS を使用する前に、リスクを理解し、予防措置を講じてください。具体的には、ユーザー名およびパスワードのセキュリティ強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストまたは ECS セキュリティグループルールの定期的なレビュー、不正な CIDR ブロックの削除、Express Connect、VPN Gateway、または Smart Access Gateway を介した DTS への接続などが挙げられます。

Step 3:同期ポリシーおよびオブジェクトの選択

  1. 同期ポリシーを設定し、同期するオブジェクトを選択します。

    パラメーター説明
    同期の初期化タイプの選択Initial Schema Synchronization および Initial Full Data Synchronization の両方にチェックを入れます。事前チェックが完了すると、DTS は選択したオブジェクトのスキーマおよびデータをソースインスタンスから宛先クラスターに同期します。これらは、その後の増分同期の基盤となります。
    既存の宛先テーブルでの処理モードPrecheck and Report Errors:ソースおよび宛先データベースに同じ名前のテーブルが存在するかどうかをチェックします。宛先データベースに一致するテーブル名が存在しない場合、事前チェックはパスします。そうでない場合、エラーが返され、タスクを開始できません。オブジェクト名マッピング機能を使用して、宛先データベースに同期されるテーブルの名前を変更できます。詳細については、「Rename an object to be synchronized」をご参照ください。Ignore Errors and Proceed:同一テーブル名の事前チェックをスキップします。
    警告

    Ignore Errors and Proceed を選択すると、データの不整合が発生する可能性があります。ソースおよび宛先データベースのスキーマが同一の場合、DTS は宛先データベース内のレコードと同じプライマリキーを持つデータレコードを同期しません。スキーマが異なる場合、初期データ同期が失敗する可能性があります。特定の列のみが移行されるか、タスクが失敗する可能性があります。

    複数テーブルのマージYes:DTS は各テーブルにデータソースを格納するための __dts_data_source 列を追加します。この場合、DDL 操作は同期できません。No(デフォルト):DDL 操作を同期できます。[Yes] に設定すると、タスク内の選択されたすべてのソーステーブルが宛先テーブルにマージされます。一部のソーステーブルのみをマージする場合は、2 つのデータ同期タスクを作成してください。
    同期する操作タイプの選択ビジネス要件に基づいて操作タイプを選択します。デフォルトでは、すべての操作タイプが選択されています。「Supported SQL operations」をご参照ください。
    同期するオブジェクトの選択Available セクションから 1 つ以上のオブジェクトを選択し、Rightwards arrow アイコンをクリックして Selected セクションに追加します。テーブルまたはデータベースを選択できます。データベースを選択した場合、そのデータベース内のすべてのスキーマ変更が同期されます。テーブルを選択した場合、ADD COLUMN 操作のみが同期されます。デフォルトでは、同期後のオブジェクト名は変更されません。オブジェクト名マッピング機能を使用して、宛先クラスターに同期されるオブジェクトの名前を変更できます。詳細については、「Rename an object to be synchronized」をご参照ください。
    データベースおよびテーブルの名前変更オブジェクト名マッピング機能を使用して、宛先インスタンスに同期されるオブジェクトの名前を変更します。詳細については、「Object name mapping」をご参照ください。
    DMS が DDL 操作を実行する際の一時テーブルの複製DMS を使用してソースデータベースでオンライン DDL 操作を実行する場合、オンライン DDL 操作によって生成された一時テーブルを同期するかどうかを指定します。Yes:DTS は一時テーブルのデータを同期します。オンライン DDL 操作によって大量のデータが生成された場合、データ同期タスクが遅延する可能性があります。No:DTS は一時テーブルのデータを同期しません。ソースデータベースの元の DDL データのみが同期されます。[No] を選択した場合、宛先データベースのテーブルがロックされる可能性があります。
    接続失敗時のリトライ時間デフォルトでは、DTS がソースまたは宛先データベースへの接続に失敗した場合、720 分(12 時間)以内に再試行します。ニーズに応じてリトライ時間を指定してください。指定された時間内に DTS が再接続すると、データ同期タスクが再開されます。それ以外の場合、タスクは失敗します。DTS はリトライ中もインスタンスに対して課金されます。ビジネス要件に基づいてリトライ時間を指定し、ソースおよび宛先インスタンスをリリースした後は、できるだけ早く DTS インスタンスをリリースしてください。
  2. ページ右下隅の Next をクリックします。

Step 4:テーブルタイプの設定

  1. 宛先データベースに同期するテーブルのタイプを指定します。

    Initial Schema Synchronization を選択した後、AnalyticDB for MySQL クラスターに同期するテーブルの タイププライマリキー列、および パーティションキー列 を指定します。「CREATE TABLE」をご参照ください。

Step 5:事前チェックの実行およびタスクの開始

  1. ページ右下隅の Precheck をクリックします。

    DTS は、データ同期タスクを開始する前に事前チェックを実行します。事前チェックがパスした後でのみ、タスクが開始されます。事前チェックが失敗した場合は、各失敗項目の横にある 提示 アイコンをクリックして詳細を確認してください。問題を解決した後、再度事前チェックを実行します。トラブルシューティングが不要な場合は、失敗項目を無視して新しい事前チェックを実行します。
  2. Precheck Passed のメッセージが表示されたら、Precheck ダイアログボックスを閉じます。データ同期タスクが自動的に開始されます。

  3. 初期同期が完了し、タスクが Synchronizing 状態になるまで待ちます。Data Synchronization Tasks ページでタスクのステータスを確認できます。

関連ドキュメント