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

Data Transmission Service:ApsaraDB for MongoDB から AnalyticDB for MySQL 3.0 へのデータ移行

最終更新日:Apr 13, 2025

Data Transmission Service (DTS) は、MongoDB から AnalyticDB for MySQL 3.0 クラスタへのデータ移行をサポートしています。このトピックでは、ApsaraDB for MongoDB インスタンス (レプリカセットアーキテクチャ) から AnalyticDB for MySQL 3.0 クラスタにデータを移行する方法について説明します。

前提条件

  • ソースデータベースがシャードクラスタアーキテクチャの ApsaraDB for MongoDB インスタンスである場合は、すべてのシャードノードの接続アドレスを申請し、すべてのシャードで同じアカウントとパスワードが使用されていることを確認する必要があります。詳細については、「シャードノードまたは Configserver ノードの接続アドレスを申請する」をご参照ください。

  • ソースの ApsaraDB for MongoDB インスタンスで使用されているストレージ容量よりも大きいストレージ容量を持つ、宛先の AnalyticDB for MySQL 3.0 クラスタを作成済みであること。詳細については、「クラスタを作成する」をご参照ください。

    説明

    宛先インスタンスのストレージ容量は、ソースデータベースで使用されているストレージ容量よりも 10% 大きくすることをお勧めします。

  • データを受信するために、宛先の AnalyticDB for MySQL 3.0 クラスタにプライマリキーを持つデータベースとテーブルを作成済みであること。詳細については、「CREATE DATABASE」および「CREATE TABLE」をご参照ください。

    重要
    • 宛先テーブルのデータ型がソース MongoDB のデータと互換性があることを確認してください。たとえば、MongoDB の _id フィールドが ObjectId 型の場合、AnalyticDB for MySQL 3.0 クラスタの対応するデータ型は varchar である必要があります。

    • AnalyticDB for MySQL 3.0 クラスタの宛先テーブルの列名を _id または _value にすることはできません。

  • 宛先の AnalyticDB for MySQL 3.0 クラスタで SET ADB_CONFIG ALLOW_MULTI_QUERIES=true; コマンドを実行して、複数ステートメント機能を手動で有効にします。

    説明

    V3.1.9.3 以降の AnalyticDB for MySQL クラスタのみが複数ステートメント機能をサポートしています。クラスタのカーネルバージョンの表示方法とアップグレード方法の詳細については、「バージョンのアップグレード」をご参照ください。

制限事項

種類

説明

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

  • ソースデータベースがデプロイされているサーバーには、十分なアウトバウンド帯域幅が必要です。十分な帯域幅がない場合、データ移行速度が低下します。

  • 移行対象のオブジェクトとしてコレクションを選択し、宛先データベースでコレクションを変更する場合 (コレクションの名前変更など)、1 つのデータ移行タスクで最大 1,000 個のコレクションを移行できます。1,000 個を超えるコレクションを移行するタスクを実行すると、リクエストエラーが発生します。この場合、複数タスクを構成してコレクションを移行することをお勧めします。

  • 増分データを移行する場合は、操作ログを有効にする必要があります。有効にしないと、事前チェック中にエラーが発生し、移行タスクを開始できません。

    説明

    ソースデータベースの操作ログは、少なくとも 7 日間保持する必要があります。保持しないと、DTS が操作ログを取得できなくなり、タスクが失敗したり、データの不整合やデータ損失が発生したりする可能性があります。上記要件に基づいて操作ログの保持期間を設定してください。設定しないと、DTS のサービスレベル契約 (SLA) では、サービスの信頼性やパフォーマンスは保証されません。

  • ソースデータベースが ApsaraDB for MongoDB シャードクラスターインスタンスの場合、インスタンス内の Mongos ノードの数は 10 を超えることはできません。また、ソース ApsaraDB for MongoDB シャードクラスターインスタンスに孤立ドキュメントが含まれていないことを確認する必要があります。含まれていると、データの不整合が発生し、タスクが失敗する可能性があります。詳細については、MongoDB のドキュメントと、FAQ トピックの シャードクラスタアーキテクチャにデプロイされた MongoDB データベースの孤立ドキュメントを削除するにはどうすればよいですか? セクションをご参照ください。

  • ソースデータベースで実行される操作の制限:

    • 完全データ移行中は、データベースまたはコレクションのスキーマを変更しないでください。変更すると、データ移行タスクが失敗します。

    • 完全データ移行のみを実行する場合は、データ移行中にソースデータベースにデータを書き込まないでください。書き込むと、ソースデータベースと宛先データベース間でデータの不整合が発生します。

