PolarDB adalah database relasional terdistribusi generasi berikutnya yang cloud-native dan dikembangkan oleh Alibaba Cloud. Database ini sepenuhnya kompatibel dengan MySQL serta menawarkan berbagai keunggulan seperti kemudahan penggunaan, performa tinggi, keandalan tinggi, dan ketersediaan tinggi. Data Transmission Service (DTS) memungkinkan Anda menyinkronkan data dari database MySQL yang dikelola sendiri ke PolarDB for MySQL. Topik ini menjelaskan cara mengonfigurasi sinkronisasi data dari database MySQL yang dikelola sendiri pada instance ECS.
Prasyarat
Anda telah membuat kluster PolarDB for MySQL. Untuk informasi selengkapnya, lihat Buat kluster secara manual.
Catatan
-
Saat inisialisasi data penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, sehingga meningkatkan beban keduanya. Jika database Anda memiliki performa buruk, spesifikasi rendah, atau traffic bisnis tinggi (misalnya, database sumber memiliki banyak query SQL lambat atau tabel tanpa primary key, atau database tujuan mengalami deadlock), beban database dapat meningkat hingga menyebabkan gangguan layanan. Sebelum menyinkronkan data, evaluasi performa instans sumber dan tujuan. Kami menyarankan agar sinkronisasi data dilakukan pada jam sepi, misalnya ketika utilisasi CPU kedua instans berada di bawah 30%.
-
Selama sinkronisasi data, jangan gunakan alat seperti gh-ost atau pt-online-schema-change untuk melakukan perubahan DDL Online pada objek sinkronisasi di database sumber karena hal ini akan menyebabkan tugas sinkronisasi gagal.
- Selama sinkronisasi data penuh awal, operasi INSERT konkuren menyebabkan fragmentasi tabel di kluster tujuan. Setelah sinkronisasi data penuh awal selesai, ruang tabel kluster tujuan lebih besar daripada database sumber.
- Jika suatu tabel di database sumber tidak memiliki primary key atau kendala UNIK, dan catatannya tidak unik di semua bidang, data duplikat mungkin terjadi.
Penagihan
Jenis sinkronisasi | Harga |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
Sinkronisasi data inkremental | Dikenakan biaya. Untuk informasi selengkapnya, lihat Ringkasan penagihan. |
Operasi SQL yang didukung
|
Jenis operasi |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, DELETE, dan REPLACE |
|
DDL |
|
Batasan
- DTS memiliki kompatibilitas terbatas terhadap Pemicu.
Jika Anda menyinkronkan seluruh database dan Pemicu di database tersebut memperbarui tabel di dalam database yang sama, inkonsistensi data dapat terjadi antara database sumber dan tujuan. Untuk Solusi, lihat Bagaimana cara mengonfigurasi tugas sinkronisasi atau migrasi jika database sumber berisi Pemicu?.
- Operasi RENAME TABLE memiliki batasan.
Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Misalnya, jika Anda hanya menyinkronkan tabel tertentu dan tabel tersebut diganti namanya di instans sumber selama sinkronisasi, data dari tabel tersebut tidak akan disinkronkan ke database tujuan. Untuk mencegah masalah ini, pilih seluruh database tempat tabel tersebut berada sebagai objek sinkronisasi saat konfigurasi.
Persiapan
Buat akun database untuk database MySQL yang dikelola sendiri dan aktifkan binary loggingTopologi sinkronisasi yang didukung
-
Sinkronisasi satu arah satu-ke-satu
-
Sinkronisasi satu arah satu-ke-banyak
-
Sinkronisasi satu arah cascade
-
Sinkronisasi satu arah banyak-ke-satu
Untuk informasi selengkapnya tentang masing-masing topologi dan catatan penggunaan terkait, lihat Topologi Sinkronisasi.
Prosedur
- Beli instansi sinkronisasi data. Untuk informasi selengkapnya, lihat Beli instans DTS.
Catatan Saat pembelian, pilih MySQL untuk instans sumber, Apsara PolarDB untuk instans target, dan One-way Synchronization untuk topologi sinkronisasi.
- Masuk ke Konsol Data Transmission Service.
Catatan
Jika Anda dialihkan secara otomatis ke Konsol Data Management (DMS), klik ikon
di pojok kanan bawah lalu klik
untuk kembali ke Konsol DTS klasik. - Di panel navigasi sebelah kiri, klik Data Synchronization.
- Di bilah navigasi atas halaman Data Synchronization, pilih wilayah tempat instans tujuan berada.
- Temukan instansi sinkronisasi data yang telah dibeli, lalu klik Configure Synchronization Channel.
- Konfigurasikan instans sumber dan tujuan untuk saluran sinkronisasi.
Kategori Konfigurasi Deskripsi N/A Synchronization Job Name DTS secara otomatis menghasilkan nama untuk tugas sinkronisasi. Tentukan nama deskriptif agar mudah diidentifikasi. Nama ini tidak harus unik. Informasi Instans Sumber Instance Type Pilih Self-managed Database on ECS. Instance Region Wilayah instans sumber yang Anda pilih saat membeli instansi sinkronisasi data. Parameter ini tidak dapat diubah. ECS Instance ID Pilih ID instance ECS tempat database MySQL yang dikelola sendiri berada. Database Type Tetap sebagai MySQL. Parameter ini tidak dapat diubah. Port Masukkan port layanan database MySQL yang dikelola sendiri. Database Account Masukkan akun database untuk menghubungkan ke database MySQL yang dikelola sendiri. Catatan Akun database yang digunakan untuk sinkronisasi data harus memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT pada semua objek sinkronisasi.Database Password Masukkan password untuk akun database. Informasi Instans Tujuan Instance Type Tetap sebagai PolarDB Instance. Parameter ini tidak dapat diubah. Instance Region Wilayah instans tujuan yang Anda pilih saat membeli instansi sinkronisasi data. Parameter ini tidak dapat diubah. PolarDB Instance ID Pilih ID kluster PolarDB for MySQL tujuan. Database Account Masukkan akun database untuk menghubungkan ke kluster PolarDB for MySQL. Catatan Akun database yang digunakan untuk sinkronisasi data harus memiliki izin ALL pada objek sinkronisasi tujuan.Database Password Masukkan password untuk akun database. -
Di pojok kanan bawah halaman, klik Set Whitelist and Next.
Jika database sumber atau tujuan adalah instans database Alibaba Cloud, seperti instans ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS akan 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 di instance Elastic Compute Service (ECS), DTS akan secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan Instance ECS, dan Anda harus memastikan bahwa Instance ECS dapat mengakses database. Jika Database yang dikelola sendiri di-host di beberapa Instance ECS, Anda harus menambahkan blok CIDR server DTS secara manual ke aturan grup keamanan setiap Instance ECS. Jika database sumber atau tujuan adalah Database yang dikelola sendiri yang diterapkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus menambahkan blok CIDR server DTS secara manual ke daftar putih alamat IP database agar DTS dapat mengakses database. Untuk informasi selengkapnya, lihat Daftar putih alamat IP server DTS.
PeringatanMenambahkan blok CIDR alamat IP publik server DTS, baik secara otomatis maupun manual, dapat menimbulkan risiko keamanan. Dengan menggunakan produk ini, Anda mengakui dan menerima risiko potensial tersebut. Anda harus menerapkan perlindungan keamanan dasar. Perlindungan tersebut mencakup tetapi tidak terbatas pada penguatan keamanan password, pembatasan port terbuka untuk blok CIDR, penggunaan autentikasi untuk komunikasi API internal, serta peninjauan dan pembatasan rutin terhadap blok CIDR yang tidak diperlukan. Atau, Anda dapat menghubungkan ke database melalui jaringan internal, seperti jalur sewa, VPN Gateway, atau Smart Access Gateway.
- Konfigurasikan mode penanganan untuk tabel yang sudah ada di database tujuan dan pilih objek sinkronisasi.
Item Konfigurasi Deskripsi Handling Mode for Existing Tables - Precheck and Report an Error: DTS memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai. Catatan Jika Anda tidak dapat menghapus atau mengganti nama tabel di database tujuan, gunakan fitur pemetaan nama objek untuk menghindari konflik nama. Untuk informasi selengkapnya, lihat Petakan nama objek di Instans tujuan.
- Ignore Errors and Proceed: DTS melewati pemeriksaan untuk tabel dengan nama yang sama di database tujuan. Peringatan Jika Anda memilih Ignore Errors and Proceed, ketidakkonsistenan data dapat terjadi dan menimbulkan risiko bagi bisnis Anda. Misalnya:
- Jika skema tabel sama, catatan di tabel tujuan dengan nilai primary key yang sama seperti di tabel sumber akan dipertahankan selama fase sinkronisasi awal. Selama fase sinkronisasi inkremental, catatan tersebut akan ditimpa.
- Jika skema tabel berbeda, data mungkin gagal diinisialisasi, hanya beberapa kolom yang disinkronkan, atau sinkronisasi gagal.
Select Synchronization Objects Di kotak Source Objects, klik objek yang ingin Anda sinkronkan, lalu klik ikon
untuk memindahkannya ke kotak Selected Objects.Anda dapat memilih database dan tabel sebagai objek sinkronisasi.
Catatan- Jika Anda memilih seluruh database sebagai objek sinkronisasi, perubahan skema semua objek dalam database tersebut akan disinkronkan ke database tujuan.
- Secara default, nama objek sinkronisasi tidak diubah. Untuk mengganti nama objek di kluster tujuan, gunakan fitur pemetaan nama objek. Untuk informasi selengkapnya, lihat Petakan nama objek di instans tujuan.
Change Mapped Name Untuk mengubah nama objek sinkronisasi di instans tujuan, gunakan fitur pemetaan nama objek. Untuk informasi lebih lanjut, lihat Pemetaan nama objek.
Replicate Temporary Tables to Destination Database During Online DDL in DMS Jika database sumber menggunakan Data Management (DMS) untuk mengeksekusi perubahan DDL Online, Anda dapat memilih apakah akan menyinkronkan data tabel sementara yang dihasilkan oleh perubahan DDL Online.
-
Yes: Menyinkronkan data dari tabel temporary yang dihasilkan oleh operasi DDL Online.
CatatanJika jumlah data yang dihasilkan di tabel temporary sangat besar selama operasi DDL Online, tugas sinkronisasi data mungkin mengalami keterlambatan.
-
No: Tidak menyinkronkan data dari tabel temporary. Hanya data DDL asli dari database sumber yang disinkronkan.
CatatanOpsi ini dapat menyebabkan penguncian tabel (table locks) di database tujuan.
Retry Duration for Unstable Connections Jika DTS tidak dapat terhubung ke database sumber atau tujuan, DTS akan mencoba koneksi ulang selama 720 menit (12 jam) secara default. Anda juga dapat menentukan durasi percobaan ulang kustom. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi data akan dilanjutkan secara otomatis. Jika tidak, tugas tersebut akan gagal.
CatatanAnda dikenai biaya untuk instans DTS selama periode percobaan koneksi ulang. Kami menyarankan agar Anda menentukan durasi percobaan ulang kustom sesuai kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
- Precheck and Report an Error: DTS memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
- Setelah menyelesaikan konfigurasi di atas, klik Next di pojok kanan bawah halaman.
- Konfigurasikan pengaturan lanjutan untuk sinkronisasi awal.
Catatan Ada dua jenis sinkronisasi awal: sinkronisasi skema awal dan sinkronisasi data penuh awal. Jika Anda memilih kedua opsi Initial Schema Synchronization dan Initial Full Data Synchronization, DTS akan menyinkronkan skema dan data historis objek dari database sumber ke database tujuan sebelum sinkronisasi data inkremental dimulai. -
Setelah menyelesaikan konfigurasi di atas, klik Precheck and Start di pojok kanan bawah halaman.
Catatan-
DTS melakukan pemeriksaan awal sebelum tugas sinkronisasi dimulai. Tugas hanya dapat dimulai setelah lolos pemeriksaan ini.
-
Jika pemeriksaan awal gagal, klik ikon
di sebelah item yang gagal untuk melihat detailnya.-
Perbaiki masalah berdasarkan penyebabnya dan jalankan kembali pemeriksaan awal.
-
Jika Anda tidak perlu memperbaiki item peringatan, Anda dapat mengklik Ignore atau Ignore and Re-precheck untuk melewati item peringatan tersebut dan menjalankan kembali pemeriksaan awal.
-
-
- Setelah muncul Precheck Passed di kotak dialog Precheck, tutup kotak dialog tersebut. Tugas sinkronisasi akan dimulai secara otomatis.
- Tunggu hingga saluran sinkronisasi diinisialisasi dan tugas memasuki status Synchronizing.
Halaman Data Synchronization menampilkan status tugas sinkronisasi data.
