tencent cloud

Data Transfer Service

パーティションポリシーを設定

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 19:45:51
AI翻訳

操作シナリオ

ユーザーがKafkaのマルチパーティションを選択した場合、パーティションポリシーを設定することで、業務上相互に関連するデータを同じパーティションにルーティングできます。これにより、ユーザーはデータを消費する処理が容易になります。DTSは、テーブル名、テーブル名+PK、列名によるパーティショニングをサポートし、サブスクリプションデータをハッシュルールに従ってKafkaの各パーティションにルーティングします。
Kafkaパーティションポリシー - テーブル名によるパーティショニング:ソースデータベースのサブスクリプションデータをテーブル名に従ってパーティショニングします。設定後、同じテーブル名のデータは同じKafkaパーティションに書き込まれます。データ消費時、同じテーブル内のデータ変更は常に順序どおりに取得されます。
Kafkaパーティションポリシー - テーブル名+PKによるパーティショニング:ソースデータベースのサブスクリプションデータをテーブル名+PKに従ってパーティショニングします。ホットデータに適しており、設定後、ホットデータのテーブルは、テーブル名+PKの方式でデータを異なるパーティションに分散し、並行消費の効率を向上させます。
カスタムパーティションポリシー:まず正規表現を使用してサブスクリプションデータ内のデータベース名とテーブル名をマッチングし、マッチしたデータをテーブル名、テーブル名+PK、列に従ってパーティショニングします。


Kafkaパーティションポリシー

テーブル名によるパーティショニング

ソースデータベースに変更が発生した場合、変更データをサブスクリプションTopicに書き込みます。テーブル名によるパーティショニングを選択すると、同じテーブル名のサブスクリプションデータは同じKafkaパーティションに書き込まれます。データを消費する際、同じテーブル内のデータ変更は常に順序どおりに取得されることが保証されます。


テーブル名+PKによるパーティショニング

テーブル名のみでパーティショニングするよう指定した場合、あるテーブルがホットデータであると、テーブル名でパーティショニングされ、そのKafkaパーティションの負荷が非常に高くなります。テーブル名+PKによるパーティショニングによってデータを異なるパーティションに分散し、並行消費の効率を向上させます。


カスタムパーティションポリシー

カスタムパーティションポリシーは、正規表現を使用してデータベース名とテーブル名をマッチングし、マッチしたデータをテーブル名、テーブル名+PK、列に従ってパーティショニングします。

マッチルール

データベース・テーブル、テーブル名のマッチルールはRE2正規表現をサポートしています。具体的な構文については、構文説明を参照してください。
データベース名のマッチルールは、正規表現に従ってデータベース名をマッチングします。テーブル名のマッチルールは、正規表現に従ってテーブル名のデータをマッチングします。データベース名とテーブル名を正確にマッチングする必要がある場合は、開始記号と終了記号を追加する必要があります。例えば、testテーブルは^test$とします。
列名のマッチルールは、等値==でマッチングし、大文字と小文字は区別されません。
カスタムパーティションポリシーを優先的にマッチングします。カスタムパーティションポリシーがマッチしない場合は、Kafkaパーティションポリシーの設定を適用してマッチングします。カスタムパーティションポリシーが複数ある場合は、上から下へ順番にマッチングします。

テーブル名によるパーティショニング

データベース名のマッチングモードに^A$を入力し、テーブル名のマッチングモードに^test$を入力し、テーブル名によるパーティショニングを選択すると、Aデータベース内のtestのサブスクリプションデータは同じパーティションに書き込まれます。testを除く、マッチしないその他のデータベース・テーブルデータは、Kafkaパーティションポリシーで設定されたポリシーに従って書き込まれます。


テーブル名+PKによるパーティショニング

データベース名のマッチングモードに^A$を入力し、テーブル名のマッチングモードに^test$を入力し、テーブル名+PKによるパーティショニングを選択すると、Aデータベース内のtestのサブスクリプションデータは、主キーデータの違いに応じてランダムに異なるパーティションに書き込まれ、最終的に主キーデータが同じデータはすべて同じパーティションに書き込まれます。testを除く、マッチしないその他のデータベース・テーブルデータは、Kafkaパーティションポリシーで設定されたポリシーに従って書き込まれます。


列よるパーティショニング

データベース名のマッチングモードに^A$を入力し、テーブル名のマッチングモードに^test$を入力し、カスタムパーティション列にclassを入力し、列名によるパーティショニングを選択すると、Aデータベース内のtestテーブルで列名がclassのサブスクリプションデータは、ランダムに異なるパーティションに書き込まれます。testを除く、マッチしないその他のデータベース・テーブルデータは、Kafkaパーティションポリシーで設定されたポリシーに従って書き込まれます。



ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック