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

Data Transmission Service:Kafka パーティションへのデータ移行ポリシーの指定

最終更新日:Aug 22, 2026

データ移行タスクに Kafka パーティションポリシーを指定して、パフォーマンスを向上させることができます。たとえば、ハッシュ値に基づいてデータを複数のパーティションに分散させることができます。

ハッシュアルゴリズム

Data Transmission Service (DTS) は、Java の hashCode() メソッドを使用してハッシュ値を計算します。

設定方法

タスク作成ウィザードの [移行タイプとオブジェクトの設定] ステップで Kafka パーティションポリシーを指定します。詳細については、「セルフマネージドOracleからMessage Queue for Apache Kafkaへの移行」および「移行シナリオ」をご参照ください。

警告 データ移行タスクの開始後に、送信先トピックのパーティション数を変更しないでください。変更すると、データ移行が失敗します。

ポリシー

ポリシー 説明 メリット・デメリット
[すべてのデータをパーティション 0 へ転送] すべてのデータと DDL ステートメントを、送信先トピックのパーティション 0 に移行します。
  • メリット:ソースデータベースと同様に、すべてのオブジェクトの作成と変更の順序が維持されます。
  • デメリット:移行パフォーマンスが制限されます。
[データベース名とテーブル名のハッシュ値に基づいてデータを個別のパーティションに転送] データベース名とテーブル名をパーティションキーとして使用してハッシュ値を計算し、各テーブルのデータと DDL ステートメントを送信先トピックの対応するパーティションに移行します。
説明
  • 同じテーブルのデータと DDL ステートメントは、同じパーティションに移行されます。
  • DDL ステートメントがテーブルに関連しない場合 (例: CREATE DATABASE)、そのステートメントはパーティション 0 に移行されます。
  • メリット:各送信先テーブルの作成と変更の順序がソーステーブルと一致し、良好な移行パフォーマンスが得られます。
  • デメリット:移行後、異なるテーブル間のデータ変更の順序が維持されない場合があります。
[プライマリキーのハッシュ値に基づいてデータを個別のパーティションに転送] テーブルの列をパーティションキーとして使用してハッシュ値を計算します。デフォルトでは、プライマリキーが使用されます。テーブルにプライマリキーがない場合は、代わりに一意キーが使用されます。各行は、送信先トピックの対応するパーティションに移行されます。1 つ以上の列をパーティションキーとして指定することもできます。
説明
  • このポリシーを使用する場合、DDL ステートメントはデフォルトで送信先トピックのパーティション 0 に移行されます。
  • テーブルにプライマリキーまたは一意キーがない場合、DTS はそのテーブルのデータと DDL ステートメントを送信先トピックのパーティション 0 に移行します。
  • メリット:このポリシーでは、最高の移行パフォーマンスが得られます。
  • デメリット:各データレコードの変更順序は維持されますが、異なるテーブル間やプライマリキーのないテーブルでの変更は順序が維持されない場合があります。