All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari instans PolarDB-X 2.0 ke instans Alibaba Cloud Message Queue for Kafka

Last Updated:Mar 29, 2026

Ketika aplikasi downstream Anda memerlukan aliran perubahan database secara real-time—untuk pemrosesan berbasis event, pengindeksan pencarian, atau analitik—menyalurkan data perubahan mentah dari PolarDB-X 2.0 ke Apache Kafka melepas ketergantungan antara produsen dan konsumen tanpa mengubah aplikasi Anda. Data Transmission Service (DTS) menangkap operasi INSERT, UPDATE, dan DELETE dari binlog sumber dan mengirimkannya ke topik Kafka Anda sehingga konsumen downstream selalu memiliki tampilan data terkini.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans PolarDB-X 2.0 yang kompatibel dengan MySQL 5.7

  • Instans Message Queue for Apache Kafka dengan versi yang didukung oleh DTS — lihat Ikhtisar skenario sinkronisasi data

  • Ruang penyimpanan tersedia di instans Kafka yang melebihi ukuran total data dari instans PolarDB-X sumber

  • Topik Kafka yang telah dibuat untuk menerima data yang disinkronkan — lihat Langkah 1: Buat topik

Batasan

Persyaratan database sumber

  • Tabel harus memiliki PRIMARY KEY atau kendala UNIQUE, dan semua field harus unik. Tanpa ini, destinasi mungkin berisi catatan duplikat.

  • Jika Anda memilih tabel sebagai objek untuk disinkronkan dan perlu mengganti nama tabel atau kolom di destinasi, satu tugas mendukung maksimal 5.000 tabel. Untuk lebih dari 5.000 tabel, bagi pekerjaan tersebut ke beberapa tugas atau sinkronkan seluruh database saja.

  • Hanya tabel yang dapat dipilih sebagai objek untuk disinkronkan. View, trigger, dan prosedur tersimpan tidak disinkronkan.

  • DTS tidak menyinkronkan kunci asing. Operasi cascade dan delete pada sumber tidak direplikasi ke destinasi.

Persyaratan log biner

Aktifkan binary logging di Konsol PolarDB-X 2.0 dan atur binlog_row_image ke full. Jika parameter ini tidak diatur dengan benar, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Lihat Pengaturan parameter.

Atur periode retensi log biner berdasarkan jenis sinkronisasi Anda:

Jenis sinkronisasiPeriode retensi minimum
Sinkronisasi inkremental saja24 jam
Sinkronisasi penuh + inkremental7 hari (dapat dikurangi menjadi lebih dari 24 jam setelah sinkronisasi penuh selesai)
Peringatan

Jika log biner di-purge sebelum DTS memprosesnya, masalah berikut dapat terjadi:

  • Kegagalan tugas: DTS mungkin gagal memperoleh log biner dan tugas bisa gagal.

  • Loss data atau inkonsistensi: Dalam kondisi luar biasa, inkonsistensi atau loss data dapat terjadi. DTS tidak dapat menjamin keandalan dan kinerja yang didefinisikan dalam Perjanjian Tingkat Layanan (SLA). Atur periode retensi sesuai persyaratan di atas sebelum memulai tugas.

Batasan lainnya

  • Hindari menggunakan pt-online-schema-change untuk operasi DDL pada objek yang disinkronkan — hal ini dapat menyebabkan tugas gagal.

  • Selama sinkronisasi, tulis hanya ke instans Kafka destinasi melalui DTS. Menulis melalui alat lain dapat menyebabkan inkonsistensi data. Menggunakan DMS untuk operasi DDL online saat alat lain juga menulis ke destinasi dapat mengakibatkan loss data.

  • Jika sebuah tabel diganti namanya dan nama barunya tidak termasuk dalam objek yang disinkronkan, DTS akan berhenti menyinkronkan tabel tersebut. Untuk melanjutkan, tambahkan objek tersebut ke tugas sinkronisasi dan pilih ulang objek yang akan disinkronkan.

  • Sinkronisasi data penuh awal menggunakan operasi INSERT konkuren, yang menyebabkan fragmentasi tabel di destinasi. Setelah sinkronisasi penuh, ukuran ruang tabel destinasi lebih besar daripada sumber.

  • Jalankan tugas selama jam sepi bila memungkinkan. Sinkronisasi data penuh meningkatkan beban baca dan tulis pada database sumber maupun destinasi.

DTS secara berkala memperbarui tabel dts_health_check.ha_health_check di database sumber untuk memajukan posisi log biner.

Penagihan

Jenis sinkronisasiBiaya
Sinkronisasi skema dan sinkronisasi data penuhGratis
Sinkronisasi data inkrementalDikenai biaya — lihat Ikhtisar penagihan

Batas ukuran catatan tunggal

