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

Data Transmission Service:PolarDB-Xインスタンス間でデータを同期する

最終更新日:Nov 12, 2024

PolarDB-Xは、単一ホストデータベースサービスのボトルネックに対処するためにAlibaba Cloudによって開発されました。 PolarDB-Xは、MySQLプロトコルおよび構文と互換性があり、自動シャーディング、オンラインスムーズスケーリング、自動スケーリング、および透過的な読み書き分離をサポートします。 PolarDB-Xは、データベースのライフサイクル全体でO&M機能を提供します。 このトピックでは、data Transmission Service (DTS) を使用してPolarDB-Xインスタンス間でデータを同期する方法について説明します。

前提条件

  • 1つ以上のApsaraDB RDS for MySQLインスタンスに基づいて、ソースPolarDB-Xインスタンスにデータベースが作成されます。

  • 同期するテーブルには主キーが含まれています。

  • ターゲットPolarDB-Xインスタンスに対応するRDSインスタンスのターゲットデータベースには、十分なストレージ容量があります。

注意事項

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

  • データ同期タスクの実行中は、PolarDB-Xインスタンスのアップグレードやダウングレード、アクセス頻度の高いテーブルの移行、シャードキーの変更、ソースオブジェクトに対するDDL操作の実行を行わないでください。 それ以外の場合、データ同期タスクは失敗します。

  • データ同期中にPolarDB-Xインスタンスのネットワークタイプを変更する必要がある場合は、ネットワークタイプの変更完了後にデータ同期タスクのネットワーク接続情報を変更する必要があります。

課金

同期タイプ

タスク設定料金

スキーマ同期と完全データ同期

無料です。

増分データ同期

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

同期可能なSQL操作

挿入、更新、および削除

始める前に

DTSは、PolarDB-Xインスタンス間のスキーマ同期をサポートしていません。 したがって、ソースPolarDB-Xインスタンスのオブジェクトのスキーマに基づいて、ターゲットPolarDB-Xインスタンスにデータベースとテーブルを作成する必要があります。 詳細については、次をご参照ください: データベースの作成テーブルを作成

説明

スキーマ同期中、DTSは必要なオブジェクトのスキーマをソースデータベースからターゲットデータベースに同期します。