その他

  • コレクションレベルの移行のみがサポートされています。

  • データを受信する宛先 AnalyticDB for MySQL 3.0 クラスタのテーブルには、一意のプライマリキー列 (複合プライマリキーではない) が必要です。選択中のオブジェクト で移行フィールドを構成する場合、プライマリキー列の bson_value("_id") である必要があります。

  • データを受信する宛先 AnalyticDB for MySQL 3.0 クラスタのテーブルに、_id または _value という名前のフィールドを含めることはできません。含めると、移行は失敗します。

  • AnalyticDB for MySQL 3.0 クラスタの使用制限により、クラスタ内のノードのディスク使用率が 80% を超えると、DTS タスクが異常になり、遅延が発生する可能性があります。同期するオブジェクトに必要な容量を事前に見積もり、宛先クラスタに十分なストレージ容量があることを確認してください。

  • AnalyticDB for MySQL 3.0 クラスタのデータ型が MongoDB のデータと互換性がない場合、タスクは失敗します。

  • DTS タスクの実行中に宛先 AnalyticDB for MySQL 3.0 クラスタがバックアップされている場合、タスクは失敗します。

  • DTS は、admin データベースまたは local データベースのデータは移行しません。

  • DTS はトランザクション情報を保持しません。ソースデータベースのトランザクションは、個別のレコードとして宛先データベースに移行されます。

  • データ移行タスクを開始する前に、ソースデータベースと宛先データベースのパフォーマンスを評価してください。オフピーク時にデータを移行することをお勧めします。完全データ移行中、DTS はソースデータベースと宛先データベースの読み取りリソースと書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。

  • 完全データ移行中、同時 INSERT 操作により、宛先データベースのコレクションで断片化が発生します。完全データ移行が完了すると、宛先データベースの容量使用率はソースデータベースの容量使用率よりも大きくなります。

  • FLOAT データ型または DOUBLE データ型の列の精度設定がビジネス要件を満たしていることを確認してください。DTS は、ROUND(COLUMN,PRECISION) 関数を使用して、FLOAT データ型と DOUBLE データ型の値を読み取ります。精度を指定しない場合、DTS は FLOAT データ型の列の精度を 38 桁に、DOUBLE データ型の列の精度を 308 桁に設定します。

  • DTS は、過去 7 日以内に失敗したデータ移行タスクの再開を試みます。DTS アカウントの書き込み権限が取り消されていない場合、データ移行タスクが再開されると、ソースインスタンスのデータによって宛先インスタンスのデータが上書きされます。ワークロードを宛先インスタンスに切り替える前に、データ移行タスクを解放するか、revoke コマンドを使用して DTS アカウントの書き込み権限を取り消してください。

  • DTS は、宛先データベースで最後に移行されたデータのタイムスタンプとソースデータベースの現在のタイムスタンプに基づいて、増分データ移行の遅延を計算します。ソースデータベースで長時間更新操作が実行されない場合、移行遅延が不正確になる可能性があります。タスクに大きな遅延が表示される場合は、ソースデータベースで更新操作を実行して遅延情報を更新できます。

  • DTS タスクの実行に失敗した場合、DTS テクニカルサポートは 8 時間以内にタスクの復元を試みます。復元中、タスクが再起動され、タスクのパラメータが変更される可能性があります。

    説明

    タスクのパラメータのみが変更される可能性があります。データベースのパラメータは変更されません。 変更される可能性のあるパラメータには、「DTS インスタンスのパラメータを変更する」トピックの「インスタンスパラメータの変更」セクションのパラメータが含まれますが、これらに限定されません。

料金

移行タイプ

リンク構成料金

データ転送コスト

完全データ移行

無料。

この例では、データ転送コストは発生しません。宛先データベースの アクセス方法パブリック IP アドレス の場合、データ転送コスト が発生します。

増分データ移行

課金されます。詳細については、「請求の概要」をご参照ください。

移行タイプ

移行タイプ

説明

完全移行

ソース ApsaraDB for MongoDB インスタンスの移行オブジェクトのすべての既存データが、宛先 AnalyticDB for MySQL 3.0 クラスタに移行されます。

増分移行

完全移行が完了した後、ソース ApsaraDB for MongoDB インスタンスの増分データが宛先 AnalyticDB for MySQL 3.0 クラスタに移行されます。

説明
  • 増分移行では、コレクションへのドキュメントの挿入、更新、または削除の操作のみがサポートされています。

  • 増分更新ドキュメントを移行する場合、$set コマンドを使用して更新された操作のみがサポートされます。

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

データベース

完全移行

増分移行

アカウントの作成と承認方法

ソース ApsaraDB for MongoDB

ソースデータベースの読み取り権限。

ソースデータベース、admin データベース、および local データベースの読み取り権限。

アカウント管理

宛先 AnalyticDB for MySQL 3.0 クラスタ

宛先データベースの読み取り権限と書き込み権限。

データベースアカウントを作成する

