全部产品
Search
文档中心

Data Transmission Service:Strategi sinkronisasi partisi Kafka

更新时间:Feb 07, 2026

Saat mengonfigurasi task sinkronisasi data ke Kafka, Anda dapat menyesuaikan strategi sinkronisasi partisi Kafka untuk meningkatkan kinerja, misalnya dengan menyinkronkan data ke partisi berbeda berdasarkan hasil hash.

Algoritma hash

DTS menggunakan algoritma hashcode default Java untuk menghitung nilai hash.

Metode konfigurasi

Konfigurasikan Policy for Shipping Data to Kafka Partitions pada langkah Configure Objects dalam task sinkronisasi data Anda.

Peringatan

Setelah memulai task sinkronisasi data, jangan mengubah jumlah partisi di topik tujuan. Jika tidak, task sinkronisasi mungkin gagal atau menyebabkan inkonsistensi data bagi konsumen downstream.

Detail strategi

Database sumber adalah Kafka

Nama Kebijakan

Deskripsi

Kelebihan dan kekurangan

Ship All Data to Partition 0

Kebijakan ini mengirimkan semua data dan informasi DDL ke Partisi 0 topik tujuan.

  • Kelebihan: Urutan pembuatan dan perubahan semua objek konsisten dengan database sumber.

  • Kekurangan: Kinerja rata-rata.

Ship Data to Separate Partitions Based on Hash Values of Database and Table Names

Kebijakan ini menggabungkan nama database dan tabel sebagai kunci partisi untuk perhitungan hash, lalu mengirimkan data dan informasi DDL setiap tabel ke partisi berbeda dalam topik tujuan.

Catatan
  • Data dan informasi DDL untuk tabel yang sama dikirimkan ke partisi yang sama.

  • Informasi DDL yang tidak terkait dengan tabel tertentu, seperti CREATE DATABASE, dikirimkan ke Partisi 0.

  • Kelebihan: Urutan pembuatan dan perubahan untuk satu tabel konsisten dengan sumber. Kinerja baik.

  • Kekurangan: Karena tabel dikirimkan ke partisi berbeda, urutan operasi antar-tabel tidak dijamin.

Deliver full and incremental Redis data to different partitions

Kebijakan ini mengirimkan data penuh dan data inkremental dari instans Redis ke partisi berbeda dalam topik tujuan.

  • Kelebihan: Anda dapat mengirimkan data dari instans Redis ke partisi berbeda.

  • Kekurangan: Data untuk kunci yang sama mungkin muncul di partisi berbeda. Kinerja rata-rata.

Ship Data to Separate Partitions Based on Hash Values of Primary Keys

Kebijakan ini menggunakan kolom dari tabel sebagai kunci partisi untuk menghitung nilai hash. Secara default, primary key digunakan; jika tabel tidak memiliki primary key, unique key digunakan. Kebijakan ini kemudian mengirimkan baris berbeda ke berbagai partisi dalam topik tujuan. Anda juga dapat menentukan satu atau beberapa kolom sebagai kunci partisi.

Catatan
  • Dengan kebijakan ini, informasi DDL dikirimkan ke Partisi 0 topik tujuan secara default.

  • Jika tabel tidak memiliki primary key atau unique key, DTS mengirimkan data dan informasi DDL-nya ke Partisi 0 topik tujuan.

  • Kelebihan: Kebijakan ini memberikan kinerja terbaik.

  • Kekurangan: Kebijakan ini hanya menjamin urutan perubahan untuk satu catatan. Urutan operasi untuk tabel tanpa primary key dan antar-multiple tabel tidak dijamin.

Deliver to partitions based on Redis key hash

Kebijakan ini menggunakan kunci dari instans Redis sebagai kunci partisi untuk menghitung nilai hash, lalu mengirimkan data penuh dan data inkremental ke partisi berbeda dalam topik tujuan.

  • Kelebihan: Anda dapat mengirimkan data dari instans Redis ke partisi berbeda.

  • Kekurangan: Data untuk kunci yang sama mungkin muncul di partisi berbeda. Kinerja rata-rata.

Database sumber adalah Tair/Redis

Nama Kebijakan

Deskripsi

Kelebihan dan kekurangan

Ship All Data to Partition 0

Kirimkan semua data dan informasi DDL ke Partisi 0 topik tujuan.

  • Kelebihan: Urutan pembuatan dan perubahan objek sesuai dengan database sumber.

  • Kekurangan: Kinerja rata-rata.

Ship the full data and incremental data of an ApsaraDB for Redis instance to separate partitions

Kirimkan data penuh dan data inkremental dari instans Redis ke partisi berbeda dalam topik tujuan.

  • Kelebihan: Data dari instans Redis didistribusikan ke multiple partisi.

  • Kekurangan: Data untuk kunci yang sama mungkin muncul di partisi berbeda. Kinerja rata-rata.

Ship data to separate partitions based on hash values of Redis Keys

Gunakan kunci Redis sebagai kunci partisi untuk menghitung nilai hash, lalu kirimkan data penuh dan data inkremental ke partisi berbeda dalam topik tujuan.

  • Kelebihan: Data dari instans Redis didistribusikan ke multiple partisi.

  • Kekurangan: Data untuk kunci yang sama mungkin muncul di partisi berbeda. Kinerja rata-rata.

Database sumber adalah database lain

Nama Kebijakan

Deskripsi

Kelebihan dan kekurangan

Ship All Data to Partition 0

Kirimkan semua data dan informasi DDL ke Partisi 0 topik tujuan.

  • Kelebihan: Urutan pembuatan dan perubahan objek sesuai dengan database sumber.

  • Kekurangan: Kinerja rata-rata.

Ship Data to Separate Partitions Based on Hash Values of Database and Table Names

Gabungkan nama database dan nama tabel sebagai kunci partisi untuk menghitung nilai hash, lalu kirimkan data dan informasi DDL setiap tabel ke partisi berbeda dalam topik tujuan.

Catatan
  • Data dan informasi DDL untuk tabel yang sama masuk ke partisi yang sama.

  • Pernyataan DDL yang tidak terkait dengan tabel (misalnya, CREATE DATABASE) masuk ke Partisi 0.

  • Kelebihan: Urutan pembuatan dan perubahan untuk satu tabel sesuai dengan sumber. Kinerja baik.

  • Kekurangan: Urutan relatif antar-tabel berbeda tidak dapat dijamin.

Ship Data to Separate Partitions Based on Hash Values of Primary Keys

Gunakan kolom tabel—secara default primary key; jika tidak ada, gunakan unique key—sebagai kunci partisi untuk menghitung nilai hash, lalu kirimkan baris berbeda ke partisi berbeda dalam topik tujuan. Anda juga dapat menentukan satu atau beberapa kolom sebagai kunci partisi.

Catatan
  • Berdasarkan kebijakan ini, informasi DDL dikirimkan ke Partisi 0 secara default.

  • Jika tabel tidak memiliki primary key maupun unique key, DTS mengirimkan data dan informasi DDL-nya ke Partisi 0.

  • Kelebihan: Kebijakan ini menawarkan kinerja terbaik.

  • Kekurangan: Hanya urutan perubahan untuk satu catatan yang dijamin. Urutan tidak dapat dijamin untuk tabel tanpa primary key atau antar-multiple tabel.