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

Tablestore:PolarDB-X 2.0 から Tablestore へのデータ同期

最終更新日:Aug 12, 2026

データ転送サービス (DTS) を使用すると、PolarDB-X 2.0 から Tablestore にデータを同期できます。

前提条件

  • Tablestore インスタンスが作成されていること。詳細については、「インスタンスの作成」をご参照ください。

  • Tablestore インスタンスを所有する Alibaba Cloud アカウントの AccessKey ID と AccessKey Secret を取得していること。詳細については、「AccessKey の作成」をご参照ください。

注意事項

種類

説明

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

  • 同期するテーブルには、主キーまたは UNIQUE 制約が必要です。また、フィールドは一意である必要があります。満たされない場合、ターゲットデータベースに重複データが生成される可能性があります。

  • テーブル単位でデータを同期し、テーブル名や列名のマッピングなどのオブジェクトを編集する必要がある場合、1 つの同期タスクに含めるテーブル数は 5,000 を超えないようにしてください。テーブルを複数のタスクに分割するか、データベース全体を同期するタスクを構成することを推奨します。そうしない場合、タスクの送信後にリクエストエラーが発生する可能性があります。

  • ソース PolarDB-X 2.0 データベースのテーブル名に大文字が含まれている場合、スキーマ同期のみがサポートされます。

  • PolarDB-X 2.0 では、バイナリロギング (binlog) がデフォルトで有効になっています。[binlog_row_image] パラメーターが [full] に設定されていることを確認してください。パラメーターの表示方法の詳細については、「パラメーター設定」をご参照ください。そうでない場合、事前チェック中にエラーが報告され、データ同期タスクを開始できません。

  • スキーマ同期および完全データ同期の実行中は、データベースまたはテーブルのスキーマを変更する DDL 操作を行わないでください。行った場合、同期タスクは失敗します。

その他の制限

  • データを同期する前に、ソースデータベースとターゲットデータベースのパフォーマンスを評価してください。オフピーク時間にデータを同期することを推奨します。これは、完全データ同期によりソースデータベースとターゲットデータベースの読み取り/書き込みリソースが消費され、データベースのワークロードが増加する可能性があるためです。

  • 完全データ同期では、INSERT 操作が並行して実行されます。これにより、ターゲットデータベースでテーブルの断片化が発生します。その結果、完全データ同期の完了後、ターゲットインスタンスのテーブルスペースはソースインスタンスより大きくなります。

  • データ同期中は、DTS 以外のソースからターゲットデータベースにデータを書き込まないでください。書き込んだ場合、ソースデータベースとターゲットデータベースの間でデータの不整合が生じる可能性があります。

  • ソーステーブルのデータは、Tablestore のデータテーブルにのみ同期できます。

  • 同期するテーブル数は、Tablestore インスタンスの上限である 64 を超えることはできません。超えた場合、同期タスクでエラーが報告されます。64 を超えるテーブルを同期するには、Tablestore ヘルプデスクに連絡して、ターゲットの Tablestore インスタンスのテーブル上限の引き上げを依頼してください。

  • 同期するテーブルまたは列の名前は、Tablestore の命名規則に従う必要があります:

    • テーブル名または列名には、大文字、小文字、数字、およびアンダースコア (_) を使用できます。先頭は英字またはアンダースコアである必要があります。

    • テーブル名または列名の長さは 1 ~ 255 文字である必要があります。

  • タスクが失敗した場合、DTS サポートスタッフが 8 時間以内に復旧を試みます。復旧中、タスクを再起動したり、そのパラメーターを調整したりすることがあります。

    説明

    変更されるのは DTS タスクのパラメーターのみで、データベースのパラメーターは変更されません。調整される可能性のあるパラメーターには、「インスタンスパラメーターの変更」に記載されているものが含まれます。

増分同期可能な SQL 操作

操作タイプ

SQL 文

DML

INSERT、UPDATE、DELETE

操作手順

  1. 同期タスクのリストに移動します。

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

    2. 上部メニューで [統合と開発] をクリックします。

    3. 左側メニューで、[Data Transmission (DTS)] > [データ同期] を選択します。

    4. [同期タスク] の右側で、データ同期インスタンスがあるリージョンを選択します。

    説明
  2. [タスクの作成] をクリックして、タスク設定ページを開きます。

    1. 任意: 右上隅にある 新バージョンの設定ページを試してみる をクリックします。

      説明
      • 新しい設定ページの右上隅にあるボタンが 旧バージョンの設定ページに戻る の場合は、この手順をスキップできます。

      • 新しい設定ページの一部のパラメーターは、古い設定ページのパラメーターとは異なります。 新しい設定ページを使用することを推奨します。

    2. ソースデータベースとターゲットデータベースを設定します。

      カテゴリ

      設定

      説明

      なし

      [タスク名]

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

      [移行元データベース]

      [既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。)]

      使用するデータベースインスタンス。 ビジネス要件に基づいて、既存のインスタンスを選択するかどうかを選択できます。

      • 既存のインスタンスを選択すると、DTSはデータベースのパラメーターを自動的に入力します。

      • 既存のインスタンスを選択しない場合は、データベースのパラメーターを手動で設定する必要があります。

      [データベースタイプ]

      PolarDB-X 2.0 を選択します。

      [アクセス方法]

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

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

      ソースの PolarDB-X 2.0 インスタンスがあるリージョンを選択します。

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

      この例では、同じ Alibaba Cloud アカウント内でデータを同期する方法を示します。 × を選択します。 クロスアカウントシナリオについては、「クロスアカウントデータ同期のタスクを設定する」をご参照ください。

      [インスタンス ID]

      ソースの PolarDB-X 2.0 インスタンスの ID を選択します。

      [データベースアカウント]

      ソースの PolarDB-X 2.0 インスタンスのデータベースアカウントを入力します。 アカウントには、同期するオブジェクトに対する REPLICATION SLAVE、REPLICATION CLIENT、および SELECT 権限が必要です。

      説明

      権限の付与方法の詳細については、「データベースアカウントの管理」および「データ同期中のアカウント権限の問題」をご参照ください。

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

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

      [移行先データベース]

      [既存の DMS データベースインスタンスを選択します。(任意です。DMS データベースインスタンスが未登録の場合は、このオプションを無視して、以下のセクションでデータベース設定を行ってください。)]

      使用するデータベースインスタンス。 ビジネス要件に基づいて、既存のインスタンスを選択するかどうかを選択できます。

      • 既存のインスタンスを選択すると、DTSはデータベースのパラメーターを自動的に入力します。

      • 既存のインスタンスを選択しない場合は、データベースのパラメーターを手動で設定する必要があります。

      [データベースタイプ]

      Tablestore を選択します。

      [アクセス方法]

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

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

      ターゲットの Tablestore インスタンスがあるリージョンを選択します。

      [インスタンス ID]

      ターゲットの Tablestore インスタンスの ID を選択します。

      [Alibaba Cloud アカウントの AccessKey ID]

      Tablestore インスタンスを所有する Alibaba Cloud アカウントの AccessKey ID を入力します。 AccessKey ID はユーザーの識別に使われます。

      重要

      Resource Access Management (RAM) ユーザーの AccessKey ID を入力する場合、RAM ユーザーに AliyunOTSFullAccess 権限を付与する必要があります。 この権限により、ユーザーは Tablestore を管理できます。 詳細については、「RAM ポリシーを使用して RAM ユーザーに権限を付与する」をご参照ください。

      [Alibaba Cloud アカウントの AccessKey Secret]

      Tablestore インスタンスを所有する Alibaba Cloud アカウントの AccessKey Secret を入力します。 AccessKey Secret は、ユーザーの本人確認に使われます。

    3. ページの下部で、[接続をテストして続行] をクリックします。

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

      警告

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

  3. タスクオブジェクトを設定します。

    1. オブジェクト設定 ページで、同期するオブジェクトを設定できます。

      設定

      説明

      [同期タイプ]

      デフォルトでは、増分データ同期が選択されています。 [スキーマ同期] および [完全データ同期] も選択する必要があります。 事前チェックが完了すると、DTSは選択したオブジェクトの履歴データをソースインスタンスからターゲットインスタンスに同期します。 履歴データは、その後の増分同期の基礎となる。

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

      • 事前チェックエラーとレポートエラー: ターゲットデータベースに、ソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかを確認します。 ソースデータベースとターゲットデータベースに同じテーブル名のテーブルが含まれていない場合は、事前チェックに合格します。 それ以外の場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。

        説明

        オブジェクト名マッピング機能を使用して、ターゲットデータベースに同期されるテーブルの名前を変更できます。 この機能は、ソースデータベースとターゲットデータベースに同じテーブル名が含まれていて、ターゲットデータベースのテーブルを削除または名前変更できない場合に使用できます。 詳細については、「オブジェクト名マッピング」をご参照ください。

      • エラーを無視して続行: ソースデータベースとターゲットデータベースの同じテーブル名の事前チェックをスキップします。

        警告

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

        • ソースデータベースとターゲットデータベースが同じスキーマを持ち、データレコードがターゲットデータベースの既存のデータレコードと同じ主キー値を持つ場合:

          • 完全データ同期中、DTSはデータレコードをターゲットデータベースに同期しません。 ターゲットデータベースの既存のデータレコードが保持されます。

          • 増分データ同期中、DTSはデータレコードをターゲットデータベースに同期します。 ターゲットデータベースの既存のデータレコードが上書きされます。

        • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データの初期化に失敗したり、一部の列のみが同期されたり、データ同期タスクが失敗したりすることがあります。 注意して操作してください。

      [操作タイプ]

      ビジネスニーズに基づいて同期する操作タイプを選択します。 デフォルトでは、すべての操作タイプが選択されています。

      [ダーティデータの処理ポリシー]

      データ書き込み時に発生するエラーを処理するポリシーを選択します。 有効な値:

      • [スキップ]

      • [ブロック]

      [データ書き込みモード]

      データ書き込みモードを選択します。 有効な値:

      • [行の上書き]: PutRowChange を使用して行レベルでデータを上書きします。

      • [行の更新]: UpdateRowChange を使用して行レベルでデータを更新します。

      [一括書き込みモード]

      バッチ書き込みで呼び出される API オペレーション。 有効な値:

      • [BulkImportRequest]:オフライン書き込み。

      • [BatchWriteRowRequest]:バッチ書き込み。

      説明

      読み書き効率を高め、Tablestore インスタンスのコストを削減するために、[BulkImportRequest] を選択することを推奨します。

      [詳細]

      必要に応じて、詳細 をクリックして次のパラメーターを設定します:

      • [キューサイズ]: Tablestore インスタンスのデータ書き込みプロセスのキューサイズ。

      • [スレッド数]: Tablestore インスタンスのデータ書き込みプロセスのコールバックハンドラースレッドの数。

      • [並行数]: Tablestore インスタンスの同時リクエストの上限数。

      • [バケット]:増分データの順次書き込み用の同時バケット数。 値を大きくすると、同時書き込みパフォーマンスが向上します。

        説明

        バケット の値は、並行数 の値以下である必要があります。

      [移行先インスタンスでのオブジェクト名の大文字化]

      ターゲットインスタンスのデータベース名、テーブル名、および列名の大文字化。 デフォルトでは、DTSデフォルトポリシーが選択されています。 他のオプションを選択して、オブジェクト名の大文字化をソースまたはターゲットデータベースの大文字化と一致させることができます。 詳細については、「ターゲットインスタンスのオブジェクト名の大文字化の指定」をご参照ください。

      [ソースオブジェクト]

      [ソースオブジェクト] セクションから1つ以上のオブジェクトを選択し、Rightwards arrowアイコンをクリックして [選択済みオブジェクト] セクションにオブジェクトを追加します。

      説明
      • データベースまたはテーブルレベルで同期するオブジェクトを選択できます。 テーブルを選択した場合、ビュー、トリガー、ストアドプロシージャなどの他のオブジェクトはターゲットデータベースに同期されません。

      • 1 つのデータベースからのみテーブルを同期できます。 つまり、1 つのデータベースのみ、または同じデータベースから複数のテーブルを選択できます。

      [選択中のオブジェクト]

      • 同期先のインスタンスに同期するオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションでオブジェクトを右クリックします。 詳細については、「単一オブジェクトの名前のマッピング」をご参照ください。

      • 一度に複数のオブジェクトの名前を変更するには、[選択済みオブジェクト] セクションの右上隅にある [一括編集] をクリックします。 詳細については、「複数オブジェクト名の一括マッピング」をご参照ください。

      説明
      • データベース名のマッピングはサポートされていません。 テーブルレベルで同期するオブジェクトを選択した場合にのみ、テーブル名と列名をマッピングできます。 マッピング機能を使用すると、マッピングされたオブジェクトに依存する他のオブジェクトの同期が失敗する可能性があります。

      • 列名マッピング機能を使用すると、ターゲットの Tablestore インスタンスで対応する列のタイプを変更できます。

      • データをフィルタリングするために WHERE 句を設定するには、選択中のオブジェクト ボックスで同期するテーブルを右クリックし、表示されるダイアログボックスでフィルタ条件を設定します。 条件の設定方法の詳細については、「フィルタ条件の設定」をご参照ください。

    2. 詳細設定へ をクリックして、高度な設定を構成します。

      設定

      説明

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

      デフォルトでは、DTSはタスクを共有クラスターにスケジュールします。 このパラメーターを設定する必要はありません。 指定した仕様の専用クラスターを購入して、DTS同期タスクを実行できます。 詳細については、「DTS専用クラスターの概要」をご参照ください。

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

      失敗した接続のリトライ時間範囲。 データ同期タスクの開始後にソースデータベースまたはターゲットデータベースの接続に失敗した場合、DTSはその時間範囲内ですぐに接続を再試行します。 有効な値: 10 ~ 1440 単位: 分。 デフォルト値: 720 パラメーターを30より大きい値に設定することを推奨します。 DTSが指定された時間範囲内にソースデータベースとターゲットデータベースに再接続すると、DTSはデータ同期タスクを再開します。 それ以外の場合、データ同期タスクは失敗します。

      説明
      • 同じソースまたはターゲットデータベースを持つ複数のDTSタスクに対して異なるリトライ時間範囲を設定した場合、設定された最短のリトライ時間範囲が優先されます。

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

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

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

      重要

      ソースデータベースとターゲットデータベースで他の問題が発生した場合の再試行までの待機時間パラメーターの値は、[失敗した接続の再試行時間] パラメーターの値よりも小さくする必要があります。

      [完全同期レートを制限するかどうか]

      完全データ移行中、DTSはソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。 これは、データベースサーバの負荷を増加させる可能性がある。 1 秒あたりのソースデータベースのクエリ率 QPS完全なデータ移行の BPS、および完全なデータ移行の BPSパラメーターをフルデータ同期タスク用に設定して、ターゲットデータベースへの負荷を軽減できます。

      説明

      このパラメーターは、完全データ同期同期タイプ として選択されている場合にのみ設定できます。

      [増分同期率を制限するかどうか]

      ターゲットデータベースへの負荷を軽減するために、増分データ同期タスク用に増分データ移行の RPSおよび増分データ移行の BPSパラメーターを設定できます。

      [環境タグ]

      必要に応じて、環境タグを選択してインスタンスを識別できます。 この例では、タグは選択されていません。

      [ETL 機能の設定]

      抽出、変換、ロード (ETL) 機能はサポートされていません。 × を選択します。

      [順方向および逆方向タスクのハートビートテーブル SQL を削除]

      DTSインスタンスの実行中に、ハートビートテーブルのSQL操作をソースデータベースに書き込むかどうかを指定します。

      • Yes: ハートビートテーブルにSQL操作を書き込みません。 この場合、DTSインスタンスのレイテンシが表示され得る。

      • No: ハートビートテーブルにSQL操作を書き込みます。 この場合、ソースデータベースの物理バックアップやクローニングなどの特定の機能が影響を受ける可能性があります。

      [監視アラート]

      データ同期タスクのアラートを設定するかどうかを指定します。 タスクが失敗するか、同期レイテンシが指定されたしきい値を超えると、アラート送信先は通知を受け取ります。 有効な値:

    3. 次:データベースおよびテーブルのフィールド設定 をクリックし、注意 ダイアログボックスで [OK] をクリックします。

      デフォルトでは、DTS はソーステーブルのプライマリキーを プライマリキー列の追加 として設定します。 定義ステータスすべて に設定してプライマリキーを変更できます。

      説明

      プライマリキー列の追加 に複数の列を選択して複合プライマリキーを作成できます。

  4. ページ下部の [次へ:タスクを保存して事前チェック] をクリックします。

    • API オペレーションを呼び出してこのインスタンスを設定するためのパラメーターを表示するには、次:タスク設定の保存と事前チェック ボタンにマウスポインターを合わせ、表示されるポップアップで OpenAPI パラメーターのプレビュー をクリックします。

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

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

    • 事前チェックが失敗した場合は、失敗したチェック項目の横にある [詳細を表示] をクリックします。 原因に基づいて問題を修正し、再度事前チェックを実行します。

    • 事前チェック中に警告が報告された場合:

      • 無視できないチェック項目については、失敗したチェック項目の横にある [詳細を表示] をクリックします。 原因に基づいて問題を修正し、再度事前チェックを実行します。

      • 無視できるチェック項目については、[アラート詳細の確認][無視の確認][OK][事前チェックの再実行] の順にクリックして警告をスキップし、再度事前チェックを実行します。 警告を無視することを選択した場合、データの不整合などの問題が発生し、ビジネスにリスクをもたらす可能性があります。

  5. [事前チェック合格率] が [100%] になったら、[次へ:購入] をクリックします。

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

    1. [インスタンスの購入] ページで、データ同期インスタンスの課金方法とインスタンスクラスのパラメーターを設定します。 下表に、各パラメーターを説明します。

      セクション

      パラメーター

      説明

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

      Billing Method

      • サブスクリプション: インスタンスの作成時にインスタンスの料金を支払います。 サブスクリプションの課金方法は、長期使用の場合、従量課金の課金方法よりも費用対効果が高くなります。

      • 従量課金: 従量課金インスタンスは1時間ごとに課金されます。 従量課金方法は、短期使用に適しています。 従量課金インスタンスが不要になった場合は、従量課金インスタンスをリリースしてコストを削減できます。

      リソースグループ

      インスタンスが実行されるリソースグループ。 デフォルト値: Default resource group 詳細については、「リソース管理とは」をご参照ください。.

      インスタンスクラス

      DTSは、異なるパフォーマンスを提供するさまざまな同期仕様を提供します。 同期速度は、選択した同期仕様によって異なります。 ビジネスシナリオに基づいて同期仕様を選択できます。 詳細については、「データ同期インスタンスの仕様」をご参照ください。

      サブスクリプション期間

      サブスクリプションの課金方法を選択した場合は、サブスクリプション期間と作成するインスタンスの数を設定します。 サブスクリプション期間は、1〜9か月、1年、2年、3年、または5年とすることができる。

      説明

      このパラメーターは、サブスクリプション の課金方法を選択した場合にのみ使用できます。

    2. [読み取り] チェックボックスをオンにして、[データ送信サービス (従量課金) サービス規約] に同意します。

    3. [購入と開始] をクリックして、データ同期タスクを開始します。 タスクリストでタスクの進行状況を確認できます。

  7. 結果を確認します。

    1. Tablestore コンソール

    2. 上部メニューで、リソースグループとリージョンを選択します。

    3. [概要] ページで、インスタンス名をクリックするか、インスタンスの [操作] 列にある [インスタンス管理] をクリックします。

    4. [インスタンス詳細] タブで、[データテーブルリスト] をクリックして、同期されたテーブルデータを確認します。