手順

  1. 次のいずれかの方法を使用してデータ移行ページに移動し、データ移行インスタンスが存在するリージョンを選択します。

    DTS コンソール

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

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

    3. ページの左上隅で、データ移行インスタンスが存在するリージョンを選択します。

    DMS コンソール

    説明

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

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

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

    3. [データ移行タスク] の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。

  2. タスクの作成 をクリックして、タスク構成ページに移動します。

  3. ソースデータベースと宛先データベースを構成します。次の表にパラメータを示します。

    カテゴリ

    パラメータ

    説明

    該当なし

    タスク名

    DTS タスクの名前。DTS はタスク名を自動的に生成します。タスクを識別しやすい説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。

    移行元データベース

    既存の接続情報の選択

    • DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメータを自動的に入力します。詳細については、「データベース接続を管理する」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • インスタンスを DTS に登録できなかった場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を構成する必要があります。

    データベースタイプ

    MongoDB を選択します。

    アクセス方法

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

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

    ソース ApsaraDB for MongoDB インスタンスが配置されているリージョンを選択します。

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

    この例では、現在の Alibaba Cloud アカウントのデータベースインスタンスが使用されます。× を選択します。

    アーキテクチャ

    この例では、レプリカセット を選択します。

    説明

    ソース ApsaraDB for MongoDB インスタンスが シャードクラスター の場合は、ShardアカウントShardパスワード も入力する必要があります。

    移行方法

    実際の状況に基づいて、増分データ移行の方法を選択します。

    • Oplog (推奨):

      ソースデータベースで Oplog が有効になっている場合、このオプションはサポートされます。

      説明

      ローカルの自己管理 MongoDB と ApsaraDB for MongoDB では、デフォルトで Oplog が有効になっています。この方法を使用して増分データを移行する場合、増分移行タスクの遅延は小さくなります (ログのプル速度が速くなります)。そのため、Oplog を選択することをお勧めします。

    • ChangeStream: ソースデータベースで Change Streams (Change Streams) が有効になっている場合、このオプションはサポートされます。

      説明
      • ソースデータベースが Amazon DocumentDB (非エラスティッククラスタ) の場合、ChangeStream のみサポートされます。

      • ソースデータベースの アーキテクチャシャードクラスター として選択されている場合、ShardアカウントShardパスワード を入力する必要はありません。

    インスタンス ID

    ソース ApsaraDB for MongoDB インスタンスの ID を選択します。

    認証データベース

    ソース ApsaraDB for MongoDB インスタンスのデータベースアカウントが属するデータベースの名前を入力します。変更していない場合は、デフォルト値 admin を入力します。

    データベースアカウント

    ソース ApsaraDB for MongoDB インスタンスのデータベースアカウントを入力します。アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

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

    データベースへのアクセスに使用するパスワード。

    暗号化

    ソースデータベースへの接続を暗号化するかどうかを指定します。ビジネス要件に基づいて、非暗号化SSL 暗号化、または Mongo Atlas SSL を選択できます。暗号化 パラメータで使用できるオプションは、アクセス方法 パラメータと アーキテクチャ パラメータで選択した値によって決まります。DTS コンソールに表示されるオプションが優先されます。

    説明
    • [アーキテクチャ] パラメータが [シャードクラスタ] に設定され、ApsaraDB for MongoDB データベースの [移行方法] パラメータが Oplog に設定されている場合、SSL 暗号化 パラメータは使用できません。

    • ソースデータベースが レプリカセット アーキテクチャを使用する自己管理 MongoDB データベースで、アクセス方法 パラメータが Alibaba Cloud インスタンス に設定されておらず、[暗号化] パラメータが SSL 暗号化 に設定されている場合は、認証局 (CA) 証明書をアップロードして、ソースデータベースへの接続を検証できます。

    移行先データベース

    既存の接続情報の選択

    • DTS に登録されているデータベースインスタンスを使用する場合は、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメータを自動的に入力します。詳細については、「データベース接続を管理する」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • インスタンスを DTS に登録できなかった場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を構成する必要があります。

    データベースタイプ

    AnalyticDB for MySQL 3.0 を選択します。

    アクセス方法

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

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

    宛先 AnalyticDB for MySQL 3.0 クラスタが配置されているリージョンを選択します。

    インスタンス ID

    宛先 AnalyticDB for MySQL 3.0 クラスタの ID を選択します。

    データベースアカウント

    宛先 AnalyticDB for MySQL 3.0 クラスタのデータベースアカウントを入力します。アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。

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

    データベースへのアクセスに使用するパスワード。

  4. ページの下部にある [接続テストと続行] をクリックします。

    説明
    • DTS サーバーの CIDR ブロックをソースデータベースと宛先データベースのセキュリティ設定に自動または手動で追加して、DTS サーバーからのアクセスを許可できることを確認してください。詳細については、「DTS サーバーの CIDR ブロックを追加する」をご参照ください。

    • ソースデータベースまたは宛先データベースが自己管理データベースであり、その アクセス方法Alibaba Cloud インスタンス に設定されていない場合は、DTS サーバーの CIDR ブロック ダイアログボックスの 接続テスト をクリックします。

  5. 移行するオブジェクトを構成します。

    1. オブジェクト設定 ページで、移行するオブジェクトを構成します。

      パラメータ

      説明

      移行タイプ

      • 完全データ移行のみを実行するには、[完全データ移行] のみを選択します。

      • データ移行中のサービス継続性を確保するには、[完全データ移行][増分データ移行] を選択します。

      説明

      [増分データ移行] を選択しない場合は、データ移行中にソースデータベースにデータを書き込まないことをお勧めします。これにより、ソースデータベースと宛先データベース間でデータの整合性が確保されます。

      同期する DDL および DML 操作

      インスタンスレベルで移行する操作を選択します。

      説明

      コレクションレベルで移行する操作を選択するには、選択中のオブジェクト で移行オブジェクトを右クリックし、表示されるダイアログボックスで操作を選択します。

      テーブルの結合

      • [はい]: この値を選択すると、DTS は各テーブルに __dts_data_source 列を追加してデータソースを記録します。詳細については、「複数テーブルのマージ機能を有効にする」をご参照ください。

      • [いいえ]: これはデフォルト値です。

      説明

      このパラメータを [はい] に設定すると、タスクで選択したすべてのソーステーブルが宛先テーブルにマージされます。特定のソーステーブルをマージする必要がない場合は、これらのテーブル用に個別のデータ移行タスクを作成できます。

      警告

      ソースデータベースまたはテーブルのスキーマを変更する DDL 操作は実行しないことをお勧めします。実行すると、データの不整合が発生したり、データ移行タスクが失敗したりする可能性があります。

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

      • エラーの事前チェックと報告: 宛先データベースに、ソースデータベースのコレクションと同じ名前のコレクションが含まれているかどうかを確認します。ソースデータベースと宛先データベースに同じ名前のコレクションが含まれていない場合、事前チェックは合格です。それ以外の場合、事前チェック中にエラーが返され、データ移行タスクを開始できません。

        説明

        ソースデータベースと宛先データベースに同じ名前のコレクションが含まれており、宛先データベースのコレクションを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、宛先データベースに移行されるコレクションの名前を変更できます。詳細については、「オブジェクト名をマップする」をご参照ください。

      • エラーを無視して続行: ソースデータベースと宛先データベースで同じコレクション名の事前チェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データの整合性が保証されず、ビジネスが潜在的なリスクにさらされる可能性があります。

        • DTS は、宛先データベースのデータレコードと同じプライマリキーを持つデータレコードを移行しません。

        • データの初期化に失敗したり、特定の列のみが移行されたり、データ移行タスクが失敗したりする可能性があります。

      ソースオブジェクト

      ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択します。向右小箭头 アイコンをクリックして、選択中のオブジェクト セクションにオブジェクトを追加します。

      説明

      コレクションレベルでオブジェクトを選択できます。

      選択中のオブジェクト

      1. スキーマを編集します。

        1. 選択中のオブジェクト で、移行するコレクションが属するデータベースを右クリックします。

          image

        2. [スキーマ名] を、データを受信する宛先 AnalyticDB for MySQL 3.0 クラスタのデータベースの名前に変更します。image

        3. オプション: 同期する DDL および DML 操作を選択 セクションで、移行する操作を選択します。image

        4. [OK] をクリックします。

      2. テーブル名を編集します。

        1. 選択中のオブジェクト で、移行するコレクションを右クリックします。

          image

        2. [テーブル名] を、データを受信する宛先 AnalyticDB for MySQL 3.0 クラスタのテーブルの名前に変更します。image

        3. オプション: 完全移行のフィルタ条件を設定します。詳細については、「SQL 条件を構成してデータをフィルタする」をご参照ください。image

        4. オプション: 同期する DDL および DML 操作を選択 セクションで、移行する操作を選択します。image

      3. 移行する必要がある MongoDB のフィールド (フィールド) を構成します。

        DTS は、移行するコレクションのデータを自動的にマッピングし、[値] 列に式を構成します。式が要件を満たしているかどうかを確認し、[列名][タイプ][長さ]、および [精度] を構成する必要があります。

        重要
        • 宛先テーブルのプライマリキー列には、bson_value("_id") の値を割り当てる必要があります。

        • bson_value() 式を構成する場合は、階層関係に従って最小のサブフィールドに構成する必要があります。そうしないと、データ損失またはタスクの失敗が発生する可能性があります。

        1. [値] 列の bson_value() 式で、そのデータ行の MongoDB のフィールド名を確認します。

          "" 内のフィールドは、MongoDB のフィールド名です。たとえば、式が bson_value("age") の場合、データ行は MongoDB の age フィールドに対応します。

        2. オプション: 移行する必要のないフィールドを削除します。

          説明

          移行する必要のないフィールドの場合は、そのデータ行の後の image をクリックできます。

        3. 移行するフィールドを構成します。

          bson_value() 式が要件を満たしているかどうかに基づいて、次の操作を実行します。

          要件を満たす式を持つフィールド

          1. [列名] に入力します。

            説明

            これは、宛先 AnalyticDB for MySQL 3.0 クラスタのデータを受信するテーブルの列名です。

          2. 列データの [タイプ] を選択します。

            重要

            宛先テーブルのデータ型がソース MongoDB のデータと互換性があることを確認してください。データ型のマッピング関係については、「データ型のマッピング」をご参照ください。

          3. オプション: 列データの [長さ][精度] を構成します。

          4. 上記の操作を繰り返して、関連するすべてのフィールドを 1 つずつマッピングします。

          要件を満たさない式を持つフィールド

          説明

          たとえば、階層関係 (親子構造) を持つフィールド。

          1. [操作] 列で、そのデータ行の後の image をクリックします。

          2. [+ 列を追加] をクリックします。image

          3. [列名][タイプ][長さ]、および [精度] を構成します。

          4. [割り当て] の下のテキストボックスに、bson_value() 式を入力します。詳細については、「割り当ての構成例」をご参照ください。

          5. 上記の操作を繰り返して、関連するすべてのフィールドを 1 つずつマッピングします。

      4. [OK] をクリックします。

    2. 次へ:詳細設定 をクリックして詳細設定を構成します。

      パラメータ

      説明

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

      デフォルトでは、専用クラスタを指定しない場合、DTS はデータ移行タスクを共有クラスタにスケジュールします。データ移行タスクの安定性を向上させるには、専用クラスタを購入します。詳細については、「DTS 専用クラスタとは」をご参照ください。

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

      接続失敗時のリトライ時間の範囲。データ移行タスクの開始後にソースデータベースまたは宛先データベースに接続できない場合、DTS はリトライ時間の範囲内で直ちに接続を再試行します。有効な値: 10 ~ 1,440。単位: 分。デフォルト値: 720。パラメータは 30 より大きい値に設定することをお勧めします。指定されたリトライ時間の範囲内で DTS がソースデータベースと宛先データベースに再接続された場合、DTS はデータ移行タスクを再開します。それ以外の場合、データ移行タスクは失敗します。

      説明
      • 同じソースデータベースまたは宛先データベースを共有する複数のデータ移行タスクに異なるリトライ時間の範囲を指定した場合、後で指定した値が優先されます。

      • DTS が接続を再試行すると、DTS インスタンスの料金が発生します。ビジネス要件に基づいてリトライ時間の範囲を指定することをお勧めします。また、ソースデータベースと宛先インスタンスが解放された後、できるだけ早く DTS インスタンスを解放することもできます。

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

      その他の問題のリトライ時間の範囲。たとえば、データ移行タスクの開始後に DDL 操作または DML 操作の実行に失敗した場合、DTS はリトライ時間の範囲内で直ちに操作を再試行します。有効な値: 1 ~ 1440。単位: 分。デフォルト値: 10。パラメータは 10 より大きい値に設定することをお勧めします。指定されたリトライ時間の範囲内で失敗した操作が正常に実行された場合、DTS はデータ移行タスクを再開します。それ以外の場合、データ移行タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメータの値は、失敗した接続の再試行時間 パラメータの値よりも小さくなければなりません。

      完全移行率を制限するかどうか

      完全データ移行のスロットリングを有効にするかどうかを指定します。完全データ移行中、DTS はソースデータベースと宛先データベースの読み取りリソースと書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。ビジネス要件に基づいて、完全データ移行のスロットリングを有効にできます。スロットリングを構成するには、1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメータを構成する必要があります。これにより、宛先データベースサーバーの負荷が軽減されます。

      説明

      移行タイプ パラメータで 完全データ移行 を選択した場合にのみ、このパラメータを構成できます。

      同じテーブル内のプライマリキー_id のデータ型が一意かどうか

      移行するデータについて、プライマリキー _id のデータ型が同じコレクション内で一意かどうか。

      説明

      この構成は、移行タイプ完全データ移行 に設定されている場合にのみ使用できます。

      • : 一意。DTS は、ソースデータベースからの完全移行フェーズ中に、ソースデータのプライマリキーのデータ型をスキャンしません。

      • ×: 一意ではないことを示します。完全移行フェーズ中に、DTS はソースデータベースから移行されるソースデータのプライマリキーのデータ型をスキャンします。

      増分移行率を制限するかどうか

      増分データ移行のスロットリングを有効にするかどうかを指定します。スロットリングを構成するには、1 秒あたりの増分移行の行数 RPS1 秒あたりの増分移行データ量 (MB) BPS パラメータを構成する必要があります。これにより、宛先データベースサーバーの負荷が軽減されます。

      説明

      移行タイプ パラメータで 増分データ移行 を選択した場合にのみ、このパラメータを構成できます。

      環境タグ

      DTS インスタンスを識別するために使用される環境タグ。ビジネス要件に基づいて環境タグを選択できます。この例では、環境タグは選択されていません。

      ETL の設定

      抽出、変換、書き出し (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効な値:

      監視アラート

      データ移行タスクのアラートを設定するかどうかを指定します。タスクが失敗した場合、または移行遅延が指定されたしきい値を超えた場合、アラート連絡先に通知が送信されます。有効な値:

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

    • DTS タスクを設定するために関連 API 操作を呼び出すときに指定するパラメーターを表示するには、次:タスク設定の保存と事前チェック にポインターを移動し、OpenAPI パラメーターのプレビュー をクリックします。

    • パラメーターを表示する必要がない場合、またはすでに表示済みの場合は、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • データ移行タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ移行タスクを開始できます。

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、再度事前チェックを実行します。

    • 事前チェック中に項目に対してアラートがトリガーされた場合:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして、問題をトラブルシューティングします。その後、再度事前チェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。 [詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。次に、[再チェック] をクリックして、再度事前チェックを実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスが潜在的なリスクにさらされる可能性があります。

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

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

    2. [インスタンスの購入] ページで、データ移行インスタンスのインスタンスクラスパラメーターを設定します。次の表にパラメーターを示します。

      セクション

      パラメーター

      説明

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

      [リソースグループ]

      データ移行インスタンスが属するリソースグループ。デフォルト値: [デフォルトのリソースグループ]。詳細については、「リソース管理とは」をご参照ください。

      インスタンスクラス

      DTS は、移行速度が異なるインスタンスクラスを提供します。ビジネスシナリオに基づいてインスタンスクラスを選択できます。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。

    3. チェックボックスをオンにして、[Data Transmission Service (従量課金制) サービス規約] を読んで同意します。

    4. [購入して開始] をクリックします。表示されるメッセージで、[OK] をクリックします。

      [データ移行] ページでタスクの進捗状況を確認できます。

      説明
      • データ移行タスクを使用して増分データを移行できない場合、タスクは自動的に停止します。[完了][ステータス] セクションに表示されます。

      • データ移行タスクを使用して増分データを移行できる場合、タスクは自動的に停止しません。増分データ移行タスクは停止または完了しません。[実行中][ステータス] セクションに表示されます。

データ型マッピング

MongoDB データ型

AnalyticDB for MySQL 3.0 クラスタデータ型

ObjectId

VARCHAR

String

VARCHAR

Document

VARCHAR

DbPointer

VARCHAR

Array

VARCHAR

Date

DATETIME

TimeStamp

DATETIME

Double

DOUBLE

32-bit integer (BsonInt32)

INTEGER

64-bit integer (BsonInt64)

BIGINT

Decimal128

DECIMAL

Boolean

BOOLEAN

Null

VARCHAR

割り当て設定例

ソース MongoDB データ構造

{
  "_id":"62cd344c85c1ea6a2a9f****",
  "person":{
    "name":"neo",
    "age":26,
    "sex":"male"
  }
}

ターゲット AnalyticDB for MySQL 3.0 クラスタテーブル構造

列名

mongo_id

varchar

説明

主キー列。

person_name

varchar

person_age

decimal

新しい列の設定

重要

bson_value() 式が階層関係を反映するように正しく設定されていることを確認してください。設定されていない場合、データの損失やタスクの失敗が発生する可能性があります。たとえば、式を bson_value("person") として設定すると、DTS はソースの person フィールドの名前、年齢、性別などのサブフィールドの増分変更データをターゲットに書き込むことができません。

列名

割り当て

mongo_id

STRING

bson_value("_id")

person_name

STRING

bson_value("person","name")

person_age

DECIMAL

bson_value("person","age")