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

Data Transmission Service:PolarDB-X 2.0 インスタンスから AnalyticDB for MySQL V3.0 クラスターへのデータ移行

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) を使用して、PolarDB-X 2.0 インスタンスから AnalyticDB for MySQL V3.0 クラスターへデータを移行します。移行後は、このクラスターを活用して、社内ビジネスインテリジェンス(BI)システム、インタラクティブなクエリシステム、リアルタイムレポートシステムを構築できます。

仕組み

DTS では、本移行パス向けに以下の 3 種類の移行タイプがサポートされています。

  • スキーマ移行:選択したオブジェクトのスキーマをターゲットクラスターにコピーします。

  • 完全なデータ移行:ソースインスタンスからターゲットクラスターへすべての既存データをコピーします。

  • 増分データ移行:完全なデータ移行完了後に、新規の変更を継続的に同期し、アプリケーションのダウンタイムなしで稼働を維持します。

ゼロダウンタイム移行を実現するには、上記 3 種類の移行を同時に実行します。短時間の切り替えウィンドウ(cutover window)が許容される場合は、スキーマ移行および完全なデータ移行のみを実行してください。

前提条件

開始前に、以下の点を確認してください。

  • ソース PolarDB-X 2.0 インスタンスが MySQL 5.7 と互換であることです。

  • ターゲットとなる AnalyticDB for MySQL V3.0 クラスターが作成済みであること。詳細については、「クラスターの作成」をご参照ください。

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

  • ターゲットクラスターのディスク使用率が 80 % 未満であること。ディスク使用率が 80 % に達すると、DTS タスクが遅延し、エラーが発生します。

  • ターゲットクラスターでバックアップが実行中でないこと。DTS タスク実行中にクラスターのバックアップを実行すると、タスクが失敗します。移行とバックアップのスケジュールを重複しないよう調整してください。

AnalyticDB for MySQL V3.0 のターゲット制約事項:

AnalyticDB for MySQL V3.0 は OLAP データベースです。開始前に、以下の動作について理解しておく必要があります。

  • ターゲットクラスターへ移行されるすべてのテーブルには、プライマリキーが必要です。ターゲットクラスターでカスタムプライマリキーを指定するか、または「データベース・テーブル・列の構成」ステップで プライマリキー列 を設定してください。プライマリキーが存在しない場合、移行が失敗する可能性があります。

  • 増分データ移行中、DTS は UPDATE ステートメントを自動的に REPLACE INTO に変換します。UPDATE がプライマリキー列を対象とする場合、DTS はこれを DELETEINSERT に変換します。

  • プレフィックスインデックスは移行できません。プレフィックスインデックスを持つテーブルは、移行に失敗する可能性があります。

  • 完全なデータ移行中の同時 INSERT 操作により、ターゲット側のテーブルスペースにフラグメントが発生します。完全なデータ移行完了後、ターゲットのテーブルスペースはソースよりも大きくなります。

制限事項

ソースデータベース

  • 帯域幅:ソースデータベースサーバーには十分なアウトバウンド帯域幅が必要です。帯域幅が不足していると、移行速度が低下します。

  • プライマリキーまたは一意制約:移行対象のすべてのテーブルには、PRIMARY KEY または、すべての一意なフィールド値を持つ UNIQUE 制約が必要です。これらの制約がないテーブルでは、ターゲット側に重複レコードが生成される可能性があります。

  • テーブル名変更の制限:移行中にテーブルまたは列の名前を変更する場合、1 つのタスクで最大 1,000 個のテーブルをサポートします。1,000 個を超えるテーブルを移行する場合は、複数のタスクをバッチ処理で実行するか、データベース単位での移行を実施してください。

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

  • TABLEGROUP および LocalityTABLEGROUP 内のテーブル、または Locality 属性を持つデータベース内のテーブルはサポートされていません。

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

  • 完全移行のみ実行時の書き込み:スキーマ移行および完全なデータ移行のみを実行し、増分データ移行を実行しない場合、移行中はソースデータベースへの書き込みを行わないでください。整合性を保つためには、増分データ移行を含める必要があります。

  • ネットワークタイプの変更:移行中に PolarDB-X 2.0 インスタンスのネットワークタイプを変更する場合は、DTS タスクのネットワーク接続設定も併せて更新してください。

増分データ移行の場合、以下の点も確認してください。

  • バイナリログが有効化されており、binlog_row_imagefull に設定されていること。設定されていない場合、事前チェックが失敗し、タスクを開始できません。

  • バイナリログの保持期間:DTS がバイナリログを読み取れない場合、タスクが失敗し、データ損失が発生する可能性があります。完全なデータ移行完了後は、保持期間を 24 時間以上に短縮できますが、それより短くすることはできません。

    • 増分移行のみの場合:ログは 24 時間以上保持してください。

    • 完全移行および増分移行を実行する場合:ログは最低 7 日間保持してください。

