Kafka へのデータ同期ジョブを設定する際、パフォーマンスを向上させるために Kafka パーティション同期戦略を調整できます。たとえば、ハッシュ結果に基づいてデータを異なるパーティションに同期できます。
ハッシュアルゴリズム
DTS は、ハッシュ値を計算するために Java のデフォルトハッシュコードアルゴリズムを使用します。
設定方法
データ同期ジョブの オブジェクト設定 ステップで、Kafka パーティションへのデータ転送ポリシー を設定します。
データ同期ジョブを開始した後、宛先 Topic のパーティション数を変更しないでください。変更すると、同期タスクが失敗したり、ダウンストリームコンシューマーでデータ不整合が発生したりする可能性があります。
戦略の詳細
ソースデータベースは Kafka
ポリシー名 | 説明 | 利点と欠点 |
すべてのデータをパーティション 0 に転送 | このポリシーは、すべてのデータと DDL 情報を宛先 Topic のパーティション 0 に配信します。 |
|
データベース名とテーブル名のハッシュ値に基づいて、データを個別のパーティションに転送 | このポリシーは、データベース名とテーブル名を結合してパーティションキーとしてハッシュ計算に使用します。その後、各テーブルのデータと DDL 情報を宛先 Topic の異なるパーティションに配信します。 説明
|
|
完全データおよび増分 Redis データを異なるパーティションに配信 | このポリシーは、Redis インスタンスからの完全データと増分データを宛先 Topic の異なるパーティションに配信します。 |
|
主キーのハッシュ値に基づいて、データを個別のパーティションに転送 | このポリシーは、テーブルのカラムをパーティションキーとして使用してハッシュ値を計算します。デフォルトでは、プライマリキーが使用されます。テーブルにプライマリキーがない場合は、ユニークキーが使用されます。その後、このポリシーは異なる行を宛先 Topic のさまざまなパーティションに配信します。単一または複数のカラムをパーティションキーとして指定することもできます。 説明
|
|
[Redis キーのハッシュに基づいてパーティションに配信] | このポリシーは、Redis インスタンスのキーをパーティションキーとして使用してハッシュ値を計算します。その後、完全データと増分データを宛先 Topic の異なるパーティションに配信します。 |
|
ソースデータベースが Tair/Redis の場合
ポリシー名 | 説明 | 利点と欠点 |
すべてのデータをパーティション 0 に転送 | すべてのデータと DDL 情報を宛先 Topic のパーティション 0 に配信します。 |
|
完全な Redis データと増分データを異なるパーティションに配信する | Redis インスタンスからの完全データと増分データを宛先 Topic の異なるパーティションに配信します。 |
|
Redis キーのハッシュ値に基づいて異なるパーティションに配信する | Redis キーをパーティションキーとして使用してハッシュ値を計算します。その後、完全データと増分データの両方を宛先 Topic の異なるパーティションに配信します。 |
|
ソースデータベースが別のデータベースの場合
ポリシー名 | 説明 | 利点と欠点 |
すべてのデータをパーティション 0 に転送 | すべてのデータと DDL 情報を宛先 Topic のパーティション 0 に配信します。 |
|
データベース名とテーブル名のハッシュ値に基づいて、データを個別のパーティションに転送 | データベース名とテーブル名をパーティションキーとして結合し、ハッシュ値を計算します。その後、各テーブルのデータと DDL 情報を宛先 Topic の異なるパーティションに配信します。 説明
|
|
主キーのハッシュ値に基づいて、データを個別のパーティションに転送 | テーブルカラム (デフォルトではプライマリキー。プライマリキーが存在しない場合はユニークキー) をパーティションキーとして使用してハッシュ値を計算します。その後、異なる行を宛先 Topic の異なるパーティションに配信します。単一または複数のカラムをパーティションキーとして指定することもできます。 説明
|
|