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

Data Transmission Service:PolarDB for MySQL の変更追跡タスクの作成

最終更新日:Dec 05, 2025

変更追跡機能を使用すると、増分データにリアルタイムでサブスクライブできます。この機能は、軽量なキャッシュ更新、非同期のビジネスデカップリング、抽出・変換・書き出し (ETL) ロジックを含むリアルタイムデータ同期などのシナリオの実装に役立ちます。このトピックでは、PolarDB for MySQL の変更追跡タスクを作成する方法について説明します。

前提条件

注意事項

タイプ

説明

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

  • ソーステーブルには `PRIMARY KEY` または `UNIQUE` 制約が必要であり、すべてのフィールドが一意である必要があります。そうでない場合、追跡されたデータ変更の一部が重複する可能性があります。

  • 追跡対象オブジェクトとしてテーブルを選択する場合、1 つの変更追跡タスクで追跡できるテーブルは最大 500 です。500 を超えるテーブルを追跡する変更追跡タスクを実行すると、リクエストエラーが発生します。この場合、複数のタスクを設定してテーブルをバッチで追跡するか、データベース全体に対して変更追跡タスクを設定することを推奨します。

  • バイナリログ:

    • バイナリログを有効にし、`loose_polar_log_bin`on に設定する必要があります。そうでない場合、事前チェックが失敗し、変更追跡タスクを開始できません。

    • Data Transmission Service (DTS) では、ソースデータベースのローカルバイナリログを 24 時間以上保持する必要があります。そうでない場合、DTS がバイナリログを取得できず、タスクが失敗する可能性があります。極端なケースでは、データの不整合や損失が発生する可能性があります。バイナリログの保持期間が DTS が要求する期間より短いことが原因で発生した問題は、DTS のサービスレベルアグリーメント (SLA) の対象外です。

  • ソースインスタンスが読み取り専用インスタンスまたは一時インスタンスである場合は、そのインスタンスにトランザクションログがあることを確認してください。

その他の制限

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

  • DTS は `pt-online-schema-change` を使用して実行される DDL 操作を追跡しません。そのため、変更追跡クライアントは、スキーマの競合により、消費したデータをターゲットテーブルに書き込めない場合があります。

  • 追跡するデータの単一行のサイズが 16 MB を超える場合、その行のデータを消費できません。そうでない場合、変更追跡クライアントでメモリ不足 (OOM) エラーが発生する可能性があります。

  • インスタンスに障害が発生した場合、DTS ヘルプデスクは 8 時間以内にインスタンスの回復を試みます。回復プロセス中に、インスタンスの再起動やパラメーターの調整などの操作が実行される場合があります。

    説明

    パラメーターが調整される場合、DTS インスタンスのパラメーターのみが変更されます。データベースのパラメーターは変更されません。

