Gunakan Data Transmission Service (DTS) untuk menyinkronkan data secara berkelanjutan dari database MySQL yang dikelola sendiri pada Elastic Compute Service (ECS) ke kluster PolarDB for MySQL, mencakup data historis dan perubahan berkelanjutan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster PolarDB for MySQL. Untuk membuatnya, lihat Purchase a pay-as-you-go cluster.
Akun database pada database MySQL yang dikelola sendiri dengan izin yang diperlukan. Lihat Create an account for a self-managed MySQL database and configure binary logging.
Izin akun database sumber
Akun database harus memiliki izin berikut pada objek yang akan disinkronkan:
SELECT pada objek yang akan disinkronkan
REPLICATION CLIENT
REPLICATION SLAVE
SHOW VIEW
Izin akun kluster tujuan
Akun database pada kluster PolarDB for MySQL harus memiliki izin baca dan tulis pada semua objek yang akan disinkronkan.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Billing overview. |
Operasi SQL yang didukung
| Tipe | Operasi |
|---|---|
| DML | INSERT, UPDATE, DELETE, REPLACE |
| DDL | ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, TRUNCATE TABLE |
Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Jika Anda memilih tabel tertentu sebagai objek sinkronisasi dan mengganti namanya selama proses sinkronisasi, perubahan pada tabel tersebut tidak lagi direplikasi ke kluster tujuan. Untuk mencegah hal ini, pilih database induk (bukan tabel individual) sebagai objek sinkronisasi, dan pastikan database tersebut termasuk dalam objek sinkronisasi baik sebelum maupun setelah penggantian nama.
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah kaskade
Sinkronisasi satu arah banyak-ke-satu
Untuk detailnya, lihat Synchronization topologies.
Batasan
Ketidakcocokan Pemicu
Jika Anda memilih database sebagai objek untuk disinkronkan dan database tersebut berisi pemicu yang memperbarui tabel, ketidakkonsistenan data dapat terjadi. Lihat Configure a data synchronization task for a source database that contains a trigger untuk solusi alternatifnya.
Persyaratan kunci primer
Tabel sumber harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua bidang harus unik. Tanpa ini, kluster tujuan mungkin berisi catatan duplikat.
Catatan penggunaan
DTS membaca dari sumber dan menulis ke tujuan selama sinkronisasi data penuh awal, sehingga meningkatkan beban pada kedua instans. Jalankan tugas sinkronisasi selama jam sepi, saat pemanfaatan CPU pada kedua instans berada di bawah 30%.
Jangan gunakan gh-ost atau pt-online-schema-change untuk operasi DDL selama sinkronisasi. Alat-alat ini dapat menyebabkan tugas gagal.
Operasi INSERT bersamaan selama sinkronisasi data penuh awal menyebabkan fragmentasi tabel di kluster tujuan. Setelah sinkronisasi selesai, ruang tabel tujuan akan lebih besar daripada sumber.
Menambahkan blok CIDR server DTS ke daftar putih atau aturan security group menimbulkan risiko keamanan. Ambil langkah pencegahan seperti membatasi port yang terbuka, melakukan audit entri daftar putih secara berkala, dan mempertimbangkan opsi konektivitas privat seperti Express Connect, VPN Gateway, atau Smart Access Gateway (SAG) alih-alih akses internet publik.
Menyiapkan tugas sinkronisasi
Langkah 1: Membeli instans DTS
Purchase a DTS instance. Di halaman pembelian, atur:
Source Instance: MySQL
Destination Instance: PolarDB
Synchronization Topology: One-way Synchronization
Langkah 2: Mengonfigurasi database sumber dan tujuan
Masuk ke DTS console.
Jika Anda dialihkan ke Konsol Data Management (DMS), klik ikon
di
untuk kembali ke versi sebelumnya dari konsol DTS.Di panel navigasi kiri, klik Data Synchronization.
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instans tujuan berada.
Temukan instans sinkronisasi dan klik Configure Task di kolom Actions.
Konfigurasikan database sumber dan tujuan menggunakan parameter berikut.
Database sumber
Parameter Deskripsi Task Name Nama deskriptif untuk tugas. Tidak perlu unik. Instance Type Pilih User-Created Database in ECS Instance. Instance Region Wilayah sumber yang Anda pilih di halaman pembelian. Hanya-baca. ECS Instance ID ID instance ECS yang meng-host database MySQL yang dikelola sendiri. Database Type Atur ke MySQL. Hanya-baca. Port Number Nomor port database MySQL yang dikelola sendiri. Database Account Akun dengan izin yang diperlukan sebagaimana tercantum di bagian Prasyarat. Database Password Kata sandi untuk akun database. Database tujuan
Parameter Deskripsi Instance Type Atur ke PolarDB Instance. Hanya-baca. Instance Region Wilayah tujuan yang Anda pilih di halaman pembelian. Hanya-baca. PolarDB Instance ID ID kluster PolarDB for MySQL tujuan. Database Account Akun dengan izin baca dan tulis pada objek yang akan disinkronkan. Database Password Kata sandi untuk akun database.
Langkah 3: Mengonfigurasi daftar putih
Klik Set Whitelist and Next di pojok kanan bawah.
Jika database sumber atau tujuan adalah instans database Alibaba Cloud, seperti instans ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instans tersebut.
Jika database sumber atau tujuan adalah database yang dikelola sendiri yang di-host pada instance ECS, DTS secara otomatis menambahkan blok CIDR server DTS ke aturan security group instance ECS tersebut. Jika database di-host pada beberapa instance ECS, tambahkan secara manual blok CIDR DTS ke aturan security group setiap instance.
Jika database sumber atau tujuan adalah database yang dikelola sendiri yang dideploy di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus menambahkan secara manual blok CIDR server DTS ke daftar putih alamat IP database tersebut.
Untuk informasi lebih lanjut, lihat Add the CIDR blocks of DTS servers.
Langkah 4: Memilih objek dan mengonfigurasi penanganan konflik
Konfigurasikan pengaturan berikut, lalu klik Next.
| Pengaturan | Deskripsi |
|---|---|
| Processing mode for existing target tables | Pre-check and Intercept (default): DTS memeriksa apakah kluster tujuan memiliki tabel dengan nama yang sama seperti sumber. Tugas gagal dalam pemeriksaan awal jika ditemukan konflik. Gunakan fitur object name mapping untuk menyelesaikan konflik penamaan tanpa menghapus tabel tujuan.<br><br>Ignore: Melewati pemeriksaan konflik nama. Selama sinkronisasi awal, DTS melewatkan catatan yang memiliki kunci primer yang sama dengan catatan tujuan yang sudah ada. Selama sinkronisasi inkremental, DTS tetap menulis catatan tersebut. Jika skema antara sumber dan tujuan berbeda, tugas mungkin gagal atau hanya menyinkronkan sebagian data. |
| Objects to synchronize | Pilih tabel atau database dari bagian Available dan klik |
| Rename databases and tables | Gunakan object name mapping untuk mengganti nama objek di kluster tujuan. |
| Source table DMS_ ONLINE_ Do you want to copy the temporary table to the target database during DDL | Jika Anda menggunakan Data Management (DMS) untuk menjalankan operasi DDL Online pada database sumber, pilih apakah akan menyinkronkan tabel sementara yang dihasilkan oleh operasi tersebut.<br><br>Yes: Menyinkronkan data tabel sementara. Operasi DDL Online yang besar dapat meningkatkan latensi sinkronisasi.<br><br>No: Melewatkan tabel sementara dan hanya menyinkronkan DDL asli. Tabel tujuan mungkin terkunci sementara. |
| Retry time for failed connections | Default adalah 720 menit (12 jam). Jika DTS berhasil terhubung kembali dalam jendela ini, tugas akan dilanjutkan secara otomatis. Jika jendela percobaan ulang habis tanpa koneksi ulang, tugas gagal. Biaya DTS tetap berlaku selama proses percobaan ulang berlangsung. |
Memilih Ignore tidak menjamin konsistensi data. Selama sinkronisasi awal, DTS melewatkan catatan yang kunci primernya sudah ada di tujuan. Selama sinkronisasi inkremental, DTS menulis catatan yang sama tersebut. Jika skema sumber dan tujuan berbeda, tugas mungkin gagal atau menghasilkan data yang tidak lengkap.
Langkah 5: Memilih jenis sinkronisasi awal
Pilih jenis sinkronisasi yang ingin disertakan.

Memilih kedua opsi Initial Schema Synchronization dan Initial Full Data Synchronization menyebabkan DTS mereplikasi skema dan data yang sudah ada sebelum beralih ke sinkronisasi inkremental.
Langkah 6: Menjalankan pemeriksaan awal dan memulai sinkronisasi
Klik Precheck di pojok kanan bawah.
Jika pemeriksaan awal gagal, klik ikon
di samping setiap item yang gagal untuk melihat detailnya. Perbaiki masalah tersebut dan jalankan pemeriksaan awal lagi. Jika Anda tidak perlu memperbaiki suatu masalah, abaikan item yang gagal tersebut dan mulai pemeriksaan awal baru.Setelah muncul pesan Precheck Passed, tutup kotak dialog Precheck. Tugas sinkronisasi akan dimulai secara otomatis.
Di halaman Synchronization Tasks, pantau status tugas. Tunggu hingga sinkronisasi awal selesai dan tugas memasuki status Synchronizing.

Langkah berikutnya
Untuk mengganti nama objek selama sinkronisasi, lihat Rename an object to be synchronized.
Untuk mempelajari semua topologi sinkronisasi yang didukung, lihat Synchronization topologies.