Kafka menolak catatan yang lebih besar dari 10 MB. Jika baris sumber melebihi batas ini, DTS tidak dapat menulis catatan tersebut dan tugas terganggu. Untuk menghindarinya, kecualikan kolom dengan field besar saat mengonfigurasi tugas. Jika tabel dengan field besar sudah termasuk, hapus dari daftar objek, tambahkan kembali, dan atur kondisi filter untuk mengecualikan kolom yang terlalu besar.

Operasi SQL yang dapat disinkronkan

Hanya DML: INSERT, UPDATE, dan DELETE.

Arahkan informasi DDL ke topik Kafka terpisah menggunakan parameter Topic That Stores DDL Information.

Konfigurasi tugas sinkronisasi

Langkah 1: Buka halaman Tugas Sinkronisasi Data

  1. Masuk ke Konsol Data Management (DMS).

  2. Di bilah navigasi atas, klik DTS.

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

Opsi navigasi bervariasi tergantung mode konsol. Lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS. Atau, buka langsung halaman Tugas Sinkronisasi Data.

Langkah 2: Pilih wilayah

Di sisi kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi Anda berada.

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

Langkah 3: Konfigurasi database sumber dan destinasi

Klik Create Task. Di halaman yang muncul, konfigurasikan parameter berikut.

Umum

ParameterDeskripsi
Task NameNama untuk tugas ini. DTS memberikan nama default. Gunakan nama deskriptif agar tugas mudah diidentifikasi — tidak perlu unik.

Source Database

Sebelum mengonfigurasi database sumber, pastikan akun database memiliki izin yang diperlukan: SELECT, REPLICATION CLIENT, dan REPLICATION SLAVE pada objek yang akan disinkronkan. Untuk detail pemberian izin, lihat Alat sinkronisasi data untuk PolarDB-X.

ParameterNilai / deskripsi
Select an existing DMS database instance(Opsional) Pilih instans yang sudah ada untuk mengisi otomatis parameter di bawah.
Database TypePilih PolarDB-X 2.0.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat instans PolarDB-X sumber berada.
Instance IDID instans PolarDB-X sumber.
Database AccountAkun dengan izin SELECT, REPLICATION CLIENT, dan REPLICATION SLAVE.
Database PasswordPassword untuk akun database.

Destination Database

ParameterNilai / deskripsi
Select an existing DMS database instance(Opsional) Pilih instans yang sudah ada untuk mengisi otomatis parameter di bawah.
Database TypePilih Kafka.
Connection TypePilih Express Connect, VPN Gateway, or Smart Access Gateway. DTS tidak mencantumkan Message Queue for Apache Kafka sebagai metode akses langsung — konfigurasikan sebagai cluster Kafka yang dikelola sendiri.
Instance RegionWilayah tempat instans Kafka destinasi berada.
Connected VPCID virtual private cloud (VPC) dari instans Kafka. Untuk menemukan ID VPC, buka Konsol Kafka, buka halaman detail instans, dan periksa bagian Configuration Information.
IP Address or Domain NameAlamat IP dari field Default Endpoint instans Kafka. Temukan ini di halaman detail instans di bawah Basic Information.
Port NumberPort layanan Kafka. Default: 9092.
Database AccountAkun Kafka. Biarkan kosong jika instans terhubung melalui VPC — otentikasi tidak diperlukan untuk instans terhubung-VPC.
Database PasswordPassword untuk akun Kafka. Biarkan kosong untuk instans terhubung-VPC.
Kafka VersionVersi instans Kafka destinasi.
EncryptionPilih Non-encrypted atau SCRAM-SHA-256 sesuai kebutuhan keamanan Anda.
TopicTopik yang menerima data yang disinkronkan.
Topic That Stores DDL Information(Opsional) Topik terpisah untuk informasi DDL. Jika dibiarkan kosong, informasi DDL ditulis ke topik yang ditentukan di Topic.
Use Kafka Schema RegistryApakah akan menggunakan Kafka Schema Registry untuk manajemen skema Avro. Pilih Yes dan masukkan URL Schema Registry jika diperlukan; jika tidak, pilih No.

Langkah 4: Uji konektivitas

Klik Test Connectivity and Proceed.

DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih instans database Alibaba Cloud dan aturan grup keamanan database yang di-host di Elastic Compute Service (ECS). Untuk database on-premises atau pihak ketiga, tambahkan blok CIDR DTS secara manual. Lihat Tambahkan blok CIDR server DTS ke pengaturan keamanan database on-premises.

Peringatan

Menambahkan blok CIDR DTS ke daftar putih atau grup keamanan membuka potensi risiko keamanan. Sebelum melanjutkan, ambil tindakan pencegahan seperti menggunakan kredensial kuat, membatasi port yang terbuka, mengaudit panggilan API, meninjau aturan daftar putih secara berkala, dan lebih memilih koneksi jaringan pribadi (Express Connect, VPN Gateway, atau Smart Access Gateway) daripada akses internet publik.