手順

  1. データ同期インスタンスを購入します。 詳細については、「DTSインスタンスの購入」をご参照ください。

    説明

    購入ページで、ソースインスタンスと宛先インスタンスの両方をPolarDB-Xに設定し、同期トポロジを一方向同期に設定します。

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

    説明

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

  3. 左側のナビゲーションウィンドウで、[データ同期] をクリックします。

  4. [同期タスク] ページの上部で、ターゲットインスタンスが存在するリージョンを選択します。

  5. データ同期インスタンスを見つけ、[操作] 列の [タスクの設定] をクリックします。

  6. ソースインスタンスとターゲットインスタンスを設定します。

    Configure the source and destination instances

    セクション

    パラメーター

    説明

    非該当

    同期タスク名

    DTSが自動的に生成するタスク名。 タスクを簡単に識別できるように、わかりやすい名前を指定することをお勧めします。 一意のタスク名を使用する必要はありません。

    ソースインスタンスの詳細

    インスタンスタイプ

    このパラメーターはDRDSインスタンスに設定されており、変更できません。

    インスタンスリージョン

    購入ページで選択したソースリージョン。 このパラメーターの値は変更できません。

    DRDSインスタンスID

    ソースPolarDB-XインスタンスのID。

    ターゲットインスタンスの詳細

    インスタンスタイプ

    このパラメーターはDRDSインスタンスに設定されており、変更できません。

    インスタンスリージョン

    購入ページで選択したターゲットリージョン。 このパラメーターの値は変更できません。

    DRDSインスタンスID

    移行先のPolarDB-XインスタンスのID。

  7. ページの右下隅にあるホワイトリストと次への設定をクリックします。

    、ソースまたはターゲットデータベースがAlibaba Cloudデータベースインスタンス (ApsaraDB RDS for MySQLApsaraDB for MongoDBインスタンスなど) の場合、DTSは自動的にDTSサーバーのCIDRブロックをインスタンスのIPアドレスホワイトリストに追加します。 ソースデータベースまたはターゲットデータベースがElastic Compute Service (ECS) インスタンスでホストされている自己管理データベースの場合、DTSサーバーのCIDRブロックがECSインスタンスのセキュリティグループルールに自動的に追加されます。ECSインスタンスがデータベースにアクセスできることを確認する必要があります。 自己管理データベースが複数のECSインスタンスでホストされている場合、DTSサーバーのCIDRブロックを各ECSインスタンスのセキュリティグループルールに手動で追加する必要があります。 ソースデータベースまたはターゲットデータベースが、データセンターにデプロイされているか、サードパーティのクラウドサービスプロバイダーによって提供される自己管理データベースである場合、DTSサーバーのCIDRブロックをデータベースのIPアドレスホワイトリストに手動で追加して、DTSがデータベースにアクセスできるようにする必要があります。 詳細については、「DTSサーバーのCIDRブロックの追加」をご参照ください。

    警告

    DTSサーバーのCIDRブロックがデータベースまたはインスタンスのホワイトリスト、またはECSセキュリティグループルールに自動的または手動で追加されると、セキュリティリスクが発生する可能性があります。 したがって、DTSを使用してデータを同期する前に、潜在的なリスクを理解して認識し、次の対策を含む予防策を講じる必要があります。VPNゲートウェイ、またはSmart Access Gateway。

  8. 同期ポリシーと同期するオブジェクトを選択します。

    Synchronize data between DRDS instances

    パラメータまたは設定

    説明

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

    • 事前チェックとインターセプト: 宛先テーブルが空かどうかを確認します。 宛先テーブルが空の場合、事前チェックに合格する。 テーブルが空でない場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。

    • 無視: 空の宛先テーブルのチェックをスキップします。

      警告

      無視を選択すると、データの一貫性が保証されず、ビジネスが潜在的なリスクにさらされる可能性があります。

      • ソースデータベースとターゲットデータベースのスキーマが同じである場合、DTSは、ターゲットデータベースのデータレコードと同じ主キーを持つデータレコードを同期しません。

      • ソースデータベースとターゲットデータベースのスキーマが異なる場合、一部の列のみが同期されるか、データ同期タスクが失敗します。

    同期するオブジェクトの選択

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

    説明
    • 同期するオブジェクトとしてテーブルのみを選択できます。

    • デフォルトでは、オブジェクトがターゲットインスタンスに同期された後、オブジェクトの名前は変更されません。 オブジェクト名マッピング機能を使用して、ターゲットインスタンスに同期されるオブジェクトの名前を変更できます。 詳細については、「同期するオブジェクトの名前変更」をご参照ください。

    データベースとテーブルの名前変更

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

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

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

    説明

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

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

  10. 最初のフルデータ同期を実行するかどうかを指定します。

    説明

    最初の完全データ同期中に、DTSは必要なオブジェクトの履歴データをソースデータベースからターゲットデータベースに同期します。 [初期フルデータ同期] を選択しない場合、DTSは履歴データを同期しません。

  11. ページの右下隅にある事前チェックをクリックします。

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

    • タスクが事前チェックに合格しなかった場合は、失敗した各項目の横にある提示アイコンをクリックして詳細を表示できます。

      • 詳細に基づいて問題をトラブルシューティングした後、新しい事前チェックを開始します。

      • 問題をトラブルシューティングする必要がない場合は、失敗した項目を無視して新しい事前チェックを開始してください。

  12. 次のメッセージが表示されたら、[事前チェック] ダイアログボックスを閉じます。[事前チェックの合格] その後、データ同期タスクが開始されます。

  13. 初期同期が完了し、データ同期タスクが同期状態になるまで待ちます。

    データ同期タスクのステータスは、[同期タスク] ページで確認できます。 View the status of a data synchronization task