DTS タスクの動作

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

  • DTS は失敗したタスクを最大 7 日間リトライします。ワークロードをターゲットに切り替える前に、失敗した DTS タスクを停止またはリリースするか、DTS アカウントの書き込み権限を削除するために REVOKE を実行してください。これを行わないと、失敗したタスクが再開された際に、ソースデータがターゲットデータを上書きする可能性があります。

  • 送信先で DDL 文が失敗した場合、DTS はそれらの実行を継続します。失敗した DDL 文は、タスクログで確認できます。詳細については、「タスクログの表示」をご参照ください。

  • DTS タスクが失敗した場合、DTS テクニカルサポートは 8 時間以内に復旧を試みます。タスクが再起動されたり、そのパラメーターが変更されたりする場合があります。変更されるのはタスクパラメーターのみで、データベースパラメーターは変更されません。変更される可能性のあるパラメーターについては、「インスタンスパラメーターの変更」をご参照ください。

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

課金

移行タイプインスタンス構成料金インターネットトラフィック料金
スキーマ移行および完全なデータ移行無料アクセス方法パブリック IP アドレス に設定した場合のみ課金されます。「課金概要」をご参照ください。
増分データ移行課金対象です。「課金概要」をご参照ください。

増分データ移行中のサポート対象 SQL 操作

操作タイプSQL ステートメント
DMLINSERTUPDATEDELETEUPDATE は自動的に REPLACE INTO に変換されます。プライマリキー列に対する UPDATEDELETEINSERT に変換されます。
DDLCREATE TABLEDROP TABLERENAME TABLETRUNCATE TABLEADD COLUMNMODIFY COLUMNDROP COLUMN

必要な権限

タスクを開始する前に、DTS データベースアカウントに以下の権限を付与してください。

データベーススキーマ移行フルデータ移行増分データ移行
PolarDB-X 2.0SELECTSELECTSELECT(移行対象オブジェクトに対する実行)、および REPLICATION SLAVEREPLICATION CLIENTPolarDB-X のデータ同期ツール(増分データ移行のみ)。詳細については、「」をご参照ください。
AnalyticDB for MySQL V3.0読み取りおよび書き込み読み取りおよび書き込み読み取りおよび書き込み

AnalyticDB for MySQL V3.0 向けのデータベースアカウントの作成および権限付与については、「データベースアカウントの作成」をご参照ください。

データ型マッピング

ソースとターゲット間のデータ型マッピングについては、「初期スキーマ同期のデータ型マッピング」をご参照ください。

移行タスクの作成

ステップ 1:データ移行ページへ移動

以下のいずれかのコンソールを使用してください。

DTS コンソール

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

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

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

DMS コンソール

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

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

  2. 上部のナビゲーションバーで、Data + AI > DTS (DTS) > データ移行 にポインターを合わせます。

  3. データ移行タスク の右側にあるドロップダウンリストから、データ移行インスタンスが配置されているリージョンを選択します。

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

  1. タスクの作成 をクリックします。

  2. タスク構成ページで、ソースおよびターゲットデータベースを構成します。

    警告

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

    セクションパラメーター説明
    該当なしタスク名DTS タスクの名前です。DTS が自動的に名前を生成しますが、タスクを容易に識別できるように、意味のある名前を指定することを推奨します。名前は一意である必要はありません。
    ソースデータベース既存の接続を選択インスタンスが DTS に登録済みの場合は、ドロップダウンリストから選択してください。DTS がパラメーターを自動入力します。登録されていない場合は、パラメーターを手動で構成してください。DMS コンソールでは、DMS データベースインスタンスの選択 からインスタンスを選択します。「データベース接続の管理」をご参照ください。
    データベースタイプPolarDB-X 2.0 を選択します。
    アクセス方法Alibaba Cloud インスタンス を選択します。
    インスタンスリージョンソース PolarDB-X 2.0 インスタンスが配置されているリージョンです。
    Alibaba Cloud アカウント間でのデータ複製同一アカウント内での移行の場合は、いいえ を選択します。
    インスタンス IDソース PolarDB-X 2.0 インスタンスの ID です。
    データベースアカウントソースインスタンスのデータベースアカウントです。「必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
    宛先データベース既存の接続を選択ソースと同様です。DMS コンソールでは、DMS データベースインスタンスの選択 からインスタンスを選択します。
    データベースタイプAnalyticDB MySQL 3.0 を選択します。
    アクセス方法Alibaba Cloud インスタンス を選択します。
    インスタンスリージョンターゲット AnalyticDB for MySQL V3.0 クラスターが配置されているリージョンです。
    インスタンス IDターゲット AnalyticDB for MySQL V3.0 クラスターの ID です。
    データベースアカウントターゲットクラスターのデータベースアカウントです。「必要な権限」をご参照ください。
    データベースパスワードデータベースアカウントのパスワードです。
  3. 接続テストと続行 をクリックします。

    DTS サーバーは、ソースデータベースとターゲットデータベースにアクセスできる必要があります。 必要に応じて、DTS サーバーの CIDR ブロックをデータベースのセキュリティ設定に追加します。 「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

