PolarDB adalah layanan database relasional generasi berikutnya dari Alibaba Cloud. PolarDB kompatibel dengan mesin database MySQL dan menawarkan fitur ketersediaan tinggi, kemudahan penggunaan, serta keandalan. Topik ini menjelaskan cara menyinkronkan data dari database MySQL yang dikelola sendiri yang terhubung melalui Express Connect, VPN Gateway, atau Smart Access Gateway ke kluster PolarDB for MySQL menggunakan Data Transmission Service (DTS).
Prasyarat
Versi database MySQL yang dikelola sendiri adalah 5.1, 5.5, 5.6, 5.7, atau 8.0.
Database MySQL yang dikelola sendiri terhubung ke virtual private cloud (VPC) melalui Express Connect, VPN Gateway, atau Smart Access Gateway. Untuk informasi lebih lanjut, lihat Menghubungkan Database Lokal ke Alibaba Cloud.
CatatanDTS harus diizinkan untuk mengakses VPC yang terhubung ke database MySQL yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Menghubungkan Pusat Data ke DTS menggunakan VPN Gateway.
Kluster PolarDB for MySQL telah dibuat. Untuk informasi lebih lanjut, lihat Pembelian Kustom.
CatatanRuang penyimpanan yang tersedia di kluster PolarDB for MySQL lebih besar daripada total ukuran data di database MySQL yang dikelola sendiri.
Peringatan
DTS menggunakan sumber daya baca dan tulis dari instance RDS sumber dan tujuan selama sinkronisasi data penuh awal. Hal ini dapat meningkatkan beban pada instance RDS. Jika performa instance tidak memadai, spesifikasi rendah, atau volume data besar, layanan database mungkin menjadi tidak tersedia. Sebagai contoh, DTS menggunakan sejumlah besar sumber daya baca dan tulis dalam kasus-kasus berikut: banyak kueri SQL lambat dilakukan pada instance RDS sumber, tabel tidak memiliki kunci utama, atau deadlock terjadi di instance RDS tujuan. Sebelum sinkronisasi data, evaluasi dampak sinkronisasi data pada performa instance RDS sumber dan tujuan. Kami merekomendasikan Anda menyinkronkan data selama jam-jam sepi. Sebagai contoh, Anda dapat menyinkronkan data ketika utilisasi CPU instance RDS sumber dan tujuan kurang dari 30%.
Kami merekomendasikan Anda tidak menggunakan gh-ost atau pt-online-schema-change untuk melakukan operasi DDL pada objek selama sinkronisasi data. Jika tidak, sinkronisasi data mungkin gagal.
Selama sinkronisasi data penuh awal, operasi INSERT bersamaan menyebabkan fragmentasi pada tabel di instance tujuan. Setelah sinkronisasi data penuh awal selesai, ruang tabel kluster tujuan lebih besar daripada database sumber.
Database sumber harus memiliki batasan PRIMARY KEY atau UNIQUE dan semua bidang harus unik. Jika tidak, data duplikat mungkin ada di kluster tujuan.
Penagihan
| Tipe Sinkronisasi | Biaya Konfigurasi Tugas |
| Sinkronisasi skema dan data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan. |
Operasi SQL yang dapat disinkronkan
Tipe 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 bertingkat
Sinkronisasi satu arah banyak-ke-satu
Untuk informasi lebih lanjut, lihat Topologi Sinkronisasi.
Batasan
Ketidakcocokan dengan Pemicu
Jika Anda memilih database sebagai objek yang akan disinkronkan dan database tersebut berisi pemicu yang memperbarui tabel, ketidaksesuaian data mungkin terjadi. Untuk informasi lebih lanjut tentang cara menyelesaikan masalah ini, lihat Konfigurasikan Tugas Sinkronisasi atau Migrasi Data untuk Database Sumber yang Berisi Pemicu.
Batasan pada Operasi RENAME TABLE
Operasi RENAME TABLE dapat menyebabkan ketidaksesuaian data antara database sumber dan kluster tujuan. Sebagai contoh, jika Anda memilih tabel sebagai objek dan mengganti nama tabel selama sinkronisasi data, data tabel tersebut tidak disinkronkan ke kluster tujuan. Untuk mencegah situasi ini, Anda dapat memilih database tempat tabel ini termasuk sebagai objek saat mengonfigurasi tugas sinkronisasi data.
Sebelum Anda mulai
Buat Akun untuk Database MySQL yang Dikelola Sendiri dan Konfigurasikan Binary Logging
Akun database harus memiliki izin SELECT pada objek yang akan disinkronkan, izin REPLICATION CLIENT, izin REPLICATION SLAVE, dan izin SHOW VIEW.
Prosedur
Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli Instance DTS.
CatatanDi halaman pembelian, atur Instance Sumber ke MySQL, atur Instance Tujuan ke PolarDB, dan atur Topologi Sinkronisasi ke One-Way Synchronization.
Masuk ke Konsol DTS.
CatatanJika Anda dialihkan ke konsol Data Management (DMS), Anda dapat mengklik ikon
di
untuk kembali ke versi sebelumnya dari konsol DTS.Di panel navigasi di sebelah kiri, klik Data Synchronization.
Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instance tujuan berada.
Temukan instance sinkronisasi data dan klik Configure Task di kolom Tindakan.
Konfigurasikan instance sumber dan tujuan.

