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

Data Transmission Service:自己管理型MySQLデータベースからPolarDB-Xインスタンスへのデータの移行

最終更新日:Nov 14, 2024

このトピックでは、自己管理型MySQLデータベースからデータを Data Transmission Service (DTS) を使用したPolarDB-Xインスタンス。 DTS はフルデータ移行と増分データ移行に対応しています。 サポートされているすべての移行タイプを選択して、自己管理型Oracleデータベースから PolarDB-Xインスタンス。

前提条件

  • 自己管理型MySQLデータベースのバージョンは、5.1、5.5、5.6、5.7、または8.0です。

  • PolarDB-Xインスタンスのデータベースは、ApsaraDB RDS for MySQLインスタンスに基づいて作成されます。 DTSは、PolarDB for MySQLクラスターに基づいて作成されたDRDSデータベースをサポートしていません。

  • PolarDB-XインスタンスのRDSインスタンスの使用可能なストレージ容量が、自己管理型MySQLデータベースのデータの合計サイズよりも大きいこと。

注意事項

  • DTSは、自己管理型MySQLデータベースから PolarDB-Xインスタンスへの移行をサポートしません。

    説明

    スキーマの移行中に、DTSは必要なオブジェクト (テーブルなど) のスキーマをソースデータベースからターゲットデータベースに移行します。

  • DTSは、完全データ移行中にソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 データベースのパフォーマンスが悪い場合、仕様が低い場合、またはデータ量が多い場合、データベースサービスが利用できなくなる可能性があります。 たとえば、ソースデータベースで多数の低速SQLクエリが実行されている場合、テーブルにプライマリキーがない場合、またはターゲットデータベースでデッドロックが発生する場合、DTSは大量の読み取りおよび書き込みリソースを占有します。 データを移行する前に、移行元データベースと移行先データベースのパフォーマンスに対するデータ移行の影響を評価します。 オフピーク時にデータを移行することを推奨します。 たとえば、ソースデータベースとターゲットデータベースのCPU使用率が30% 未満の場合にデータを移行できます。

  • 移行元データベースで移行するテーブルには、PRIMARY KEYまたはUNIQUE制約が必要であり、すべてのフィールドが一意である必要があります。 そうでない場合、宛先データベースは重複するデータレコードを含み得る。

  • DTSはROUND(COLUMN,PRECISION) 関数を使用して、FLOATまたはDOUBLEデータ型の列から値を取得します。 精度を指定しない場合、DTSはFLOATデータ型の精度を38桁に設定し、DOUBLEデータ型の精度を308桁に設定します。 業務要件を満足する精度が設定されていることを確認する必要があります。

  • データ移行タスクが失敗した場合、DTSは自動的にタスクを再開します。 ワークロードをターゲットインスタンスに切り替える前に、データ移行タスクを停止またはリリースします。 それ以外の場合、タスクの再開後、ソースインスタンスのデータはターゲットインスタンスのデータを上書きします。

課金

移行タイプ

タスク設定料金

インターネットトラフィック料金

フルデータ移行

無料です。

インターネット経由でAlibaba Cloudからデータが移行された場合にのみ課金されます。 詳細については、「課金の概要」をご参照ください。

増分データ移行

有料。 詳細については、「課金の概要」をご参照ください。

移行タイプ

  • フルデータ移行

    DTSは、必要なオブジェクトの履歴データを自己管理型MySQLデータベースから PolarDB-Xインスタンスへの移行をサポートしません。

    説明

    完全データ移行中、同時INSERT操作により、ターゲットインスタンスのテーブルが断片化されます。 完全なデータ移行が完了すると、ターゲットインスタンスのテーブルスペースはソースデータベースのテーブルスペースよりも大きくなります。

  • 増分データ移行

    完全なデータ移行が完了すると、DTSは自己管理型MySQLデータベースからバイナリログファイルを取得します。 次に、DTSは、自己管理MySQLデータベースからの増分データを宛先に同期します。 PolarDB-Xインスタンス。 増分データ移行により、データを自己管理型MySQLデータベースから PolarDB-Xインスタンス。

増分データ移行中に同期できる SQL 操作

INSERT、UPDATE、DELETE、および REPLACE

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

データベース

完全なデータ移行

増分データ移行

自己管理型 MySQL データベース

SELECT 権限

REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、およびSELECT権限

PolarDB-X

読み取りおよび書き込み権限

読み取りおよび書き込み権限

