All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari kluster PolarDB for MySQL ke instans Message Queue for Apache Kafka Alibaba Cloud

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk mengalirkan perubahan data dari kluster PolarDB for MySQL ke topik Message Queue for Apache Kafka secara real time. DTS menangkap dataset penuh awal dan semua perubahan inkremental berikutnya, sehingga konsumen Kafka Anda selalu mutakhir dengan data sumber.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Batasan

Persyaratan database sumber

  • Tabel harus memiliki PRIMARY KEY atau Kendala UNIK dengan semua bidang bernilai unik. Tanpa ini, destinasi mungkin berisi catatan duplikat.

  • Jika Anda mengganti nama tabel atau kolom di database destinasi, satu tugas dapat menyinkronkan hingga 1.000 tabel. Untuk jumlah tabel yang lebih banyak, konfigurasikan beberapa tugas atau sinkronkan seluruh database.

  • Jika Anda perlu menyinkronkan data inkremental, binary logging harus diaktifkan dan parameter loose_polar_log_bin harus diatur ke on. Lihat Aktifkan binary logging dan Modifikasi parameter.

Mengaktifkan binary logging pada kluster PolarDB for MySQL akan dikenai biaya penyimpanan untuk file log biner.
  • Node read-only dari kluster sumber tidak dapat dimasukkan dalam tugas sinkronisasi.

  • DTS secara berkala mengeksekusi CREATE DATABASE IF NOT EXISTS \`test\` pada database sumber untuk memajukan posisi log biner. Ini merupakan perilaku yang diharapkan.

Periode retensi log biner

Periode retensi log biner yang tidak mencukupi menyebabkan DTS kehilangan posisinya, yang dapat mengganggu tugas dan menyebabkan inkonsistensi data.

Jenis tugasPeriode retensi minimum
Hanya sinkronisasi data inkremental24 jam
Sinkronisasi data penuh + inkremental7 hari

Setelah sinkronisasi data penuh selesai, Anda dapat mengatur periode retensi menjadi lebih dari 24 jam. Pastikan Anda mengatur periode retensi log biner sesuai persyaratan di atas. Jika tidak, SLA DTS tidak menjamin keandalan atau kinerja layanan.

Batas ukuran catatan tunggal

Kafka menolak catatan yang lebih besar dari 10 MB. Jika baris sumber melebihi batas ini, DTS tidak dapat menulisnya dan tugas akan terganggu.

Untuk menangani tabel dengan bidang besar, gunakan salah satu pendekatan berikut:

  • Kecualikan tabel tersebut sepenuhnya dari objek tugas.

  • Sertakan tabel tersebut tetapi tambahkan kondisi filter untuk mengecualikan kolom dengan bidang besar.

Jika Anda telah menambahkan tabel dengan bidang besar, hapus dari objek yang dipilih, tambahkan kembali, lalu atur kondisi filternya.

Operasi DDL selama sinkronisasi

Jangan menjalankan pt-online-schema-change pada tabel sumber saat tugas sedang berjalan — hal ini dapat menyebabkan sinkronisasi gagal.

Kami menyarankan agar Anda hanya menggunakan DTS untuk menulis data ke database destinasi. Hal ini mencegah inkonsistensi data antara database sumber dan destinasi. Jika DTS adalah satu-satunya penulis ke database destinasi, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL tanpa lock pada tabel sumber. Jika Anda menggunakan alat selain DTS untuk menulis data ke database destinasi, kehilangan data dapat terjadi di database destinasi saat Anda menggunakan DMS untuk melakukan operasi DDL Online.

Topologi sinkronisasi yang didukung

  • Satu-ke-satu

  • Satu-ke-banyak

  • Banyak-ke-satu

  • Bertingkat (cascade)

Untuk detailnya, lihat Topologi sinkronisasi.

Operasi SQL yang dapat disinkronkan

JenisPernyataan
DMLINSERT, UPDATE, DELETE
DDLCREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
DDLCREATE VIEW, ALTER VIEW, DROP VIEW
DDLCREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE
DDLCREATE FUNCTION, DROP FUNCTION, CREATE TRIGGER, DROP TRIGGER
DDLCREATE INDEX, DROP INDEX

Buat tugas sinkronisasi

Langkah 1: Buka halaman Tugas Sinkronisasi Data

  1. Login ke Konsol DMS.

  2. Di bilah navigasi atas, klik DTS.

  3. Di panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.

Anda juga dapat langsung menuju halaman Tugas Sinkronisasi Data di Konsol DTS baru. Navigasi konsol dapat berbeda tergantung mode tata letak Anda. Lihat Mode simple untuk detailnya.

Langkah 2: Pilih wilayah

Dari daftar drop-down di samping Tugas Sinkronisasi Data, pilih wilayah tempat instans sinkronisasi akan berada.

Di Konsol DTS baru, pilih wilayah di bilah navigasi atas.

Langkah 3: Konfigurasi database sumber dan destinasi

Klik Create Task. Tinjau batasan yang ditampilkan di bagian atas halaman sebelum melanjutkan, lalu konfigurasikan koneksi sumber dan destinasi.

Source Database

ParameterDeskripsi
Nama TugasDihasilkan otomatis. Tentukan nama deskriptif untuk mengidentifikasi tugas — tidak perlu unik.
Pilih InstansPilih instans yang sudah ada untuk menggunakan kembali pengaturannya, atau konfigurasikan koneksi baru.
Jenis DatabasePilih PolarDB for MySQL.
Metode AksesPilih Alibaba Cloud Instance.
Wilayah InstansWilayah kluster PolarDB for MySQL sumber.
Replikasi Data Antar Akun Alibaba CloudPilih No untuk sinkronisasi dalam akun yang sama.
ID Kluster PolarDBID kluster sumber.
Akun DatabaseAkun dengan izin baca pada objek yang akan disinkronkan.
Password DatabasePassword untuk akun database.
EnkripsiPilih Non-encrypted atau SSL-encrypted sesuai kebutuhan keamanan Anda. Untuk menggunakan SSL, aktifkan enkripsi SSL pada kluster terlebih dahulu.

Destination Database

ParameterDeskripsi
Select InstancePilih instans yang sudah ada untuk menggunakan kembali pengaturannya, atau konfigurasikan koneksi baru.
Database TypePilih Kafka.
Access MethodPilih Express Connect, VPN Gateway, or Smart Access Gateway.
Instance RegionWilayah dari instans Kafka tujuan.
Connected VPCID virtual private cloud (VPC) dari instans Kafka. Untuk menemukannya: buka Konsol Message Queue for Apache Kafka, buka halaman detail instans, lalu lihat pada bagian Configuration Information.
IP AddressAlamat IP dari Default Endpoint instans Kafka. Untuk menemukannya: pada halaman detail instans, lihat di bagian Endpoint Information.
Port NumberPort layanan dari instans Kafka. Default: 9092.
Database AccountAkun Kafka. Biarkan kosong jika tipe instans adalah VPC Instance.
Database PasswordPassword akun Kafka. Biarkan kosong jika tipe instans adalah VPC Instance.
Kafka VersionVersi dari instans Kafka tujuan.
EncryptionPilih Non-encrypted atau SCRAM-SHA-256.
TopicTopik yang menerima data yang disinkronkan. Pilih dari daftar drop-down.
Topic That Stores DDL InformationTopik untuk menyimpan paket event DDL. Jika dibiarkan kosong, informasi DDL akan disimpan di topik yang sama dengan data.
Use Kafka Schema RegistryPilih Yes untuk menggunakan Kafka Schema Registry dalam penyimpanan skema Avro. Jika dipilih, masukkan URL atau alamat IP Schema Registry. Pilih No untuk melewati langkah ini.
Message Queue for Apache Kafka tidak dapat dipilih langsung sebagai tipe instans. Hubungkan ke endpoint Kafka self-managed melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

Langkah 4: Uji konektivitas

Jika destinasi menggunakan daftar putih, tambahkan Blok CIDR server DTS terlebih dahulu. Lihat Tambahkan Blok CIDR server DTS ke pengaturan keamanan database on-premises.

Klik Test Connectivity and Proceed.

Langkah 5: Pilih objek dan konfigurasi pengaturan

ParameterDeskripsi
Tahapan TugasIncremental Data Synchronization dipilih secara default. Pilih juga Schema Synchronization dan Full Data Synchronization untuk menangkap dataset awal sebelum mengalirkan perubahan.
Mode Pemrosesan Tabel yang BentrokPrecheck and Report Errors: gagal dalam pemeriksaan awal jika destinasi memiliki tabel dengan nama yang sama seperti sumber — gunakan opsi ini untuk menghindari penimpaan tak terduga. Ignore Errors and Proceed: melewati pemeriksaan bentrok. Jika skema database sumber dan destinasi sama dan catatan data memiliki nilai primary key yang sama dengan catatan yang sudah ada di destinasi: selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan tersebut dan catatan yang sudah ada di destinasi dipertahankan; selama sinkronisasi data inkremental, DTS menyinkronkan catatan tersebut dan catatan yang sudah ada di destinasi ditimpa. Jika skema berbeda, inisialisasi data mungkin gagal — hanya beberapa kolom yang disinkronkan atau tugas gagal.
Format Data di KafkaDTS Avro: data diserialisasi menggunakan skema DTS Avro. Lihat definisi skema di GitHub. Canal JSON: data disimpan dalam format Canal JSON. Lihat referensi format Canal JSON.
Kebijakan pengiriman data ke partisi KafkaPilih kebijakan perutean partisi berdasarkan kebutuhan pengurutan dan throughput Anda. Lihat Tentukan kebijakan untuk migrasi data ke partisi Kafka.
Kapitalisasi nama objek di instans destinasiMengontrol huruf besar/kecil nama database, tabel, dan kolom dalam pesan Kafka. Default mengikuti kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek.
Objek SumberPilih tabel dari panel Source Objects dan klik ikon panah untuk memindahkannya ke Selected Objects. Hanya tabel yang dapat dipilih.
Objek yang DipilihKlik kanan objek untuk mengganti namanya atau memfilter operasi SQL tertentu. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Untuk memfilter baris, klik kanan objek dan tentukan kondisi WHERE.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings.

ParameterDeskripsi
Atur PeringatanPilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi sinkronisasi melebihi ambang batas. Tentukan ambang batas dan kontak peringatan.
Waktu Coba Ulang untuk Koneksi GagalBerapa lama DTS mencoba ulang koneksi yang gagal sebelum menandai tugas sebagai gagal. Rentang: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika beberapa tugas berbagi sumber atau destinasi yang sama, waktu coba ulang terpendek di antara tugas-tugas tersebut yang berlaku.
Konfigurasi ETLPilih Yes untuk mentransformasi data selama sinkronisasi. Masukkan pernyataan pemrosesan di editor kode. Lihat Konfigurasi ETL.
Apakah akan menghapus operasi SQL pada tabel heartbeat dari tugas maju dan balikYes: DTS tidak menulis operasi tabel heartbeat ke sumber. Latensi sinkronisasi mungkin ditampilkan. No: DTS menulis operasi tabel heartbeat ke sumber. Hal ini dapat memengaruhi backup fisik dan kloning database sumber.

Langkah 7: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

DTS menjalankan pemeriksaan awal sebelum tugas dapat dimulai. Untuk setiap item yang gagal:

  • Klik View Details untuk melihat penyebabnya.

  • Perbaiki masalah tersebut dan klik Precheck Again.

Untuk item peringatan (non-blocking):

  • Perbaiki masalah jika memungkinkan.

  • Untuk melewati: klik Confirm Alert Details di samping item tersebut, klik Ignore, klik OK, lalu klik Precheck Again.

Peringatan

Mengabaikan item peringatan dapat menyebabkan inkonsistensi data dan mengekspos bisnis Anda terhadap risiko.

Langkah 8: Beli instans

Tunggu hingga tingkat keberhasilan pemeriksaan awal mencapai 100%, lalu klik Next: Purchase Instance.

Pilih Instance Class berdasarkan throughput sinkronisasi yang Anda butuhkan. Lihat Spesifikasi instans sinkronisasi data.

Langkah 9: Mulai tugas

  1. Baca dan centang kotak Data Transmission Service (Pay-as-you-go) Service Terms.

  2. Klik Buy and Start.

Tugas akan muncul di daftar tugas. Pantau progres dan latensi sinkronisasinya dari sana.

Catatan penggunaan

  • Sebelum menyinkronkan data, evaluasi dampaknya terhadap kinerja database sumber dan destinasi. Jalankan sinkronisasi selama jam sepi untuk mengurangi dampak tersebut. Selama sinkronisasi data penuh awal, DTS menggunakan sumber daya baca dan tulis database sumber dan destinasi, yang dapat meningkatkan beban pada server database.

  • Selama sinkronisasi data penuh, DTS melakukan operasi INSERT konkuren yang dapat menyebabkan fragmentasi tabel di destinasi. Ruang tabel destinasi mungkin lebih besar daripada sumber setelah sinkronisasi penuh selesai.

  • Kami menyarankan agar Anda hanya menggunakan DTS untuk menulis data ke database destinasi. Jika alat selain DTS menulis ke topik Kafka destinasi secara bersamaan, operasi DDL tanpa lock melalui DMS dapat menyebabkan kehilangan data di destinasi.

Langkah berikutnya