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

PolarDB:PolarDB for MySQL から AnalyticDB for MySQL へのデータ同期

最終更新日:Mar 31, 2026

Data Transmission Service (DTS) を使用して、PolarDB for MySQL クラスターから AnalyticDB for MySQL クラスターへデータを同期します。同期が開始されると、PolarDB for MySQL の本番ワークロードに影響を与えることなく、AnalyticDB for MySQL を使用してビジネスインテリジェンス(BI)システム、インタラクティブなクエリシステム、およびリアルタイムレポートシステムを構築できます。

前提条件

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

課金

同期タイプ 費用
スキーマ同期と完全データ同期 無料
増分データ同期 課金対象です。詳細については、「課金概要」をご参照ください。

サポートされる SQL 操作

DTS では、以下の SQL 操作を同期できます。

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

  • DML: INSERT、UPDATE、DELETE

説明

データ同期中にソーステーブルのフィールドのデータ型を変更すると、同期ジョブでエラーが報告され、停止します。この問題は手動で修正できます。詳細については、「データ型変更による同期失敗の修正」をご参照ください。

同期中にフィールドのデータ型が変更された場合、DTS でエラーが報告され、タスクが停止します。トラブルシューティング手順については、「フィールド型変更による同期失敗のトラブルシューティング」をご参照ください。

必要な権限

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

データベースアカウントを作成および承認するには、AnalyticDB for MySQL 向けデータベースアカウントの作成PolarDB for MySQL 向けデータベースアカウントの作成およびを参照してください。

データ型マッピング

PolarDB for MySQL と AnalyticDB for MySQL 間のデータ型マッピングについては、「スキーマ同期のためのデータ型マッピング」をご参照ください。

制限事項

同期を開始する前に、以下の制限事項を確認してください。

  • パフォーマンスへの影響: 初期完全同期中、DTS はソースクラスターから読み取り、送信先クラスターへ書き込みを行うため、両方のインスタンスの負荷が増加します。ソースクラスターに多数の遅延クエリや主キーのないテーブルが存在する場合、または送信先クラスターでデッドロックが発生した場合、パフォーマンスへの影響がさらに大きくなります。CPU 使用率が両方のインスタンスで 30 % 未満となる非ピーク時間帯に同期を実行することを推奨します。

  • DDL ツールの制限: 同期中に gh-ost や pt-online-schema-change を使用して DDL 操作を実行しないでください。これらのツールを使用すると、同期が失敗する可能性があります。

  • 送信先ディスク領域のしきい値: AnalyticDB for MySQL では、ノードのディスク使用率が 80 % を超えるとクラスターがロックされます。同期を開始する前に、必要なディスク領域を見積もり、送信先クラスターに十分なストレージ容量があることを確認してください。

  • プレフィックスインデックスの制限: DTS ではプレフィックスインデックスを同期できません。たとえば、CREATE INDEX idx ON table_name (column_name(10)) として定義されたインデックスは同期されません。ソースクラスターにプレフィックスインデックスが含まれている場合、データの同期が失敗する可能性があります。

データ同期の設定

ステップ 1:DTS インスタンスの購入

データ同期インスタンスの購入を行います。購入ページで、以下のオプションを設定します。

  • ソースインスタンス: PolarDB

  • ターゲットインスタンス: AnalyticDB for MySQL

  • 同期トポロジー: 単方向同期