ステップ 3:移行対象オブジェクトの構成

  1. オブジェクトの構成 ページで、以下のパラメーターを設定します。

    パラメーター説明
    移行タイプ要件に応じて移行タイプを選択します。- スキーマ移行完全なデータ移行:スキーマおよび既存データを移行します。完了後に短時間の切り替えを実行します。- スキーマ移行完全なデータ移行増分データ移行:ゼロダウンタイム移行を実現します。切り替えまでターゲットを同期状態に保ちます。
    説明

    完全なデータ移行 を選択すると、CREATE TABLE で作成されたテーブルが移行されます。増分データ移行 を選択しない場合、移行中はソースデータベースへの書き込みを行わないでください。

    競合テーブルの処理モードターゲットにソースと同じ名前のテーブルが既に存在する場合の動作を制御します。- 事前チェックとエラー報告:一致するテーブル名が存在する場合、事前チェックが失敗します。移行テーブルの名前を変更するには、「オブジェクト名マッピング機能」をご利用ください。- エラーを無視して続行:事前チェックをスキップします。
    警告

    この設定はデータの不整合を引き起こす可能性があります。完全なデータ移行中は、ターゲットに既に存在するレコードが保持されます。増分データ移行中は、既存のレコードが上書きされます。スキーマが異なる場合、特定の列のみが移行されるか、タスクが失敗する可能性があります。

    マージテーブル- [はい]アラート通知設定:選択したソーステーブルを 1 つの送信先テーブルにマージし、データソースをトラックするために __dts_data_source 列を追加します。詳細については、「複数テーブルのマージ機能を有効化する」をご参照ください。このオプションを有効にしている間は、ソーステーブルに対して DDL 操作を実行しないでください。<br>- [いいえ](デフォルト):テーブルは個別に移行されます。
    ソースオブジェクト移行対象のオブジェクトを選択し、矢印アイコンをクリックして 選択済みオブジェクト に追加します。列、テーブル、またはデータベースを選択できます。データベースを選択した場合、ビュー、トリガー、ストアドプロシージャではなく、テーブルのみが移行されます。データベース移行時のデフォルト分散キー規則:- プライマリキーを持つテーブル:プライマリキー列が分散キーになります。- プライマリキーを持たないテーブル:自動採番主キー列が生成され、ソースとターゲットの間に不整合が発生する可能性があります。
    選択済みオブジェクト- オブジェクトを 1 つだけ名前変更するには、右クリックしてプロンプトに従って操作します。「移行対象オブジェクトの名前変更」をご参照ください。- 複数のオブジェクトを名前変更するには、右上隅の 編集 をクリックします。「複数のオブジェクトを一度に名前変更」をご参照ください。- 行をフィルターするには、オブジェクトを右クリックして WHERE 条件を指定します。「フィルター条件の指定」をご参照ください。- テーブルに対して特定の SQL 操作を選択するには、オブジェクトを右クリックして操作を選択します。
    説明

    オブジェクト名マッピング機能によるオブジェクトの名前変更は、依存オブジェクトを破壊する可能性があります。

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

    パラメーター説明
    タスクスケジューリング専用クラスターデフォルトでは、DTS は共有クラスターを使用します。より高い安定性を実現するには、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。
    接続失敗時のリトライ時間ソースまたはターゲットに到達できない場合の DTS のリトライ時間です。有効範囲:10~1,440 分。デフォルト:720 分。少なくとも 30 分に設定することを推奨します。この時間内に接続が復旧した場合、タスクは再開されます。そうでない場合は、タスクが失敗します。
    説明

    複数のタスクが同じソースまたはターゲットを共有する場合、最も最近設定された値が適用されます。リトライ中は、DTS インスタンスに対して課金されます。

    その他の問題発生時のリトライ時間タスク開始後に DML または DDL 操作が失敗した場合の DTS のリトライ時間です。有効範囲:1~1,440 分。デフォルト:10 分。10 分より大きい値を設定してください。接続失敗時のリトライ時間 よりも小さい値を設定する必要があります。
    完全なデータ移行の負荷制御の有効化完全なデータ移行中のソースおよびターゲットサーバーへの負荷を制限します。ソースデータベースへのクエリ数(QPS)完全なデータ移行の RPS、および 完全なデータ移行のデータ移行速度(MB/s) を構成します。完全なデータ移行 が選択されている場合にのみ利用可能です。
    増分データ移行の負荷制御の有効化増分データ移行中の負荷を制限します。増分データ移行の RPS および 増分データ移行のデータ移行速度(MB/s) を構成します。増分データ移行 が選択されている場合にのみ利用可能です。
    環境タグDTS インスタンスを識別するためのタグです。任意設定です。
    転送および逆再生タスクのハートビートテーブルに対する SQL 操作の削除の有無DTS がソースデータベースにハートビート SQL を書き込むかどうかを制御します。- はい:DTS はハートビート SQL を書き込みません。タスクに遅延数値が表示される場合があります。- いいえ:DTS はハートビート SQL を書き込みます。ソースの物理バックアップおよびクローン作成に影響を与える可能性があります。
    ETL の構成抽出・変換・書き出し (ETL) 機能を有効化し、移行中にデータを変換します。詳細については、「ETL とは」および「データ移行またはデータ同期タスクで ETL を設定する」をご参照ください。
    モニタリングとアラートタスクが失敗した場合、または移行遅延がしきい値を超えた場合にアラートを送信します。[はい] を選択して、アラートのしきい値と通知設定を設定します。詳細については、「モニタリングとアラートの設定」をご参照ください。
  3. (任意)次へ:データベースおよびテーブルフィールドの構成 をクリックします。ダイアログボックスで、ターゲットクラスターへ移行されるテーブルの タイププライマリキー列分散キーパーティションキーパーティショニングルール、および パーティションライフサイクル を構成します。

    このステップは、スキーマ移行 が選択されている場合にのみ利用可能です。定義ステータスすべて に設定すると、すべてのテーブルが表示されます。プライマリキー列 では、複合プライマリキーを構成する 1 つ以上の列を選択し、その後、プライマリキー列のうち 1 つ以上を分散キーおよびパーティションキーとして選択します。「CREATE TABLE」をご参照ください。

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

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

    保存前に、このタスク構成の OpenAPI パラメーターを表示するには、次へ:タスク設定の保存と事前チェック の上にポインターを合わせ、OpenAPI パラメーターのプレビュー をクリックします。
  2. DTS が自動的に事前チェックを実行します。結果を待機してください。

    • 項目が失敗した場合、失敗した項目の横にある 詳細の表示 をクリックし、問題を修正してから 再度事前チェック をクリックします。

    • 安全に無視できるアラートが表示された場合、アラート詳細の確認 をクリックし、ダイアログボックスで 無視 をクリックし、OK をクリックしてから 再度事前チェック をクリックします。アラートを無視すると、データの不整合が発生する可能性があります。