Langkah 5: Konfigurasi objek dan pengaturan sinkronisasi

ParameterDeskripsi
Synchronization TypeIncremental Data Synchronization dipilih secara default. Pilih juga Schema Synchronization dan Full Data Synchronization untuk menyinkronkan data historis sebagai garis dasar bagi sinkronisasi inkremental.
Processing Mode of Conflicting TablesPrecheck and Report Errors (default): pemeriksaan awal gagal jika sumber dan destinasi memiliki tabel dengan nama identik. Gunakan pemetaan nama objek untuk menyelesaikan konflik nama tanpa menghapus tabel destinasi. Ignore Errors and Proceed: melewati pemeriksaan konflik nama. Selama sinkronisasi penuh, catatan destinasi yang sudah ada tetap dipertahankan; selama sinkronisasi inkremental, catatan tersebut ditimpa. Gunakan dengan hati-hati — inkonsistensi data mungkin terjadi.
Data Format in KafkaFormat yang digunakan DTS untuk menulis catatan ke topik Kafka. Pilih berdasarkan cara konsumen downstream membaca data: DTS Avro (direkomendasikan untuk pipeline yang menerapkan skema): catatan diserialisasi menggunakan definisi skema DTS Avro. Lihat skema di GitHub. Canal Json: catatan disimpan dalam format JSON Canal. Lihat Format data kluster Kafka untuk referensi field lengkap.
Policy for Shipping Data to Kafka PartitionsMengontrol partisi Kafka mana yang dituju setiap catatan. Lihat Tentukan kebijakan untuk migrasi data ke partisi Kafka.
Penting

Fitur ini tidak didukung jika database sumber adalah database PolarDB-X 1.0.

Capitalization of Object Names in Destination InstanceMenentukan kapitalisasi nama database, tabel, dan kolom di destinasi. DTS default policy dipilih secara default. Lihat Tentukan kapitalisasi nama objek di instans destinasi.
Source ObjectsPilih kolom, tabel, atau database dari Source Objects dan klik ikon panah untuk memindahkannya ke Selected Objects.
Selected ObjectsUntuk mengganti nama satu objek, klik kanan objek tersebut. Lihat Petakan nama satu objek. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Petakan beberapa nama objek sekaligus. Untuk memilih operasi SQL mana yang akan disinkronkan untuk objek tertentu, klik kanan objek tersebut dan pilih operasinya. Untuk memfilter baris, klik kanan objek dan tentukan klausa WHERE. Lihat Atur kondisi filter.

Langkah 6: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings.

ParameterDeskripsi
Set AlertsKonfigurasikan peringatan untuk diberi tahu saat tugas gagal atau latensi sinkronisasi melebihi ambang batas. Pilih Yes untuk mengonfigurasi ambang batas dan kontak peringatan. Lihat Konfigurasi pemantauan dan peringatan untuk tugas DTS baru.
Specify the retry time range for failed connectionsBerapa lama DTS mencoba koneksi yang gagal sebelum menandai tugas sebagai gagal. Rentang: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika beberapa tugas berbagi database sumber atau destinasi yang sama, waktu retry terpendek di antara mereka yang berlaku. Biaya instans DTS tetap berjalan selama periode retry.
Configure ETLApakah akan menerapkan transformasi ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksMengontrol apakah DTS menulis operasi heartbeat ke database sumber. Yes: penulisan heartbeat ditekan; pembacaan latensi sinkronisasi mungkin tidak akurat. No: penulisan heartbeat terjadi, yang mungkin memengaruhi backup fisik atau kloning database sumber.

Langkah 7: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Untuk melihat pratinjau parameter API yang digunakan untuk membuat tugas ini, arahkan kursor ke tombol tersebut dan klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum memulai tugas. Jika suatu item gagal:

  • Klik View Details di sebelah item yang gagal, perbaiki masalahnya, lalu klik Precheck Again.

  • Jika suatu item menampilkan peringatan yang dapat diabaikan, klik Confirm Alert Details, lalu klik Ignore di kotak dialog. Mengabaikan peringatan dapat menyebabkan inkonsistensi data — lanjutkan dengan hati-hati.

Langkah 8: Beli instans

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

ParameterDeskripsi
Billing MethodSubscription: bayar di muka. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam. Hapus instans saat tidak lagi diperlukan untuk menghentikan biaya.
Resource GroupKelompok sumber daya untuk instans. Default ke default resource group. Lihat Apa itu Resource Management?.
Instance ClassSpesifikasi sinkronisasi, yang menentukan throughput. Lihat Spesifikasi instansi sinkronisasi data.
Subscription DurationTersedia saat Subscription dipilih. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun.

Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.

Tugas muncul di daftar tugas. Pantau perkembangannya di sana.

Langkah berikutnya