Bagian
Parameter
Deskripsi
Tidak Ada
Nama Tugas Sinkronisasi
Nama tugas yang dibuat oleh DTS. Kami merekomendasikan Anda menentukan nama deskriptif yang mudah diidentifikasi. Anda tidak perlu menggunakan nama tugas yang unik.
Detail Instance Sumber
Tipe Instance
Metode akses database sumber. Pilih User-Created Database Connected Over Express Connect, VPN Gateway, or Smart Access Gateway.
Wilayah Instance
Wilayah sumber yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
VPC Peer
ID virtual private cloud (VPC) yang terhubung ke database Redis yang dikelola sendiri.
Tipe Database
Parameter ini diatur ke MySQL dan nilainya tidak dapat diubah.
Alamat IP
Alamat IP server dari database MySQL yang dikelola sendiri.
Nomor Port
Nomor port layanan dari database MySQL yang dikelola sendiri.
Akun Database
Akun yang Anda buat untuk database MySQL yang dikelola sendiri. Untuk informasi lebih lanjut, lihat Sebelum Anda mulai.
Kata Sandi Database
Kata sandi akun database.
Detail Instance Tujuan
Tipe Instance
Parameter ini diatur ke PolarDB dan tidak dapat diubah.
Wilayah Instance
Wilayah tujuan yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.
ID Instance PolarDB
ID kluster PolarDB tujuan.
Akun Database
Akun database dari kluster PolarDB tujuan.
CatatanAkun database harus memiliki izin ALL pada objek yang akan disinkronkan.
Kata Sandi Database
Kata sandi akun database.
Di sudut kanan bawah halaman, klik Set Whitelist and Next.
Jika database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instance tersebut. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang di-hosting di instance Elastic Compute Service (ECS), DTS 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-hosting 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 ditempatkan 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 untuk mengizinkan DTS mengakses database. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.
PeringatanJika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, atau ke aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum Anda menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui potensi risiko serta mengambil langkah-langkah pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: meningkatkan keamanan nama pengguna dan kata sandi Anda, membatasi port yang diekspos, mengotentikasi panggilan API, secara berkala memeriksa daftar putih atau aturan grup keamanan ECS dan melarang blok CIDR yang tidak sah, atau menghubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Pilih mode pemrosesan tabel yang bertentangan dan objek yang akan disinkronkan.
Parameter atau Pengaturan
Deskripsi
Mode Pemrosesan di Tabel Tujuan yang Sudah Ada
Pre-check and Intercept: memeriksa apakah kluster tujuan berisi tabel yang memiliki nama sama dengan tabel di database sumber. Jika kluster tujuan tidak berisi tabel yang memiliki nama sama dengan tabel di database sumber, pemeriksaan awal berhasil. Jika tidak, kesalahan akan dikembalikan selama pemeriksaan awal dan tugas sinkronisasi data tidak dapat dimulai.
CatatanAnda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke kluster tujuan. Anda dapat menggunakan fitur ini jika database sumber dan kluster tujuan berisi nama tabel identik dan tabel di kluster tujuan tidak dapat dihapus atau diganti namanya. Untuk informasi lebih lanjut, lihat Ganti Nama Objek yang Akan Disinkronkan.
Ignore: Melewati pemeriksaan awal untuk nama tabel yang identik di database sumber dan kluster tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, konsistensi data tidak dijamin, dan bisnis Anda mungkin terpapar risiko potensial.
Selama sinkronisasi data awal, DTS tidak menyinkronkan catatan data yang memiliki kunci utama yang sama dengan catatan data di kluster tujuan. Ini terjadi jika database sumber dan kluster tujuan memiliki skema yang sama. Namun, DTS menyinkronkan catatan data ini selama sinkronisasi data inkremental.
Jika database sumber dan kluster tujuan memiliki skema yang berbeda, sinkronisasi data awal mungkin gagal. Dalam hal ini, hanya beberapa kolom yang disinkronkan atau tugas sinkronisasi data gagal.
Pilih Objek yang Akan Disinkronkan
Pilih satu atau lebih objek dari bagian Available dan klik ikon
untuk menambahkan objek ke bagian Selected.Anda dapat memilih tabel atau database sebagai objek yang akan disinkronkan.
CatatanJika Anda memilih database sebagai objek yang akan disinkronkan, semua perubahan skema di database disinkronkan ke kluster tujuan.
Secara default, setelah objek disinkronkan ke kluster tujuan, nama objek tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan ke kluster tujuan. Untuk informasi lebih lanjut, lihat Ganti Nama Objek yang Akan Disinkronkan.
Ganti Nama Database dan Tabel
Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.
Tabel Sumber DMS_ONLINE_Apakah Anda ingin menyalin tabel sementara ke database tujuan selama DDL
Jika Anda menggunakan DMS untuk melakukan operasi DDL online di database sumber, Anda dapat menentukan apakah akan menyinkronkan tabel sementara yang dihasilkan oleh operasi DDL online.
Yes: DTS menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online.
CatatanJika operasi DDL online menghasilkan sejumlah besar data, tugas sinkronisasi data mungkin tertunda.
No: DTS tidak menyinkronkan data tabel sementara yang dihasilkan oleh operasi DDL online. Hanya data DDL asli dari database sumber yang disinkronkan.
CatatanJika Anda memilih Tidak, tabel di database tujuan mungkin terkunci.
Waktu Ulang untuk Koneksi Gagal
Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS mencoba kembali dalam waktu 720 menit (12 jam) ke depan. Anda dapat menentukan waktu ulang berdasarkan kebutuhan Anda. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanSaat DTS mencoba kembali koneksi, Anda dikenakan biaya untuk instance DTS. Kami merekomendasikan Anda menentukan waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTSsecepat mungkin setelah instance sumber dan tujuan dilepaskan.
Di sudut kanan bawah halaman, klik Next.
Pilih jenis sinkronisasi awal.
CatatanSinkronisasi awal mencakup sinkronisasi skema awal dan sinkronisasi data penuh awal. Jika Anda memilih kedua Initial Schema Synchronization dan Initial Full Data Synchronization, DTS menyinkronkan skema dan data historis objek yang diperlukan sebelum DTS menyinkronkan data inkremental.
Di sudut kanan bawah halaman, klik Precheck.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas tersebut lulus pemeriksaan awal.
Jika tugas gagal lulus pemeriksaan awal, Anda dapat mengklik ikon
di sebelah setiap item yang gagal untuk melihat detailnya.Setelah Anda menyelesaikan masalah berdasarkan detailnya, mulai pemeriksaan awal baru.
Jika Anda tidak perlu menyelesaikan masalah, ignore the failed items dan initiate a new precheck.
Tutup kotak dialog Precheck setelah pesan berikut ditampilkan: Precheck Passed. Kemudian, tugas sinkronisasi data dimulai.
Tunggu hingga sinkronisasi awal selesai dan tugas sinkronisasi data memasuki status Synchronizing.
Anda dapat melihat status tugas sinkronisasi data di halaman Synchronization Tasks.