ステップ 5:インスタンスの購入および開始

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

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

    セクションパラメーター説明
    新しいインスタンスクラスリソースグループインスタンスのリソースグループ。デフォルト: [デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。
    インスタンスクラスインスタンスクラスは移行速度を決定します。データ量と所要時間に基づいて選択してください。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。
  3. Data Transmission Service(従量課金)サービス利用規約 をお読みになり、同意してください。

  4. 購入および開始 をクリックし、確認ダイアログボックスで OK をクリックします。

タスクの進行状況は、データ移行 ページで確認できます。

増分データ移行を実行しないタスクは、完全なデータ移行完了時に自動的に停止します。ステータスは 完了 と表示されます。
増分データ移行を実行するタスクは、継続的に実行され、自動的に停止することはありません。ステータスは 実行中 と表示されます。

移行後

タスクのステータスが 完了 になった後、またはワークロードをターゲットクラスターに切り替える前に、以下の手順を完了してください。

  1. データ整合性の検証:ソースとターゲットの行数およびサンプルデータを比較し、すべてのデータが正しく移行されたことを確認します。

  2. DTS タスクの停止またはリリース:DTS は失敗したタスクを最大 7 日間リトライします。アクティブまたは失敗した DTS タスクをすべて停止またはリリースしてください。あるいは、ターゲット AnalyticDB for MySQL V3.0 クラスター上の DTS アカウントの書き込み権限を削除するために REVOKE を実行してください。これにより、タスクが予期せず再開された際に、DTS がターゲットデータを上書きするのを防ぐことができます。

  3. アプリケーション接続の更新:アプリケーションの接続文字列を、ターゲット AnalyticDB for MySQL V3.0 クラスターを指すように更新します。

  4. アプリケーションのテスト:ターゲットクラスターに対してスモークテストを実行し、クエリが期待通りの結果を返し、アプリケーションの動作が正しいことを確認します。

次のステップ