Gunakan Data Transmission Service (DTS) untuk mengalirkan data perubahan dari instans ApsaraDB RDS for MySQL ke instans ApsaraMQ for Kafka. DTS menangkap perubahan tingkat baris melalui log biner dan mengirimkannya ke topik Kafka secara real time, memungkinkan analitik downstream, arsitektur berbasis event, dan integrasi pipa data.
Prasyarat
Instans sumber ApsaraDB RDS for MySQL dan instans tujuan ApsaraMQ for Kafka telah dibuat.
CatatanUntuk informasi tentang cara membuat instans sumber ApsaraDB RDS for MySQL, lihat Buat instans ApsaraDB RDS for MySQL.
Untuk informasi tentang versi yang didukung oleh database sumber dan tujuan, lihat Skenario sinkronisasi data.
Topik yang digunakan untuk menerima data yang disinkronisasi telah dibuat di instans tujuan ApsaraMQ for Kafka. Untuk informasi selengkapnya, lihat Langkah 1: Buat topik.
Ruang penyimpanan instans tujuan ApsaraMQ for Kafka harus lebih besar daripada ruang penyimpanan yang ditempati oleh instans sumber ApsaraDB RDS for MySQL.
Batasan
DTS tidak menyinkronisasi kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi kaskade dan penghapusan pada database sumber tidak disinkronisasi ke database tujuan.
|
Type |
Description |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
|
Penagihan
|
Jenis sinkronisasi |
Harga |
|
Sinkronisasi skema dan sinkronisasi data penuh |
Gratis. |
|
Sinkronisasi data inkremental |
Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Batas ukuran catatan tunggal
Ukuran catatan tunggal yang ditulis ke Kafka dibatasi hingga 10 MB. Jika satu baris di database sumber melebihi 10 MB, DTS tidak dapat menuliskannya ke Kafka dan tugas terganggu. Dalam kasus ini, kami menyarankan agar Anda tidak menyinkronisasi tabel yang terpengaruh. Jika Anda harus menyinkronisasi tabel tersebut, Anda dapat menyinkronisasi hanya beberapa kolom saja. Saat mengonfigurasi tugas DTS, filter catatan dengan field besar. Jika tugas sudah berjalan, ubah objek sinkronisasi untuk menghapus tabel tersebut, lalu tambahkan kembali tabel dan filter kolom dengan field besar agar tidak disinkronisasi.
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah banyak-ke-satu
Untuk deskripsi dan pertimbangan setiap topologi sinkronisasi, lihat Topologi sinkronisasi.
Operasi SQL yang dapat disinkronisasi
Jenis operasi | Pernyataan SQL |
DML | INSERT、UPDATE、DELETE |
DDL |
|
Prosedur
-
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari Konsol DTS
-
Masuk ke Konsol Data Transmission Service (DTS).
-
Di panel navigasi kiri, klik Data Synchronization.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.
-
Masuk ke Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan.
PeringatanSetelah memilih instans sumber dan tujuan, baca dengan cermat batasan yang ditampilkan di bagian atas halaman. Jika Anda tidak mengikuti batasan tersebut, tugas mungkin gagal atau terjadi inkonsistensi data.
Kategori
Parameter
Deskripsi
None
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan manual informasi database berikut.
Database Type
Pilih MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans sumber ApsaraDB RDS for MySQL.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, sinkronisasi dilakukan antar instans dalam satu Akun Alibaba Cloud yang sama. Pilih No.
RDS Instance ID
Pilih ID instans sumber ApsaraDB RDS for MySQL.
Database Account
Masukkan akun database instans sumber ApsaraDB RDS for MySQL. Akun tersebut harus memiliki izin baca pada objek yang akan disinkronisasi.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan. Jika Anda memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans RDS for MySQL terlebih dahulu. Untuk informasi selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
-
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan manual informasi database berikut.
Database Type
Pilih Kafka.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans tujuan ApsaraMQ for Kafka.
Kafka Instance ID
Pilih ID instans tujuan ApsaraMQ for Kafka.
Encryption
Pilih Non-encrypted atau SCRAM-SHA-256 berdasarkan kebutuhan bisnis dan keamanan Anda.
Topic
Pilih topik yang digunakan untuk menerima data dari daftar drop-down.
Use Kafka Schema Registry
Kafka Schema Registry adalah lapisan layanan penyedia metadata yang menyediakan antarmuka RESTful untuk menyimpan dan mengambil skema Avro.
No: Jangan gunakan Kafka Schema Registry.
Yes: Gunakan Kafka Schema Registry. Masukkan URL atau alamat IP yang terdaftar untuk skema Avro di Kafka Schema Registry.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
-
Konfigurasikan objek tugas.
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronisasi.
Parameter
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke klaster tujuan. Hal ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
CatatanSaat Access Method instans Kafka tujuan adalah Alibaba Cloud Instance, Schema Synchronization tidak didukung.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi selengkapnya, lihat Map table and column names.
-
Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan inkonsistensi data dan membahayakan bisnis Anda. Contohnya:
-
Jika skema tabel sama dan catatan di database tujuan memiliki nilai kunci primer atau kunci unik yang sama dengan catatan di database sumber:
-
Selama sinkronisasi penuh, DTS mempertahankan catatan di klaster tujuan. Catatan yang sesuai dari database sumber tidak disinkronisasi.
-
Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya data kolom parsial yang disinkronisasi atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
-
Data Format in Kafka
Pilih format penyimpanan data yang digunakan saat data disinkronisasi ke instans Kafka berdasarkan kebutuhan bisnis Anda.
Jika Anda memilih DTS Avro, Anda harus mengurai data berdasarkan definisi skema DTS Avro. Untuk informasi selengkapnya, lihat Definisi skema DTS Avro dan Contoh deserialisasi DTS Avro.
Jika Anda memilih Canal JSON, untuk deskripsi parameter dan contoh Canal JSON, lihat Deskripsi Canal JSON.
Jika Anda memilih Shareplex JSON, untuk deskripsi parameter dan contoh Shareplex JSON, lihat Shareplex Json.
Kafka Data Compression Format
Pilih format kompresi untuk kompresi pesan Kafka berdasarkan kebutuhan bisnis Anda.
LZ4 (default): Rasio kompresi rendah, tetapi kecepatan kompresi tinggi.
GZIP: Rasio kompresi tinggi, tetapi kecepatan kompresi rendah.
CatatanKonsumsi CPU tinggi.
Snappy: Rasio kompresi dan kecepatan kompresi sedang.
Policy for Shipping Data to Kafka Partitions
Pilih kebijakan berdasarkan kebutuhan bisnis Anda.
Message acknowledgement mechanism
Pilih mekanisme pengakuan pesan berdasarkan kebutuhan bisnis Anda.
Topic That Stores DDL Information
Pilih topik yang digunakan untuk menyimpan informasi DDL dari daftar drop-down.
CatatanJika tidak ditentukan, informasi DDL disimpan di topik yang menerima data secara default.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronisasi ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronisasi, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanObjek untuk sinkronisasi dapat dipilih tingkat tabel.
Selected Objects
Tidak diperlukan konfigurasi tambahan dalam contoh ini. Anda dapat menggunakan fitur pemetaan untuk mengatur nama topik tabel sumber di instans Kafka tujuan, jumlah partisi topik, Partition Key, dan informasi lainnya. Untuk informasi selengkapnya, lihat Informasi pemetaan.
CatatanUntuk memilih operasi SQL untuk sinkronisasi tingkat database atau tabel, klik kanan objek yang akan disinkronisasi di panel Selected Objects, lalu pilih operasi SQL yang diperlukan di kotak dialog yang muncul.
Jika Anda menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang dipetakan mungkin gagal disinkronisasi.
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada klaster bersama, dan Anda tidak perlu memilih klaster. Untuk kinerja yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu klaster khusus DTS?.
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami menyarankan Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
Catatan-
Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
-
Karena DTS mengenakan biaya berdasarkan waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-koneksi lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera mulai melakukan operasi percobaan ulang terus-menerus. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
Catatan-
Item konfigurasi ini tersedia hanya ketika Synchronization Types diatur ke Full Data Synchronization.
-
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Pilih apakah akan menulis informasi SQL heartbeat ke database sumber saat instans DTS berjalan.
-
Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan delay.
-
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan bisnis Anda. Tidak diperlukan tag dalam contoh ini.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
-
No: Tidak ada peringatan yang dikonfigurasi.
-
Yes: Konfigurasi peringatan dengan mengatur ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan peringatan selama konfigurasi tugas.
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di bubble yang muncul.
-
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
-
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan kembali pemeriksaan awal.
-
Jika pemeriksaan awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara detail.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
-
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.
-
Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.
Resource Group Configuration
Kelompok sumber daya tempat instans berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link sinkronisasi data.
Subscription Duration
Dalam mode subscription, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia saat metode penagihan adalah Subscription.
-
-
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Data Synchronization.
-
Informasi pemetaan
Di area Selected Objects, arahkan kursor ke nama topik tujuan (tingkat tabel).
Klik Edit yang muncul di sebelah nama topik tujuan.
Di kotak dialog Edit Table yang muncul, konfigurasikan informasi pemetaan.
CatatanTingkat database, kotak dialog Edit Schema mendukung lebih sedikit parameter yang dapat dikonfigurasi. Tingkat tabel, muncul kotak dialog Edit Table.
Jika granularitas objek sinkronisasi bukan seluruh database, Anda tidak dapat memodifikasi Name of target Topic atau Number of Partitions di kotak dialog Edit Schema.
Parameter
Deskripsi
Name of target Topic
Nama topik tujuan tempat tabel sumber disinkronisasi. Nilai default adalah Topic yang Anda tentukan untuk Destination Database di langkah Configurations for Source and Destination Databases.
PentingSaat database tujuan adalah instans ApsaraMQ for Kafka, nama topik yang Anda tentukan harus ada di instans Kafka tujuan. Jika tidak, sinkronisasi data gagal. Jika database tujuan adalah database Kafka yang dikelola sendiri dan tugas sinkronisasi mencakup sinkronisasi skema, DTS akan mencoba membuat topik yang Anda tentukan di database tujuan.
Jika Anda memodifikasi Name of target Topic, data akan ditulis ke topik yang Anda tentukan.
Filter Conditions
Untuk informasi selengkapnya, lihat Atur kondisi filter.
Number of Partitions
Jumlah partisi saat data ditulis ke topik tujuan.
Partition Key
Saat Policy for Shipping Data to Kafka Partitions diatur ke Ship Data to Separate Partitions Based on Hash Values of Primary Keys, Anda dapat mengonfigurasi parameter ini. Tentukan satu atau beberapa kolom sebagai Partition Key yang digunakan untuk menghitung nilai hash. DTS kemudian mengirimkan baris ke partisi berbeda dari topik tujuan berdasarkan nilai hash yang dihitung.
CatatanAnda dapat memilih Partition Key hanya di kotak dialog Edit Table.
Klik OK.
FAQ
Apakah saya dapat memodifikasi Kafka Data Compression Format?
Ya. Anda dapat menggunakan fitur Ubah objek sinkronisasi untuk memodifikasinya.
Apakah saya dapat memodifikasi Message acknowledgement mechanism?
Ya. Anda dapat menggunakan fitur Ubah objek sinkronisasi untuk memodifikasinya.