操作手順

  1. 次のいずれかの方法で [変更追跡タスク] ページに移動し、変更追跡インスタンスが存在するリージョンを選択します。

    DTS コンソール

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

    2. 左側のナビゲーションウィンドウで、[変更追跡] をクリックします。

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

    DMS コンソール

    説明

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

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

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

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

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

  3. [ソースデータベース] と [コンシューマーネットワークタイプ] セクションでパラメーターを設定します。

    警告

    ソースデータベースインスタンスを指定した後、ページの上部に表示される [制限] をお読みになることを推奨します。そうしないと、タスクが失敗したり、追跡されたデータを消費できなくなったりする可能性があります。

    カテゴリ

    設定

    説明

    なし

    タスク名

    変更追跡タスクの名前。DTS はタスクに自動的に名前を割り当てます。タスクを簡単に識別できるような、わかりやすい名前を指定することを推奨します。一意のタスク名を使用する必要はありません。

    ソースデータベース

    既存の接続情報の選択

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

      説明

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

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

    データベースタイプ

    PolarDB for MySQL を選択します。

    アクセス方法

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

    インスタンスリージョン

    PolarDB for MySQL クラスターが存在するリージョンを選択します。

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

    Alibaba Cloud アカウント間でデータを追跡するかどうかを指定します。この例では、× が選択されています。

    重要

    Alibaba Cloud アカウント間でクラウドリソースにアクセスする場合は、このパラメーターを に設定し、Alibaba Cloud アカウントRAM ロール名 パラメーターを指定する必要があります。DTS タスクを設定するために使用される Alibaba Cloud アカウントに対して Resource Access Management (RAM) 権限付与を設定する必要があります。RAM 権限付与の設定方法の詳細については、「クロスアカウント DTS タスクの RAM 権限付与の設定」をご参照ください。

    PolarDB クラスター ID

    PolarDB for MySQL クラスター ID を選択します。

    データベースアカウント

    PolarDB for MySQL データベースの [読み取り専用アカウント]、または REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、SELECT 権限を持つカスタムアカウントを入力します。

    データベースパスワード

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

    暗号化

    必要に応じてメソッドを選択します。Secure Sockets Layer (SSL) 暗号化の詳細については、「SSL 暗号化の設定」をご参照ください。

    消費者ネットワークタイプ

    ネットワークタイプ

    [ネットワークタイプ] パラメーターの値は [VPC] に固定されています。[VPC][vSwitch] を選択する必要があります。詳細については、「VPC」をご参照ください。

    説明
    • 変更追跡タスクを設定した後、[コンシューマーネットワークタイプ] セクションの設定は変更できません。

    • 変更追跡クライアントが VPC にデプロイされている場合は、クライアントに接続されている同じ [VPC][vSwitch] を選択することを推奨します。

    • 内部ネットワーク経由でデータ変更を追跡する場合、ネットワーク遅延は最小限に抑えられます。

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

    説明

    DTS サーバーの CIDR ブロックが、ソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加され、DTS サーバーからのアクセスが許可されていることを確認してください。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。

  5. 変更追跡のオブジェクトを設定します。

    1. オブジェクト設定 ページで、変更追跡のオブジェクトを設定します。

      設定

      説明

      データ変更タイプ

      データ変更タイプ はデフォルトで選択されており、変更できません。

      • [データ更新]

        DTS は、INSERT、DELETE、UPDATE 操作を含む、選択したオブジェクトのデータ更新を追跡します。

      • [スキーマ更新]

        DTS は、ソースインスタンスのすべてのオブジェクトスキーマに対して実行される作成、削除、変更操作を追跡します。追跡するデータをフィルターするには、変更追跡クライアントを使用する必要があります。

      ソースオブジェクト

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

      説明

      変更追跡のオブジェクトとして、テーブルまたはデータベースを選択できます。

      • オブジェクトとしてデータベースを選択した場合、DTS はデータベース内の新しいオブジェクトを含むすべてのオブジェクトの増分データを追跡します。

      • オブジェクトとしてテーブルを選択した場合、DTS はこのテーブルの増分データのみを追跡します。この場合、別のテーブルのデータ変更を追跡するには、そのテーブルをオブジェクトリストに追加する必要があります。詳細については、「変更追跡のオブジェクトの変更」をご参照ください。

    2. 詳細設定へ をクリックして、詳細設定を行います。

      設定

      説明

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

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

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

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

      説明
      • データベースインスタンスに複数の変更追跡タスクが設定されている場合、最も短いリトライ時間範囲が優先されます。たとえば、タスク A とタスク B が同じデータベースインスタンスに設定されているとします。タスク A のリトライ時間範囲は 30 分、タスク B のリトライ時間範囲は 60 分に設定されています。この場合、30 分のリトライ時間範囲が優先されます。

      • DTS が接続をリトライすると、料金が発生します。ビジネス要件に基づいてリトライ時間範囲を指定するか、ソースデータベースインスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることを推奨します。

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

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

      重要

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

      環境タグ

      必要に応じて、インスタンスを識別するための環境タグを選択します。この例では、タグを選択する必要はありません。

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

      ビジネスニーズに基づいて、DTS インスタンスの実行中にハートビート SQL 情報をソースデータベースに書き込むかどうかを選択します。

      • [はい]:ハートビート SQL 情報はソースデータベースに書き込まれません。これにより、DTS インスタンスが遅延を報告する可能性があります。

      • [いいえ]:ハートビート SQL 情報をソースデータベースに書き込みます。これにより、ソースデータベースの物理バックアップやクローン作成などの機能に干渉する可能性があります。

      監視アラート

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

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

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

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

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

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

    • 事前チェック中に項目に対してアラートが生成された場合は、シナリオに基づいて次の操作を実行します:

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

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

  7. インスタンスの購入

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

    2. [購入] ページで、変更追跡インスタンスの課金方法を指定します。次の表にパラメーターを示します。

      パラメーター

      説明

      課金方法

      • サブスクリプション:インスタンスを作成するときにサブスクリプション料金を支払います。サブスクリプションの課金方法は、長期間の使用において従量課金の課金方法よりも費用対効果が高くなります。サブスクリプション期間が長いほど、価格は低くなります。

      • 従量課金:従量課金インスタンスは時間単位で課金されます。短期間の使用には、従量課金の課金方法を選択することを推奨します。従量課金インスタンスが不要になった場合は、インスタンスをリリースしてコストを削減できます。

      [リソースグループ設定]

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

      サブスクリプション期間

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

      説明

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

    3. [Data Transmission Service (従量課金) 利用規約] を読み、選択します。

    4. [購入して開始] をクリックして、変更追跡タスクを開始します。タスクの進捗状況はタスクリストで確認できます。

次のステップ

変更追跡タスクが実行中の場合、ダウンストリームクライアントに基づいて使用者グループを作成し、追跡されたデータを消費できます。