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

Data Transmission Service:RocketMQ に配信される順序付きメッセージのルール

最終更新日:Feb 28, 2025

Data Transmission Service (DTS) が ApsaraMQ for RocketMQ インスタンスにデータを同期または移行する場合、順序付きメッセージのルールを構成して、データ同期または移行インスタンスのパフォーマンスを向上させることができます。このトピックでは、DTS がサポートする順序付きメッセージのルールポリシーについて説明します。

使用上の注意

DTS で移行先の ApsaraMQ for RocketMQ インスタンスのクラスをアップグレードまたはダウングレードする場合、メッセージは以前とは異なる新しいルール構成で配信されます。

ポリシー

説明

ApsaraMQ for RocketMQ インスタンスでは、用語 Shard、Partition、および MessageQueue はすべてメッセージキューを表します。ApsaraMQ for RocketMQ の概念の詳細については、「用語」および「用語」をご参照ください。

名前

説明

長所と短所

全順序による配信

DTS はすべてのデータと DDL 文を移行先トピックのパーティション 0 に配信します。

  • 長所:すべてのオブジェクトが作成および変更される順序は、ソースデータベースの順序と同じです。

  • 短所:このポリシーは通常の配信パフォーマンスを提供します。

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

DTS は、データベース名とテーブル名をパーティションキーとして使用してハッシュ値を計算します。次に、DTS は各テーブルのデータと DDL 文を移行先トピックの対応するパーティションに配信します。

説明
  • 同じテーブルのデータと DDL 文は同じパーティションに配信されます。

  • DDL 文がテーブルに無関係な場合 (例:CREATE DATABASE)、文はパーティション 0 に配信されます。

  • 長所:移行先テーブルが作成および変更される順序は、ソーステーブルの順序と同じです。このポリシーは優れた配信パフォーマンスを提供します。

  • 短所:テーブルは異なるパーティションに配信されます。データ配信後、異なるテーブルのデータ変更の順序に矛盾が生じる可能性があります。

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

DTS は、テーブル列をパーティションキーとして使用してハッシュ値を計算します。テーブル列はデフォルトでプライマリキーです。テーブルにプライマリキーがない場合は、一意キーがパーティションキーとして使用されます。DTS は各行を移行先トピックの対応するパーティションに配信します。

説明
  • このポリシーを使用する場合、DDL 文はデフォルトで移行先トピックのパーティション 0 に移行されます。

  • テーブルにプライマリキーまたは一意キーがない場合、DTS はテーブルのデータと DDL 文を移行先トピックのパーティション 0 に配信します。

  • 長所:このポリシーは最高の配信パフォーマンスを提供します。

  • 短所:データ配信後、各データレコードのデータ変更の順序は同じままです。ただし、異なるテーブルまたはプライマリキーのないテーブルのデータ変更の順序に矛盾が生じる可能性があります。

構成方法

RocketMQ に配信されるメッセージ順序のルール は、データ同期または移行インスタンスの オブジェクト設定 フェーズで構成できます。