Data Transmission Service (DTS) の Exactly-Once 書き込み機能は、プライマリキーまたは一意制約のないテーブルから宛先テーブルへの完全データおよび増分データを正確に同期します。
適用範囲
この機能は、特定の双方向同期インスタンスにおける完全データ同期タスクおよび増分同期タスクでのみサポートされます。詳細については、「サポートされるデータ同期シナリオ」をご参照ください。
Multi-master Cluster (Limitless) Edition の PolarDB for MySQL クラスターでは、この機能はサポートされていません。
Exactly-Once 書き込み機能は、サーバーレス課金方法を使用するタスクではサポートされていません。
ソースデータベースにプライマリキーまたは一意制約のないテーブルが含まれる場合、そのテーブルは次の要件を満たす必要があります:
ソースデータベースの データベースタイプ が MySQL で、アクセス方法 が Alibaba Cloud インスタンス でない場合、ソースデータベースはグローバルトランザクション ID (GTID) モードである必要があります。同期対象のテーブルは、InnoDB などのトランザクションストレージエンジンを使用する必要があります。
同期対象の単一テーブルのサイズは 200 GB を超えることはできません。
Exactly-Once 書き込み機能は DDL 操作をサポートしていません。このような操作はタスクの失敗を引き起こす可能性があります。
TRUNCATEなどのデータクリーンアップ DDL 操作は、データ不整合を引き起こす可能性があります。タスクで Exactly-Once 書き込み機能が有効になっている場合、増分書き込みパフォーマンスは 3,000 RPS に制限されます。
サポートされる連携
この機能は、双方向同期インスタンスでのみサポートされます。
ソースデータベース | 宛先データベース |
MySQL | MySQL、PolarDB for MySQL |
PolarDB for MySQL | MySQL、PolarDB for MySQL |
注意事項
双方向同期インスタンスで Exactly-Once 書き込み機能を使用する場合は、次の点にご注意ください:
ソースデータベースの データベースタイプ が MySQL または PolarDB for MySQL の場合、プライマリキーまたは一意制約のないソースデータベース内のテーブルは、同期中に一時的にロックされます。
ソースデータベースでのデータクリアリング DDL 操作は、特に操作後に増分書き込みモジュールが再起動した場合にデータ損失を引き起こす可能性があります。データ整合性の確保は、お客様の責任となります。
完全同期タスクおよび増分同期タスクは、宛先インスタンスに
dtsという名前のデータベースまたはスキーマを作成します。これらのタスクは、データベースまたはスキーマ内に複数のトランザクションテーブルも作成します。DTS タスクの実行中は、これらのトランザクションテーブルに対して DML 操作を実行しないでください。リモート同期タスクの場合、[Exactly-Once] を有効化し書き込みを実行するかどうか の設定は、転送同期タスクの構成がデフォルトで適用され、変更することはできません。
完全同期中、DTS はプライマリキーまたは一意制約のないテーブルに対して全表スキャンを実行し、テーブルスナップショットを生成します。
操作手順
転送同期タスクの オブジェクト設定 ステップに移動します。
説明以前のバージョンの設定ページを使用している場合は、オブジェクトの設定と詳細設定 ステップに進んでください。
詳細については、「同期ソリューションの概要」の関連する設定ドキュメントをご参照ください。
[Exactly-Once] を有効化し書き込みを実行するかどうか を ○ に設定します。
必要に応じて、残りの設定を完了してください。