ステップ 2:同期タスクの設定

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

    Data Management (DMS) コンソールにリダイレクトされた場合は、image にある old アイコンをクリックして、DTS コンソールの以前のバージョンに切り替えます。
  2. 左側のナビゲーションウィンドウで、データ同期 をクリックします。

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

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

  5. ソースおよび送信先クラスターを設定します。

    セクション パラメーター 説明
    該当なし 同期タスク名 自動生成される名前です。タスクを識別できるように、意味のある名前を指定してください。名前は一意である必要はありません。
    ソースインスタンスの詳細 インスタンスタイプ PolarDB インスタンス に設定します。この値は変更できません。
    インスタンスのリージョン 購入ページで選択したソースリージョンです。この値は変更できません。
    PolarDB インスタンス ID ソースの PolarDB for MySQL クラスターの ID です。
    データベースアカウント ソースクラスターのデータベースアカウントです。「必要な権限」をご参照ください。
    データベースパスワード ソースデータベースアカウントのパスワードです。
    送信先インスタンスの詳細 インスタンスタイプ AnalyticDB に設定します。この値は変更できません。
    インスタンスのリージョン 購入ページで選択した送信先リージョンです。この値は変更できません。
    バージョン 3.0 を選択します。
    データベース 送信先の AnalyticDB for MySQL クラスターの ID です。
    データベースアカウント AnalyticDB for MySQL データベースのアカウントです。「必要な権限」をご参照ください。
    データベースパスワード 送信先データベースアカウントのパスワードです。

    Configure the source and destination clusters

  6. [ホワイトリストの設定と次へ] をクリックします。DTS は、Alibaba Cloud データベースインスタンスの IP アドレスホワイトリストに、自社サーバーの CIDR ブロックを自動的に追加します。Elastic Compute Service (ECS) インスタンス上で実行される自己管理データベースの場合、DTS は ECS セキュリティグループルールに自社の CIDR ブロックを自動的に追加します。この際、ECS インスタンスがデータベースに接続できることを確認してください。データベースが複数の ECS インスタンスで実行されている場合は、各インスタンスのセキュリティグループルールに DTS の CIDR ブロックを手動で追加します。オンプレミスデータベースまたはサードパーティのクラウドプロバイダーのデータベースの場合は、IP アドレスホワイトリストに DTS の CIDR ブロックを手動で追加します。詳細については、「DTS サーバーの CIDR ブロックをオンプレミスデータベースのセキュリティ設定に追加する」をご参照ください。

    警告

    ホワイトリストまたはセキュリティグループルールへの DTS の CIDR ブロックの追加にはセキュリティリスクが伴います。実行前に、強力な認証情報の使用、公開ポートの制限、API 呼び出しの認証、ホワイトリストおよびセキュリティグループルールの定期的な監査、不正な CIDR ブロックのブロックなど、予防措置を講じてください。また、Express Connect、VPN Gateway、または Smart Access Gateway を使用して、データベースと DTS を接続することもできます。

  7. 同期ポリシーおよび同期対象のオブジェクトを選択します。

    パラメーター 説明
    初期同期タイプの選択 初期スキーマ同期 および 初期完全同期 の両方を選択します。事前チェックが完了すると、DTS は選択したオブジェクトのスキーマおよびデータを同期します。これは、その後の増分同期に必須です。
    既存の送信先テーブルでの処理モード 事前チェックとエラー報告(デフォルト):両方のデータベースに同一名称のテーブルが存在するかどうかをチェックします。送信先にすでに同名のテーブルが存在する場合、事前チェックは失敗し、タスクを開始できません。名前の重複を解決するには、オブジェクト名マッピング機能を使用してください。「同期対象オブジェクトの名前変更」をご参照ください。エラーを無視して続行:同一名称のテーブルに関する事前チェックをスキップします。スキーマが一致する場合、DTS は送信先に既に存在するプライマリキーを持つ行をスキップします。スキーマが異なる場合、一致する列のみが同期され、それ以外はタスクが失敗します。>
    警告

    エラーを無視して続行 を選択すると、データの不整合が発生する可能性があります。

    複数テーブルのマージ はい:各テーブルに __dts_data_source 列を追加してデータソースを追跡します。このオプションを有効にすると、DDL 操作は同期できません。一部のソーステーブルのみをマージする場合は、個別の同期タスクを作成してください。いいえ(デフォルト):DDL 操作を同期できます。
    同期対象の操作タイプの選択 要件に応じて操作タイプを選択します。すべてのタイプがデフォルトで選択されています。「サポートされる SQL 操作」をご参照ください。
    同期対象のオブジェクトの選択 利用可能 セクションで、1 つ以上のテーブルまたはデータベースを選択し、向右小箭头 アイコンをクリックして 選択済み セクションに移動します。データベースを選択すると、そのデータベース内のすべてのスキーマ変更が同期されます。テーブルを選択すると、そのテーブルに対する ADD COLUMN 操作のみが同期されます。オブジェクト名はデフォルトで送信先で変更されません。オブジェクト名を変更するには、オブジェクト名マッピング機能を使用してください。「同期対象オブジェクトの名前変更」をご参照ください。
    データベースおよびテーブルの名前変更 オブジェクト名マッピング機能を使用して、送信先インスタンスのオブジェクト名を変更します。「オブジェクト名マッピング」をご参照ください。
    DMS によるオンライン DDL 操作時の一時テーブルの複製 DMSオンライン DDL 操作に を使用する場合に適用されます。はい:DTS は、オンライン DDL 操作によって生成された一時テーブルを同期します。大規模なオンライン DDL 操作では、同期が遅延する可能性があります。いいえ:DTS は元の DDL データのみを同期し、一時テーブルは同期しません。このプロセス中、送信先テーブルがロックされる場合があります。
    失敗した接続の再試行時間 DTS は、デフォルトで 720 分(12 時間)間、失敗した接続を再試行します。再試行期間内に DTS が再接続できた場合、同期は再開されます。それ以外の場合は、タスクが失敗します。再試行中も DTS インスタンスの課金が発生することにご注意ください。再試行時間をビジネス要件に応じて指定してください。また、ソースおよび送信先インスタンスがリリースされた後は、できるだけ早く DTS インスタンスをリリースすることもできます。

    Select the synchronization policy and the objects to be synchronized

  8. 次へ をクリックします。

  9. 各テーブルの送信先 AnalyticDB for MySQL クラスターへの同期先テーブルタイプを指定します。3.0 を選択します。

    初期スキーマ同期」が選択されている場合、各テーブルに対して[タイプ][プライマリキー列]、および[パーティションキー列]を指定する必要があります。詳細については、「CREATE TABLE」をご参照ください。

    设置表类型

  10. 事前チェック をクリックします。DTS は同期タスクを開始する前に事前チェックを実行します。事前チェックが成功した場合にのみ、タスクを開始できます。事前チェック項目のいずれかが失敗した場合は、失敗した項目の横にある 提示 アイコンをクリックして詳細を表示し、問題を修正して再度事前チェックを実行してください。修正しない項目については、無視して再度事前チェックを実行できます。

  11. 事前チェックが成功しました のメッセージが表示されたら、事前チェック ダイアログボックスを閉じます。同期タスクは自動的に開始されます。

  12. 同期タスク ページで、タスクの状態が 同期中 に変わるまで待ちます。

    View the status of a data synchronization task

次のステップ

タスクの状態が 同期中 になった後、AnalyticDB for MySQL のデータはソースの PolarDB for MySQL クラスターと常に最新の状態に保たれます。これにより、以下のような操作が可能になります。

  • AnalyticDB for MySQL のデータを使用して BI ダッシュボードおよびレポートを作成できます。

  • PolarDB for MySQL の本番ワークロードに影響を与えることなく、送信先クラスターでインタラクティブなクエリを実行できます。

  • 同期タスク ページで、同期タスクのステータスを監視できます。