Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari database MySQL—seperti database MySQL yang dikelola sendiri atau instans ApsaraDB RDS for MySQL—ke instans ApsaraMQ for RocketMQ. Topik ini menjelaskan cara menyinkronkan data dari instans ApsaraDB RDS for MySQL.
Prasyarat
-
Anda harus memiliki instans tujuan ApsaraMQ for RocketMQ (non-serverless). Untuk informasi selengkapnya, lihat Manage instances atau Manage instances.
CatatanLihat Data Synchronization Overview untuk versi database sumber dan tujuan yang didukung.
-
Anda harus memiliki topik di instans tujuan ApsaraMQ for RocketMQ untuk menerima data yang disinkronkan. Untuk informasi selengkapnya, lihat Manage topics atau Manage topics.
PentingUntuk instans seri 4.x, Message Type topik harus diatur ke Partitionally Ordered Message.
Untuk instans seri 5.x, Message Type topik harus diatur ke Ordered Message.
Batasan
|
Type |
Description |
|
Source database |
|
|
Other limitations |
|
|
Special cases |
|
Penagihan
|
Jenis sinkronisasi |
Biaya konfigurasi |
|
sinkronisasi data penuh |
Gratis. |
|
sinkronisasi data inkremental |
Dikenakan biaya. Untuk detailnya, lihat billing overview. |
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE; CREATE VIEW, ALTER VIEW, DROP VIEW; CREATE PROCEDURE, ALTER PROCEDURE, DROP PROCEDURE; CREATE FUNCTION, DROP FUNCTION, CREATE TRIGGER, DROP TRIGGER; CREATE INDEX, DROP INDEX |
DTS tidak menyinkronkan kunci asing (foreign keys) dari sumber ke tujuan. Operasi kaskade dan penghapusan di sumber tidak direplikasi.
Izin akun database
|
Database |
Izin |
Tindakan |
|
Source ApsaraDB RDS for MySQL |
Izin baca pada objek yang akan disinkronkan. |
Jika Anda membuat dan memberikan izin untuk akun database sumber di luar konsol ApsaraDB RDS for MySQL, pastikan akun tersebut memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Prosedur
-
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari konsol DTS
-
Masuk ke Data Transmission Service (DTS) console.
-
Di panel navigasi kiri, klik Data Synchronization.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari konsol DMS
CatatanOperasi aktual mungkin berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Simple mode dan Customize the layout and style of the DMS interface.
-
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.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama ini tidak harus unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah 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 informasi database berikut secara manual.
Database Type
Pilih MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber RDS for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.
RDS Instance ID
Pilih ID instans sumber RDS for MySQL.
Database Account
Masukkan akun database untuk instans sumber RDS for MySQL. Lihat Database account permissions untuk persyaratan izin.
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 Use a cloud certificate to quickly enable SSL encryption.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah 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 informasi database berikut secara manual.
Database Type
Pilih RocketMQ.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans tujuan Message Queue for RocketMQ berada.
RocketMQ version
Pilih versi instans tujuan Message Queue for RocketMQ.
Instance ID
Pilih ID instans tujuan Message Queue for RocketMQ.
Database Account
Masukkan akun database dan password untuk instans tujuan Message Queue for RocketMQ.
Catatan-
Parameter ini hanya diperlukan jika RocketMQ version diatur ke 5.x.
-
Anda dapat memperoleh kredensial di tab Intelligent Authentication pada halaman RAM di konsol Message Queue for RocketMQ.
Database Password
Topic
Dari daftar drop-down, pilih topik untuk menerima data.
Topic That Stores DDL Information
Dari daftar drop-down, pilih topik untuk menyimpan informasi DDL.
CatatanJika Anda tidak memilih topik, informasi DDL disimpan di topik yang dipilih untuk parameter Topic secara default.
-
-
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 Add the IP address CIDR blocks of DTS servers to a whitelist.
-
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 disinkronkan.
Parameter
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Anda hanya dapat memilih Full Data Synchronization. Schema Synchronization tidak didukung. Setelah pemeriksaan awal selesai, DTS menyinkronkan data objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
CatatanKetika database tujuan adalah instans Message Queue for RocketMQ, 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 tidak ada, pemeriksaan awal lolos. Jika 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. Misalnya:
-
Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:
-
Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.
-
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 disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
-
Format of the data delivered to RocketMQ.
Pilih format penyimpanan untuk menulis data ke topik tujuan berdasarkan kebutuhan Anda. Untuk informasi selengkapnya, lihat Data storage formats in message queues.
Synchronize all fields
Untuk operasi UPDATE, tentukan apakah akan menyinkronkan pre-image hanya field yang diperbarui atau seluruh baris ke field old di topik tujuan. Pre-image adalah catatan data sebelum operasi UPDATE dilakukan.
CatatanParameter ini hanya tersedia ketika Format of the data delivered to RocketMQ. diatur ke Canal JSON.
-
Yes: Menyinkronkan pre-image seluruh baris yang berisi field yang diperbarui.
-
No (Default): Hanya menyinkronkan pre-image field yang diperbarui.
Rules of the ordered messages delivered to RocketMQ.
Pilih aturan pengurutan pesan untuk menulis data ke topik tujuan. Untuk informasi selengkapnya, lihat Message ordering rules for Message Queue for RocketMQ.
Name of DTS producer group
Anda dapat menentukan nama kustom untuk grup produsen (ProducerGroup) yang mengirim pesan ke topik tujuan.
CatatanNilai default adalah dts-producer-group.
Limits of RocketMQ messaging transactions per second (TPS)
Anda dapat mengatur batas transaksi pengiriman pesan per detik (TPS) untuk menulis data ke topik tujuan. Untuk informasi selengkapnya tentang TPS pengiriman pesan, lihat Calculation specifications.
Penting-
Nilai harus kurang dari atau sama dengan TPS maksimum instans Message Queue for RocketMQ. Untuk informasi selengkapnya, lihat Instance specifications.
-
Saat tugas sinkronisasi berjalan, TPS pengiriman pesan aktual instans Message Queue for RocketMQ mungkin sedikit berfluktuasi di sekitar nilai yang ditentukan.
Whether to filter large size of records.
Tentukan apakah akan memfilter pesan yang lebih besar dari 4 MB sebelum menulisnya ke topik tujuan.
PentingJika Anda memilih No, tugas sinkronisasi gagal jika mencoba menulis pesan yang lebih besar dari 4 MB ke topik tujuan.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan 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 Case sensitivity policy for destination object names.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih database atau tabel sebagai objek sinkronisasi.
Selected Objects
Dalam contoh ini, tidak diperlukan konfigurasi tambahan. Anda dapat menggunakan fitur pemetaan untuk mengatur nama topik, kondisi filter, operasi SQL yang akan disinkronkan, dan kunci partisi untuk data yang ditulis ke instans tujuan Message Queue for RocketMQ. Untuk informasi selengkapnya, lihat Mapping information.
-
-
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 What is a DTS dedicated cluster?.
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 secara otomatis dilanjutkan. 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 untuk waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda 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 berkelanjutan. 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 secara otomatis dilanjutkan. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi resource 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 hanya tersedia 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. Dalam contoh ini, tidak diperlukan tag.
Configure ETL
Pilih apakah akan mengaktifkan fitur extract, transform, and load (ETL). Untuk informasi selengkapnya, lihat What is ETL?. Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Configure ETL in a data migration or data synchronization task.
-
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: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Configure monitoring and alerting during task configuration.
-
-
-
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 balon informasi.
-
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.
-
Ketika 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 rinci.
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 pay-as-you-go. Semakin lama durasi langganan, semakin tinggi diskonnya.
-
Pay-as-you-go: Anda dikenakan 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 tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat What is 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 Data synchronization link specifications.
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 ketika 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 daftar Selected Objects, arahkan kursor ke nama topik tujuan.
-
Klik Edit di sebelah nama topik tujuan.
-
Di kotak dialog, konfigurasikan informasi pemetaan.
Catatan-
Jika pemetaan dikonfigurasi baik di level database maupun level tabel, pemetaan level tabel yang berlaku.
-
Untuk pemetaan level database, gunakan kotak dialog Edit Schema. Untuk pemetaan level tabel, gunakan kotak dialog Edit Table.
Level database
Parameter
Deskripsi
Schema Name
Topik tujuan tempat data yang disinkronkan ditulis. Secara default, ini adalah Topic yang Anda pilih untuk Destination Database pada langkah Configurations for Source and Destination Databases.
Penting-
Nama topik yang ditentukan harus ada di instans tujuan Message Queue for RocketMQ. Jika tidak, tugas sinkronisasi data gagal.
-
Jika Anda mengubah Schema Name, data ditulis ke topik yang ditentukan.
Select DDL and DML Operations to Be Synchronized
Pilih operasi SQL untuk sinkronisasi inkremental.
Level tabel
Parameter
Deskripsi
Table Name
Topik tujuan tempat data yang disinkronkan ditulis. Secara default, ini adalah Topic yang Anda pilih untuk Destination Database pada langkah Configurations for Source and Destination Databases.
Penting-
Nama topik yang ditentukan harus ada di instans tujuan Message Queue for RocketMQ. Jika tidak, tugas sinkronisasi data gagal.
-
Jika Anda mengubah Table Name, data ditulis ke topik yang ditentukan.
Filter Conditions
Untuk informasi selengkapnya, lihat Set Filter Conditions.
Select DDL and DML Operations to Be Synchronized
Pilih operasi SQL untuk sinkronisasi inkremental.
Partition Key
Jika Anda mengatur Rules of the ordered messages delivered to RocketMQ. ke Deliver data based on hash values of a specified column., Anda dapat menentukan satu atau beberapa kolom sebagai kunci partisi. DTS kemudian mengirimkan baris ke partisi berbeda dari topik tujuan berdasarkan nilai hash yang dihitung dari kunci tersebut.
-
-
Klik OK.