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

Data Transmission Service:RocketMQ のメッセージ順序付け戦略

最終更新日:Mar 25, 2026

Data Transmission Service (DTS) を使用してデータを Message Queue for RocketMQ インスタンスに同期または移行する際、メッセージの順序付け戦略を調整することで、同期または移行性能を向上できます。本トピックでは、DTS がサポートする順序付け戦略について説明します。

注意事項

  • 送信先の Message Queue for RocketMQ インスタンスの仕様(例:スケーリングアップまたはダウン)が変更された場合、メッセージの配信順序も変更される可能性があります。この新しい順序は、その後のすべての配信に適用されます。

  • DTS は結果整合性のみを保証します。

戦略

説明

Message Queue for RocketMQ インスタンスでは、shardpartition、および message queue という用語は互換的に使用され、いずれもメッセージキューを指します。Message Queue for RocketMQ の基本概念については、「基本概念」および「基本概念」をご参照ください。

戦略

説明

メリットとデメリット

全順序による配信

DTS は、すべてのデータおよび DDL 文を送信先トピックのパーティション 0 に配信します。

  • メリット:ソースデータベースにおけるオブジェクトの作成および変更順序を維持します。

  • デメリット:性能は中程度です。

データベース名 + テーブル名のハッシュ値による配信

DTS は、データベース名とテーブル名を組み合わせた文字列をパーティションキーとしてハッシュ値を計算し、各テーブルのデータおよび DDL 文を送信先トピック内の異なるパーティションに配信します。

説明
  • DTS は、同一テーブルのデータおよび DDL 文を同じパーティションに配信します。

  • CREATE DATABASE のようなテーブルに依存しない DDL 文は、パーティション 0 に配信されます。

  • メリット:個々のテーブルごとの作成および変更順序を維持しつつ、良好な性能を提供します。

  • デメリット:異なるテーブル間の操作順序は保証されません。これは、DTS がそれらのデータを異なるパーティションに配信するためです。

指定した列のハッシュ値による配信

DTS は、カラムをパーティションキーとしてハッシュ値を計算します。デフォルトではプライマリキーを使用しますが、テーブルにプライマリキーがない場合は一意キーが使用されます。また、1 つ以上のカラムをパーティションキーとして指定することもできます。

説明
  • この戦略では、DDL 文はデフォルトで送信先トピックのパーティション 0 に配信されます。

  • テーブルにプライマリキーおよび一意キーのいずれもない場合、DTS はそのテーブルのすべてのデータおよび DDL 文を送信先トピックのパーティション 0 に配信します。

  • メリット:最高の性能を提供します。

  • デメリット:単一レコードの変更順序のみを保証します。プライマリキーを持たないテーブルや異なるテーブル間の操作順序は保証されません。

設定

DTS データ同期または移行インスタンスを設定する際、オブジェクト設定 ステップで、RocketMQ に配信されるメッセージ順序のルール オプションを設定します。