Data Transmission Service (DTS) menyinkronkan data dari database MariaDB ke instans ApsaraDB RDS for MySQL, mencakup sinkronisasi skema, sinkronisasi data penuh awal, dan sinkronisasi data inkremental. Topik ini menggunakan instans ApsaraDB RDS for MariaDB TX sebagai database sumber.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki instans ApsaraDB RDS for MySQL sebagai tujuan. Untuk informasi selengkapnya, lihat Buat instans ApsaraDB RDS for MySQL.
Memiliki ruang penyimpanan yang cukup pada instans tujuan untuk menampung seluruh data dari instans sumber.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Izin yang diperlukan untuk akun database
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| Instans ApsaraDB RDS for MariaDB TX sumber | Izin baca dan tulis pada objek yang akan disinkronkan. | Buat akun dan Ubah atau atur ulang izin akun |
| Instans ApsaraDB RDS for MySQL tujuan | Izin baca dan tulis pada database tujuan. | Buat akun dan Ubah izin akun |
Operasi SQL yang didukung untuk sinkronisasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, dan DELETE |
| DDL | ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, dan TRUNCATE TABLE |
RENAME TABLE dapat menyebabkan ketidakkonsistenan data antara database sumber dan tujuan. Jika Anda memilih sebuah tabel sebagai objek yang akan disinkronkan lalu mengganti nama tabel tersebut selama proses sinkronisasi, data tabel tersebut tidak akan disinkronkan ke database tujuan. Untuk menghindari hal ini, pilih database tempat tabel tersebut berada sebagai objek yang akan disinkronkan. Pastikan database tempat tabel tersebut berada sebelum dan sesudah operasi RENAME TABLE keduanya telah ditambahkan ke daftar objek yang akan disinkronkan.
Batasan
Persyaratan database sumber
Tabel yang akan disinkronkan harus memiliki PRIMARY KEY atau kendala UNIQUE, serta semua field-nya harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.
Jika Anda memilih tabel sebagai objek yang akan disinkronkan dan perlu mengeditnya di database tujuan (misalnya mengganti nama tabel atau kolom), satu tugas sinkronisasi hanya mendukung hingga 1.000 tabel. Jika Anda memerlukan lebih dari 1.000 tabel, konfigurasikan beberapa tugas untuk menyinkronkan tabel secara batch, atau sinkronkan seluruh database.
Pencatatan log biner (binary logging) diaktifkan secara default untuk instans ApsaraDB RDS for MariaDB. Pastikan parameter
binlog_row_imagediatur kefull. Jika tidak, pemeriksaan awal (precheck) gagal dan tugas sinkronisasi tidak dapat dimulai.Persyaratan retensi log biner: Jika DTS tidak dapat memperoleh log biner, tugas mungkin gagal, atau terjadi ketidakkonsistenan dan kehilangan data. Patuhi persyaratan retensi berikut; jika tidak, perjanjian tingkat layanan (SLA) DTS tidak menjamin keandalan atau kinerja layanan.
Sinkronisasi inkremental saja: minimal 24 jam.
Sinkronisasi penuh dan inkremental: minimal 7 hari. Setelah sinkronisasi data penuh selesai, atur periode retensi menjadi lebih dari 24 jam.
Perilaku kunci asing
Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan.
Selama sinkronisasi data penuh dan sinkronisasi data inkremental, DTS sementara menonaktifkan pemeriksaan kendala dan operasi kaskade pada kunci asing di tingkat session.
Operasi pembaruan dan penghapusan kaskade pada database sumber selama sinkronisasi dapat menyebabkan ketidakkonsistenan data.
Batasan saat runtime
Dampak kinerja: Sinkronisasi data penuh menggunakan resource baca dan tulis dari kedua database sumber dan tujuan. Hal ini dapat meningkatkan beban pada server database. Jadwalkan sinkronisasi pada jam sepi.
Fragmentasi tabel: Selama sinkronisasi data penuh awal, operasi INSERT konkuren menyebabkan fragmentasi pada tabel tujuan. Setelah sinkronisasi penuh selesai, ruang tabel (tablespace) yang digunakan pada database tujuan lebih besar daripada database sumber.
Operasi DDL pada tabel yang dipilih: Jika Anda memilih tabel tertentu (bukan seluruh database) sebagai objek yang akan disinkronkan, jangan gunakan alat seperti pt-online-schema-change untuk operasi DDL online pada tabel tersebut selama sinkronisasi. Gunakan Data Management (DMS) untuk melakukan operasi DDL tanpa lock (lock-free) sebagai gantinya. Untuk informasi selengkapnya, lihat Lakukan operasi DDL tanpa lock.
Penulisan ke database tujuan: Gunakan hanya DTS untuk menulis data ke database tujuan selama sinkronisasi. Hal ini mencegah ketidakkonsistenan data antara database sumber dan tujuan. Jika alat lain menulis ke database tujuan, jangan gunakan DMS untuk operasi DDL online karena dapat menyebabkan kehilangan data.
DDL gagal di tujuan: Jika pernyataan DDL gagal di database tujuan, tugas DTS tetap berjalan. Periksa log tugas untuk melihat pernyataan DDL yang gagal. Untuk informasi selengkapnya, lihat Lihat log tugas.
Nama kolom tidak peka huruf besar/kecil: Nama kolom MySQL tidak peka terhadap huruf besar/kecil. Jika beberapa kolom di database sumber memiliki nama yang hanya berbeda dalam kapitalisasi, data dari kolom-kolom tersebut akan ditulis ke kolom yang sama di database MySQL tujuan, yang dapat menyebabkan hasil yang tidak diinginkan.
Verifikasi pasca-sinkronisasi: Setelah sinkronisasi selesai (status Status berubah menjadi Completed), jalankan
analyze table <Nama Tabel>untuk memeriksa apakah data telah ditulis ke tabel tujuan. Jika alih bencana (HA switchover) dipicu di database MySQL sumber, data mungkin hanya ditulis ke memori, sehingga menyebabkan kehilangan data.
Prosedur
Langkah 1: Buka halaman sinkronisasi data
Gunakan salah satu metode berikut untuk mengakses halaman Sinkronisasi Data dan pilih wilayah tempat instans sinkronisasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi data berada.
Konsol DMS
Operasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS.
Masuk ke Konsol DMS.
Pada bilah navigasi atas, arahkan penunjuk ke Data + AI, lalu pilih DTS (DTS) > Data Synchronization.
Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi data berada.
Langkah 2: Konfigurasikan database sumber dan tujuan
Klik Create Task.
Konfigurasikan database sumber dan tujuan dengan parameter berikut.
Pengaturan tugas
| Parameter | Deskripsi |
|---|---|
| Task Name | DTS secara otomatis menghasilkan nama tugas. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tugas tidak perlu unik. |
Database sumber
| Parameter | Deskripsi |
|---|---|
| Select Existing Connection | Opsional. Jika Anda memilih database yang sudah ada, DTS akan mengisi parameter secara otomatis. Jika Anda belum mendaftarkan instans database DMS, lewati opsi ini dan konfigurasikan pengaturan di bawah. |
| Database Type | Pilih MariaDB. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans ApsaraDB RDS for MariaDB TX sumber berada. |
| Replicate Data Across Alibaba Cloud Accounts | Apakah akan menyinkronkan data lintas Akun Alibaba Cloud. Pada contoh ini, pilih No. |
| Instance ID | ID instans ApsaraDB RDS for MariaDB TX sumber. |
| Database Account | Akun database instans sumber. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database. |
| Database Password | Kata sandi untuk akun database. |
| Encryption | Apakah akan mengenkripsi koneksi ke database sumber. Pada contoh ini, pilih Non-encrypted. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select Existing Connection | Opsional. Jika Anda memilih database yang sudah ada, DTS akan mengisi parameter secara otomatis. Jika Anda belum mendaftarkan instans database DMS, lewati opsi ini dan konfigurasikan pengaturan di bawah. |
| Database Type | Pilih MySQL. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah tempat instans ApsaraDB RDS for MySQL tujuan berada. |
| Replicate Data Across Alibaba Cloud Accounts | Apakah akan menyinkronkan data lintas Akun Alibaba Cloud. Pada contoh ini, pilih No. |
| RDS Instance ID | ID instans ApsaraDB RDS for MySQL tujuan. |
| Database Account | Akun database instans tujuan. Untuk izin yang diperlukan, lihat Izin yang diperlukan untuk akun database. |
| Database Password | Kata sandi untuk akun database. |
| Encryption | Apakah akan mengenkripsi koneksi. Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan Anda. Untuk menggunakan SSL-encrypted, aktifkan enkripsi SSL untuk instans ApsaraDB RDS for MySQL terlebih dahulu. Untuk informasi selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL. |
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih instans database Alibaba Cloud (seperti instans ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB). Untuk database yang dikelola sendiri yang dihosting pada instance Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR ke aturan grup keamanan instance ECS tersebut. Pastikan instance ECS dapat mengakses database. Jika database dideploy pada beberapa instance ECS, tambahkan secara manual blok CIDR server DTS ke aturan grup keamanan setiap instance ECS. Untuk database yang dikelola sendiri di pusat data lokal atau yang disediakan oleh penyedia layanan cloud pihak ketiga, tambahkan secara manual blok CIDR ke daftar putih database. Untuk informasi selengkapnya, lihat Blok CIDR server DTS. Menambahkan blok CIDR server DTS ke daftar putih, aturan grup keamanan instans, atau aturan grup keamanan ECS menimbulkan risiko keamanan. Sebelum menggunakan DTS, ambil langkah pencegahan, termasuk namun tidak terbatas pada: memperkuat keamanan username dan password, membatasi port yang terbuka, mengautentikasi panggilan API, meninjau secara berkala daftar putih atau aturan grup keamanan ECS dan menghapus blok CIDR yang tidak sah, atau menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 3: Pilih objek dan konfigurasikan pengaturan sinkronisasi
Konfigurasikan objek yang akan disinkronkan dan pengaturan lanjutan.
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Secara default, Incremental Data Synchronization dipilih. Pilih juga Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menyinkronkan data historis dari objek yang dipilih dari database sumber ke database tujuan. Data historis ini menjadi dasar untuk sinkronisasi inkremental selanjutnya. |
| Method to Migrate Triggers in Source Database | Metode untuk menyinkronkan Pemicu dari database sumber. Pilih metode sesuai kebutuhan Anda. Jika tidak ada Pemicu yang perlu disinkronkan, abaikan parameter ini. Untuk informasi selengkapnya, lihat Menyinkronkan atau memigrasikan Pemicu dari database sumber. Parameter ini hanya tersedia saat Schema Synchronization dipilih. |
| Processing Mode of Conflicting Tables | Cara menangani tabel dengan nama identik di database sumber dan tujuan. Precheck and Report Errors: Memeriksa adanya nama tabel identik dan mengembalikan error jika ditemukan. Tugas tidak dapat dimulai hingga konflik diselesaikan. Untuk menyelesaikan konflik tanpa menghapus atau mengganti nama tabel tujuan, gunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek. Ignore Errors and Proceed: Melewati pemeriksaan nama tabel identik. Jika Anda memilih opsi ini, ketahuilah bahwa ketidakkonsistenan data mungkin terjadi. Selama sinkronisasi penuh, catatan data dengan primary key yang sama dengan catatan yang sudah ada di tujuan akan dilewati. Selama sinkronisasi inkremental, catatan tersebut akan menimpa catatan yang ada. Jika skema berbeda, inisialisasi data mungkin gagal, hanya beberapa kolom yang disinkronkan, atau tugas mungkin gagal. |
| Source Objects | Pilih satu atau beberapa objek dari bagian Source Objects lalu klik ikon panah kanan untuk menambahkannya ke bagian Selected Objects. Pilih database, tabel, atau kolom sebagai objek yang akan disinkronkan. |
| Selected Objects | Untuk mengganti nama objek di instans tujuan, klik kanan objek tersebut di bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek tunggal. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama beberapa objek sekaligus. Untuk memilih operasi SQL tertentu untuk database atau tabel, klik kanan objek di bagian Selected Objects. Untuk informasi selengkapnya, lihat Operasi SQL yang didukung untuk sinkronisasi inkremental. Untuk memfilter data dengan kondisi WHERE, klik kanan tabel di bagian Selected Objects. Untuk informasi selengkapnya, lihat Tentukan kondisi filter. Jika Anda mengganti nama objek menggunakan fitur pemetaan nama objek, objek lain yang bergantung pada objek yang diganti nama tersebut mungkin gagal disinkronkan. |
Langkah 4: Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menjadwalkan tugas ke kluster bersama. Untuk meningkatkan stabilitas, beli kluster khusus. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS. |
| Monitoring and Alerting | Apakah akan mengonfigurasi peringatan untuk tugas sinkronisasi. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Pilih No untuk menonaktifkan peringatan, atau Yes untuk mengonfigurasi ambang batas peringatan dan pengaturan notifikasi. Untuk informasi selengkapnya, lihat Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS. |
| Retry Time for Failed Connections | Rentang waktu percobaan ulang saat koneksi ke database sumber atau tujuan gagal. Nilai valid: 10 hingga 1.440 menit. Nilai default: 720. Atur nilai ini lebih dari 30. Jika DTS berhasil terhubung kembali dalam rentang waktu yang ditentukan, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama tetapi memiliki rentang waktu percobaan ulang berbeda, rentang waktu terpendek yang berlaku. DTS mengenakan biaya untuk instans selama masa percobaan ulang. Tentukan rentang waktu percobaan ulang sesuai kebutuhan dan segera rilis instans setelah instans sumber dan tujuan dirilis. |
| Retry Time for Other Issues | Rentang waktu percobaan ulang saat operasi DDL atau DML gagal. Nilai valid: 1 hingga 1.440 menit. Nilai default: 10. Atur nilai ini lebih dari 10. Jika operasi yang gagal berhasil dalam rentang waktu yang ditentukan, tugas dilanjutkan. Jika tidak, tugas gagal. Nilai ini harus lebih kecil dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Synchronization | Batasi laju sinkronisasi data penuh untuk mengurangi beban pada server database. Konfigurasikan parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Parameter ini tersedia hanya jika Full Data Synchronization dipilih. |
| Enable Throttling for Incremental Data Synchronization | Apakah akan membatasi laju sinkronisasi data inkremental. Konfigurasikan parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s) untuk mengurangi beban pada server database tujuan. |
| Environment Tag | Tag lingkungan untuk mengidentifikasi instans DTS. Pilih tag sesuai kebutuhan Anda. |
| Configure ETL | Apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data. Pilih No untuk melewati ETL. Untuk informasi selengkapnya tentang ETL, lihat Apa itu ETL? |
Langkah 5: Jalankan pemeriksaan awal dan beli instans
Klik Next: Save Task Settings and Precheck.
Untuk melihat parameter untuk operasi API terkait, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
Tunggu hingga pemeriksaan awal selesai. DTS melakukan pemeriksaan awal sebelum tugas sinkronisasi dapat dimulai.
Jika pemeriksaan awal gagal, klik View Details di sebelah setiap item yang gagal. Analisis penyebab berdasarkan hasil pemeriksaan dan perbaiki masalah tersebut. Kemudian jalankan kembali pemeriksaan awal.
Jika peringatan dipicu untuk suatu item:
Jika peringatan tidak dapat diabaikan, klik View Details dan atasi masalah tersebut. Kemudian jalankan kembali pemeriksaan awal.
Jika peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog View Details, klik Ignore, lalu klik OK. Klik Precheck Again untuk menjalankan kembali pemeriksaan awal. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data dan risiko potensial.
Tunggu hingga Success Rate mencapai 100%. Lalu klik Next: Purchase Instance.
Di halaman pembelian, konfigurasikan parameter berikut.
Kelas Instans Baru
Parameter Deskripsi Billing Method Subscription: Bayar di muka saat membuat instans. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: Ditagih per jam. Cocok untuk penggunaan jangka pendek. Rilis instans saat tidak lagi diperlukan untuk mengurangi biaya. Pay-as-you-go Serverless: Ditagih berdasarkan penggunaan aktual dengan skalabilitas otomatis. Resource Group Settings Kelompok sumber daya tempat instans sinkronisasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management? Instance Class DTS menyediakan kelas instans dengan kecepatan sinkronisasi berbeda. Pilih kelas instans sesuai kebutuhan Anda. Untuk informasi selengkapnya, lihat Kelas instans instansi sinkronisasi data. Subscription Duration Jika Anda memilih metode penagihan Subscription, tentukan durasi langganan: 1 hingga 9 bulan, atau 1, 2, 3, atau 5 tahun. DTS Insight
Parameter Deskripsi DTS Insight Apakah akan mengaktifkan DTS Insight untuk diagnostik cerdas. Pilih opsi sesuai kebutuhan Anda. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start untuk menyimpan tugas dan segera memulainya, atau klik Buy and Save untuk menyimpan tugas tanpa memulainya. Di kotak dialog yang muncul, klik OK.
Tugas akan muncul di daftar tugas tempat Anda dapat memantau progresnya.