始める前に

  1. 自己管理型MySQLデータベースのアカウントを作成し、バイナリログを設定します

  2. 宛先にデータベースとテーブルを作成する 自己管理型MySQLデータベースのスキーマに基づくPolarDB-Xインスタンス。 詳細については、次をご参照ください: DRDSデータベースの作成DRDSテーブルの作成

手順

  1. 最初に DTSコンソール

    説明

    データ管理 (DMS) コンソールにリダイレクトされている場合は、imageoldアイコンをクリックして、以前のバージョンのDTSコンソールに移動します。

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

  3. [移行タスク] ページの上部で、RDSインスタンスが存在するリージョンを選択します。

  4. ページの右上隅にある [移行タスクの作成] をクリックします。

  5. ソースデータベースとターゲットデータベースを設定します。 Configure the source and destination databases

    セクション

    パラメーター

    説明

    非該当

    タスク名

    タスク名は自動生成されます。 簡単に識別できるように、有益な名前を指定することをお勧めします。 一意のタスク名を使用する必要はありません。

    移行元データベース

    インスタンスタイプ

    ソースデータベースのデプロイに基づいてインスタンスタイプを選択します。 この例では、[パブリックIPアドレスを持つユーザー作成データベース] を選択します。

    説明

    他のインスタンスタイプを選択した場合、自己管理データベースのネットワーク環境をデプロイする必要があります。 詳細については、「準備の概要」をご参照ください。

    インスタンスリージョン

    インスタンスタイプが [オンプレミスデータベース] に設定されている場合、[インスタンスリージョン] を指定する必要はありません。

    説明

    自己管理型MySQLデータベースにホワイトリストが設定されている場合は、DTSサーバーのCIDRブロックをデータベースのホワイトリストに追加する必要があります。 [インスタンスリージョン] の横にある [DTS IP を取得する] をクリックして、DTS サーバーの CIDR ブロックを取得します。

    データベースエンジン

    [MySQL] を選択します。

    Hostname or IP Address

    自己管理型MySQLデータベースへの接続に使用するエンドポイントを入力します。 この例では、パブリック IP アドレスを入力します。

    ポート番号

    自己管理型MySQLデータベースのサービスポート番号を入力します。 デフォルトのポート番号は、3306 です。

    データベースアカウント

    自己管理型MySQLデータベースのアカウントを入力します。 アカウントに必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを入力します。

    説明

    ソースデータベースに関する情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認できます。 情報が有効な場合は、[合格] メッセージが表示されます。 [失敗] メッセージが表示されたら、[失敗] の横にある [チェック] をクリックします。 次に、チェック結果に基づいて情報を変更します。

    ターゲットデータベース

    インスタンスタイプ

    [DRDSインスタンス] を選択します。

    インスタンスリージョン

    PolarDB-Xインスタンスが存在する目的地のリージョンを選択します。

    DRDSインスタンスID

    宛先の PolarDB-XインスタンスIDを選択。

    データベース名

    ターゲットデータベースの名前を選択します。

    データベースアカウント

    宛先のデータベースアカウントを入力してください PolarDB-Xインスタンス。 アカウントに必要な権限の詳細については、「データベースアカウントに必要な権限」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを入力します。

    説明

    RDSインスタンスに関する情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認できます。 情報が有効な場合は、[合格] メッセージが表示されます。 [失敗] メッセージが表示されたら、[失敗] の横にある [チェック] をクリックします。 次に、チェック結果に基づいて情報を変更します。

  6. ページの右下隅にある [ホワイトリストの設定] および [次へ] をクリックします。

    説明

    DTSは、DTSサーバーのCIDRブロックを宛先のホワイトリストに追加します。 PolarDB-Xインスタンス。 これにより、DTSサーバーが宛先に接続できるようになります。 PolarDB-Xインスタンス。

  7. 移行タイプと移行するオブジェクトを選択します。 Select the migration types and the objects to be migrated

    設定

    説明

    移行タイプの選択

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

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

    説明

    増分データ移行が選択されていない場合、完全データ移行中にソースデータベースにデータを書き込まないでください。 これにより、ソースデータベースとターゲットデータベース間のデータの整合性が確保されます。

    移行するオブジェクトの選択

    [使用可能] セクションから1つ以上のオブジェクトを選択し、Right arrowアイコンをクリックして、オブジェクトを [選択済み] セクションに移動します。

    説明
    • 移行するオブジェクトとして、列、テーブル、またはデータベースを選択できます。 移行するオブジェクトとしてテーブルまたは列を選択した場合、DTSは、ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトを移行先データベースに移行しません。

    • 既定では、オブジェクトがターゲットデータベースに移行された後、オブジェクトの名前は変更されません。 オブジェクト名マッピング機能を使用して、移行先データベースに移行するオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。

    • オブジェクト名マッピング機能を使用してオブジェクトの名前を変更すると、そのオブジェクトに依存する他のオブジェクトの移行に失敗する可能性があります。

    オブジェクト名を変更するかどうかを指定する

    オブジェクト名マッピング機能を使用して、ターゲットインスタンスに同期されるオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。

    ソースデータベースまたはターゲットデータベースへの接続が失敗した場合のリトライ時間の指定

    デフォルトでは、DTSがソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTSは次の12時間以内に再試行します。 必要に応じて再試行時間を指定できます。 DTSが指定された時間内にソースデータベースとターゲットデータベースに再接続すると、DTSはデータ移行タスクを再開します。 それ以外の場合、データ移行タスクは失敗します。

    説明

    DTSが接続を再試行すると、DTSインスタンスに対して課金されます。 ビジネスニーズに基づいて再試行時間を指定することを推奨します。 ソースインスタンスとターゲットインスタンスがリリースされた後、できるだけ早くDTSインスタンスをリリースすることもできます。

    DMSがソーステーブルに対してオンラインDDL操作を実行するときに、一時テーブルをターゲットデータベースにコピーするかどうかを指定します。

    このシナリオでは、DTSはDDL操作を移行しません。 このパラメーターをNoに設定する必要があります。

    ただし、DTSは、将来このシナリオのDDL操作をサポートする場合があります。 この場合、Data Management (DMS) を使用してソースデータベースでオンラインDDL操作を実行する場合、操作によって生成された一時テーブルを移行するかどうかを指定できます。

    • はい: DTSは、オンラインDDL操作によって生成された一時テーブルのデータを移行します。

      説明

      オンラインDDL操作で大量のデータが生成される場合、移行タスクが遅れる可能性があります。

    • No: DTSは、オンラインDDL操作によって生成された一時テーブルのデータを移行しません。 移行元データベースの元のDDLデータのみが移行されます。

      説明

      [いいえ] を選択すると、ターゲットデータベースのテーブルがロックされる可能性があります。

  8. [事前チェック] をクリックします。

    説明
    • 移行タスクが開始される前にプリチェックが実行されます。 移行タスクは、事前チェックが成功した後にのみ開始されます。

    • 事前チェックが失敗した場合は、失敗した各チェック項目の横にあるNoteアイコンをクリックして、関連する詳細を表示します。 指示に従って問題を修正し、事前チェックを再度実行します。

  9. [次へ] をクリックします。

  10. [設定の確認] ダイアログボックスで、[チャネル仕様] パラメーターを設定します。 次に、[データ送信サービス (従量課金) サービス規約] を読み、選択します。

  11. [今すぐ購入してスタート] をクリックして、移行タスクを開始します。

    • フルデータ移行

      フルデータ移行タスクを手動で停止しないでください。 フルデータ移行タスクを手動で停止すると、RDSインスタンスに移行されたデータが不完全になる可能性があります。 データ移行タスクが自動的に停止するまで待つことができます。

    • 増分データ移行

      増分データ移行タスクは自動的に停止しません。 タスクを手動で停止する必要があります。

      説明

      増分データ移行タスクを適切な時点で手動で停止することを推奨します。 たとえば、オフピーク時やワークロードをApsaraDB RDS For MySQLインスタンスに切り替える前にタスクを停止できます。

      1. 増分データ移行データ移行タスクが遅延しませんがデータ移行タスクのプログレスバーに表示されるまで待ちます。 その後、ソースデータベースへのデータの書き込みを数分間停止します。 増分データ移行のレイテンシは、プログレスバーに表示され得る。

      2. 増分データ移行のステータスが [データ移行タスクは遅延なし] に変わるまで待ちます。 次に、移行タスクを手動で停止します。无延迟

  12. ワークロードを宛先に切り替える PolarDB-Xインスタンス。

次のステップ

データ移行に使用されるデータベースアカウントには、読み取りおよび書き込み権限があります。 データ移行が完了したら、自己管理型MySQLデータベースと セキュリティを確保するためのPolarDB-Xインスタンス。