Sinkronisasi data secara real time dari PolarDB for MySQL ke ApsaraDB RDS for MySQL menggunakan DTS.
Prasyarat
- Kluster PolarDB for MySQL telah dibuat. Buat kluster PolarDB for MySQL.
- binary logging untuk kluster PolarDB for MySQL telah diaktifkan. Aktifkan binary logging.
Catatan penggunaan
-
Selama sinkronisasi data penuh awal, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, sehingga meningkatkan beban database. Jika kinerja database buruk, spesifikasi instans rendah, atau lalu lintas bisnis tinggi (misalnya, database sumber memiliki banyak query SQL lambat atau tabel tanpa primary key, atau database tujuan mengalami deadlock), beban database akan meningkat dan bahkan dapat menyebabkan layanan tidak tersedia. Sebelum melakukan sinkronisasi data, evaluasi kinerja instans sumber dan tujuan Anda. Kami menyarankan untuk melakukan sinkronisasi data selama jam sepi, misalnya ketika utilisasi CPU kedua instans berada di bawah 30%.
- Selama sinkronisasi data penuh awal, operasi INSERT konkuren menyebabkan fragmentasi tabel di kluster target, sehingga ruang tabel menjadi lebih besar daripada di database sumber.
- Jika tabel sumber tidak memiliki primary key atau unique constraint dan berisi baris duplikat, data duplikat mungkin muncul di database target.
- Jika target adalah instans ApsaraDB RDS for MySQL (kecuali MySQL 5.7 dan 8.0), DTS membuat akun bernama dtssyncwriter di database target. Akun ini memiliki izin tulis dan hanya digunakan oleh DTS.
Penagihan
Jenis sinkronisasi | Harga |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Operasi SQL yang didukung
|
Jenis operasi |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, DELETE, dan REPLACE |
|
DDL |
|
Topologi 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
Setiap topologi memiliki catatan penggunaan khusus. Topologi sinkronisasi.
Batasan
-
Tidak kompatibel dengan trigger
Jika Anda menyinkronisasi seluruh database dan sebuah trigger dalam database tersebut memperbarui tabel lain di database yang sama, ketidakkonsistenan data dapat terjadi antara database sumber dan tujuan. Untuk solusinya, lihat Konfigurasikan tugas sinkronisasi atau migrasi data untuk database sumber yang berisi trigger.
-
Batasan RENAME TABLE
Operasi
RENAME TABLEdapat menyebabkan ketidakkonsistenan data. Misalnya, jika Anda hanya memilih Tabel A untuk disinkronisasi dan tabel tersebut diubah namanya menjadi Tabel B di instans sumber, Tabel B tidak akan disinkronisasi ke instans tujuan. Untuk mencegah masalah ini, pilih seluruh database yang berisi Tabel A dan Tabel B sebagai objek sinkronisasi saat mengonfigurasi tugas sinkronisasi data.
Prosedur
- Beli instansi sinkronisasi data. Proses pembelian.
Catatan Saat membeli instans, atur PolarDB ke PolarDB, MySQL ke MySQL, dan One-way Synchronization ke One-way Synchronization.
-
Masuk ke Konsol DTS.
CatatanJika Anda dialihkan secara otomatis ke Konsol Data Management (DMS), Anda dapat mengklik ikon
di pojok kanan bawah lalu klik
untuk kembali ke Konsol DTS klasik. -
Di panel navigasi kiri, klik Data Synchronization.
-
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instans tujuan Anda berada.
-
Temukan tugas sinkronisasi data yang telah Anda beli dan klik Configure Task.
- Konfigurasikan instans sumber dan target.
Kategori Parameter Deskripsi N/A Synchronization Task Name DTS secara otomatis menghasilkan nama tugas. Tentukan nama deskriptif agar mudah diidentifikasi. Informasi Instans Sumber Instance Type Tetap sebagai PolarDB Instance. Tidak dapat diedit. Instance Region Wilayah sumber yang dipilih saat pembelian. Tidak dapat diedit. PolarDB Instance ID Pilih ID kluster PolarDB for MySQL sumber. Database Account Masukkan akun database untuk kluster PolarDB for MySQL sumber. Database Password Masukkan password untuk akun database tersebut. Informasi Instans Target Instance Type Pilih RDS Instance. Instance Region Wilayah target yang dipilih saat pembelian. Tidak dapat diedit. Database Account Masukkan akun database untuk instans RDS target. Database Password Masukkan password untuk akun database tersebut. Catatan Jika instans RDS target menjalankan MySQL 5.5 atau MySQL 5.6, Anda tidak perlu mengonfigurasi Database Account dan Database Password.Connection Method Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan. Jika Anda memilih SSL-encrypted, aktifkan enkripsi SSL untuk instans RDS terlebih dahulu. Atur enkripsi SSL. PentingSaat ini, parameter Encryption hanya tersedia untuk wilayah di Tiongkok daratan dan wilayah China (Hong Kong).
-
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 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 instans Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan security group instans ECS tersebut, dan Anda harus memastikan bahwa instans ECS dapat mengakses database. Jika database yang dikelola sendiri di-host pada beberapa instans ECS, Anda harus menambahkan secara manual blok CIDR server DTS ke aturan security group setiap instans ECS. 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 agar DTS dapat mengakses database. Untuk informasi lebih lanjut, lihat Daftarkan alamat IP server DTS ke daftar putih.
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. Alternatifnya, Anda dapat menghubungkan ke database melalui jaringan internal, seperti jalur sewa, VPN Gateway, atau Smart Access Gateway.
-
Konfigurasikan mode pemrosesan untuk tabel target yang sudah ada dan pilih objek yang akan disinkronisasi.
Parameter
Deskripsi
Mode pemrosesan untuk tabel target yang sudah ada
-
Precheck and Report Errors: DTS memeriksa apakah ada tabel di database tujuan yang memiliki nama sama dengan tabel sumber. Jika tidak ditemukan konflik, pemeriksaan awal berhasil. Jika terdapat konflik nama, pemeriksaan awal gagal dan tugas dihentikan.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel yang konflik di database tujuan, Anda dapat Atur nama objek di instans tujuan untuk menghindari konflik nama.
-
Ignore Errors and Proceed: Melewati pemeriksaan tabel dengan nama yang konflik di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko lainnya. Misalnya:
-
Jika skema tabel identik, catatan yang sudah ada di tabel tujuan yang memiliki primary key yang sama dengan catatan sumber tidak akan diubah selama sinkronisasi awal. Namun, catatan tersebut akan ditimpa oleh perubahan dari sumber selama sinkronisasi inkremental.
-
Jika skema tabel berbeda, sinkronisasi awal mungkin gagal mentransfer beberapa kolom atau bahkan gagal sepenuhnya.
-
Pilih objek sinkronisasi
Di kotak Source Objects, klik objek yang ingin Anda sinkronisasi, lalu klik ikon
untuk memindahkannya ke kotak Selected Objects.Anda dapat memilih database dan tabel sebagai objek sinkronisasi.
Catatan-
Jika Anda memilih seluruh database, semua perubahan skema untuk objek dalam database tersebut akan disinkronisasi ke database tujuan.
-
Secara default, nama objek tidak diubah. Untuk mengganti nama objek di kluster tujuan, gunakan fitur pemetaan nama objek. Untuk informasi lebih lanjut, lihat Atur nama objek di instans tujuan.
Map or rename objects
Ubah nama objek yang disinkronisasi di instans tujuan. Untuk informasi lebih lanjut, lihat Pemetaan database, tabel, dan kolom.
Replicate temporary tables from DMS online DDL operations
Jika Anda menggunakan Data Management (DMS) untuk melakukan perubahan DDL online pada database sumber, Anda dapat memilih apakah akan menyinkronisasi tabel sementara yang dihasilkan oleh perubahan DDL tersebut.
-
Yes: Menyinkronisasi tabel sementara yang dihasilkan oleh perubahan DDL online.
CatatanJika jumlah data tabel sementara yang dihasilkan oleh perubahan DDL online sangat besar, tugas sinkronisasi data mungkin mengalami keterlambatan.
-
No: Tidak menyinkronisasi tabel sementara yang dihasilkan oleh perubahan DDL online. Hanya operasi DDL asli dari database sumber yang disinkronisasi.
CatatanOpsi ini menyebabkan tabel di database tujuan terkunci.
Periode percobaan ulang koneksi
Jika DTS tidak dapat terhubung ke instans sumber atau tujuan, DTS akan mencoba ulang selama 720 menit (12 jam) secara default. Anda juga dapat menentukan durasi percobaan ulang kustom. Jika DTS berhasil terhubung kembali ke instans sumber atau tujuan dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
CatatanAnda dikenai biaya selama periode percobaan ulang koneksi. Sesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda, atau rilis instans DTS segera setelah instans sumber dan tujuan dirilis.
-
-
Setelah menyelesaikan konfigurasi di atas, klik Next di pojok kanan bawah halaman.
-
Konfigurasikan pengaturan lanjutan untuk sinkronisasi awal.
CatatanJenis sinkronisasi awal mencakup sinkronisasi skema awal dan sinkronisasi data penuh awal. Jika Anda memilih kedua opsi Initial Schema Synchronization dan Initial Full Data Synchronization, DTS akan menyinkronisasi skema dan data yang sudah ada dari objek yang dipilih dari database sumber ke database tujuan sebelum memulai sinkronisasi data inkremental.
-
Setelah menyelesaikan konfigurasi di atas, klik Precheck and Start di pojok kanan bawah halaman.
Catatan-
Pemeriksaan awal dijalankan sebelum tugas sinkronisasi dimulai, dan Anda hanya dapat memulai tugas setelah pemeriksaan tersebut berhasil.
-
Jika pemeriksaan awal gagal, klik ikon
di samping item yang gagal untuk melihat detailnya.-
Anda dapat memperbaiki masalah berdasarkan penyebabnya dan menjalankan kembali pemeriksaan awal.
-
Jika Anda tidak perlu memperbaiki item yang memicu peringatan, Anda dapat mengklik Ignore atau Ignore Warnings and Rerun Precheck untuk melewati peringatan dan menjalankan kembali pemeriksaan awal.
-
-
-
Setelah kotak dialog Precheck menampilkan Precheck Passed, tutup kotak dialog Precheck. Tugas sinkronisasi akan dimulai secara otomatis.
-
Tunggu hingga tugas selesai inisialisasi dan masuk ke status Synchronizing.
Anda dapat melihat status tugas sinkronisasi data di halaman Data Synchronization.