Gunakan Data Transmission Service (DTS) untuk menyinkronkan data secara berkelanjutan dari kluster PolarDB for MySQL ke instans PolarDB-X 1.0. DTS mendukung sinkronisasi data penuh dan sinkronisasi inkremental berkelanjutan dengan dampak minimal pada database sumber.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki instans PolarDB-X 1.0 dengan kapasitas penyimpanan yang lebih besar daripada ukuran total data di kluster PolarDB for MySQL sumber. Saat membuat instans, pilih RDS MySQL sebagai tipe penyimpanan. Lihat Buat instans PolarDB-X 1.0.
Membuat database dan tabel terlebih dahulu di instans tujuan. DTS hanya menyinkronkan data, bukan skema. Lihat Buat database dan Operasi SQL dasar.
Memiliki akun database pada kluster PolarDB for MySQL sumber dengan izin baca dan tulis. Lihat Buat dan kelola akun database.
Memiliki akun database pada instans PolarDB-X 1.0 tujuan dengan izin baca dan tulis. Lihat Kelola akun database.
Penagihan
| Tipe sinkronisasi | Biaya |
|---|---|
| Sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan |
Batasan
Persyaratan database sumber
Tabel harus memiliki primary key atau kendala UNIQUE, dengan semua field bersifat unik. Tanpa ini, tujuan mungkin berisi catatan duplikat.
Jika Anda mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi menjadi beberapa tugas atau sinkronkan di tingkat database saja.
DTS tidak menyinkronkan tipe data berikut: BIT, VARBIT, GEOMETRY, ARRAY, UUID, TSQUERY, TSVECTOR, dan TXID_SNAPSHOT.
DTS tidak menyinkronkan indeks awalan. Jika sumber memiliki indeks awalan, tugas mungkin gagal.
DTS tidak menyinkronkan node read-only atau tabel eksternal Object Storage Service (OSS) dari klaster sumber.
Persyaratan untuk sinkronisasi inkremental
Binary logging harus diaktifkan pada kluster sumber dan parameter loose_polar_log_bin harus diatur ke on. Tanpa ini, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Lihat Aktifkan binary logging dan Ubah parameter.
Mengaktifkan binary logging menimbulkan biaya penyimpanan untuk ruang yang digunakan oleh log biner.
Persyaratan retensi log biner:
| Tipe tugas | Periode retensi minimum |
|---|---|
| Hanya sinkronisasi data inkremental | 24 jam |
| Sinkronisasi data penuh + inkremental | 7 hari |
Jika log biner tidak dipertahankan selama periode yang diperlukan, DTS mungkin gagal mendapatkannya dan tugas bisa gagal—yang dapat menyebabkan inkonsistensi atau kehilangan data. Setelah sinkronisasi penuh selesai, Anda dapat mengatur periode retensi lebih dari 24 jam.
Sinkronisasi inkremental mendukung operasi DML berikut: INSERT, UPDATE, dan DELETE.
Batasan operasi DDL
| Operasi | Saat sinkronisasi penuh | Saat sinkronisasi inkremental |
|---|---|---|
| DDL pada tabel sumber | Tidak didukung — menyebabkan kegagalan tugas | Didukung hanya melalui DDL tanpa lock DMS (lihat catatan di bawah) |
| DDL pt-online-schema-change | Tidak didukung — menyebabkan kegagalan tugas | Tidak didukung — menyebabkan kegagalan tugas |
| Sinkronisasi skema | Tidak didukung | Tidak didukung |
Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL tanpa lock pada tabel sumber selama sinkronisasi data, tetapi hanya jika tidak ada sumber lain yang menulis ke database tujuan secara bersamaan. Jika sumber lain juga menulis ke tujuan saat Anda menjalankan pernyataan DDL online DMS, kehilangan data mungkin terjadi. Lihat Lakukan operasi DDL tanpa lock.
Batasan operasional
Lakukan sinkronisasi selama jam sepi. Sinkronisasi data penuh mengonsumsi sumber daya baca dan tulis pada kedua database sumber dan tujuan, yang meningkatkan beban server.
Setelah sinkronisasi data penuh selesai, ruang tabel tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT konkuren.
Jika tugas DTS gagal, dukungan DTS akan mencoba memulihkannya dalam waktu 8 jam. Tugas mungkin dimulai ulang selama pemulihan, dan parameter tugas (bukan parameter database) mungkin diubah.
DTS secara berkala mengeksekusi CREATE DATABASE IF NOT EXISTS test pada database sumber untuk memajukan posisi log biner.Konfigurasi tugas sinkronisasi
Langkah 1: Buka halaman Sinkronisasi Data
Gunakan Konsol DTS atau Konsol DMS.
Konsol DTS
Login ke Konsol DTS.Konsol DTS
Di panel navigasi kiri, klik Data Synchronization.
Di pojok kiri atas, pilih wilayah tempat instans sinkronisasi berada.
Konsol DMS
Operasi aktual mungkin berbeda tergantung mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Simple mode dan Sesuaikan tata letak dan gaya Konsol DMS.
Login ke Konsol DMS.Konsol DMS
Di bilah navigasi atas, arahkan pointer ke Data + AI lalu pilih DTS (DTS) > Data Synchronization.
Dari daftar drop-down di samping Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
Langkah 2: Buat tugas
Klik Create Task.
Jika halaman menampilkan tombol New Configuration Page di pojok kanan atas, klik untuk beralih ke halaman konfigurasi baru. Lewati langkah ini jika yang ditampilkan adalah Back to Previous Version.
Langkah 3: Konfigurasi database sumber dan tujuan
Konfigurasikan parameter berikut:
| Bagian | Parameter | Nilai |
|---|---|---|
| N/A | Task Name | Masukkan nama deskriptif. Tidak perlu unik. |
| Source Database | Select a DMS database instance | Pilih database terdaftar yang sudah ada, atau biarkan kosong dan isi bidang di bawah. |
| Database Type | PolarDB for MySQL | |
| Access Method | Alibaba Cloud Instance | |
| Instance Region | Wilayah kluster PolarDB for MySQL sumber. | |
| Replicate Data Across Alibaba Cloud Accounts | No | |
| PolarDB Cluster ID | ID kluster sumber. | |
| Database Account | Akun database dengan izin yang diperlukan. | |
| Database Password | Kata sandi untuk akun tersebut. | |
| Encryption | Konfigurasikan sesuai kebutuhan keamanan Anda. Lihat Konfigurasi enkripsi SSL. | |
| Destination Database | Select a DMS database instance | Pilih database terdaftar yang sudah ada, atau biarkan kosong dan isi bidang di bawah. |
| Database Type | PolarDB-X 1.0 | |
| Access Method | Alibaba Cloud Instance | |
| Instance Region | Wilayah instans PolarDB-X 1.0 tujuan. | |
| Instance ID | ID instans tujuan. | |
| Database Account | Akun database dengan izin yang diperlukan. | |
| Database Password | Kata sandi untuk akun tersebut. |
Untuk mendaftarkan database:
Di Konsol DMS, klik Add DMS Database Instance. Lihat Daftarkan instans database Alibaba Cloud dan Daftarkan database yang dihosting di layanan cloud pihak ketiga atau database yang dikelola sendiri.
Di Konsol DTS, daftarkan di halaman Database Connections. Lihat Kelola koneksi database.
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud dan ke aturan grup keamanan instans Elastic Compute Service (ECS). Untuk database yang dikelola sendiri di pusat data atau cloud pihak ketiga, tambahkan blok CIDR tersebut secara manual. Lihat Blok CIDR server DTS.
Menambahkan blok CIDR server DTS ke daftar putih atau aturan grup keamanan Anda menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan: perkuat kredensial akun, batasi port yang terbuka, autentikasi panggilan API, dan audit rutin daftar putih serta aturan grup keamanan Anda. Atau, hubungkan DTS ke database Anda melalui Express Connect, VPN Gateway, atau Smart Access Gateway (SAG).
Langkah 5: Konfigurasi objek yang akan disinkronkan
Pada langkah Configure Objects, atur parameter berikut.
Synchronization types
| Tipe | Fungsinya | Kapan digunakan |
|---|---|---|
| Full Data Synchronization | Menyalin semua data yang ada dari sumber ke tujuan. Data ini menjadi garis dasar untuk sinkronisasi inkremental berikutnya. | Pilih ini untuk memulai dengan salinan historis data Anda. |
| Incremental Data Synchronization | Secara terus-menerus menerapkan perubahan berkelanjutan (INSERT, UPDATE, DELETE) dari sumber ke tujuan. Dipilih secara default. | Pilih ini untuk menjaga agar tujuan tetap sinkron dengan sumber setelah sinkronisasi penuh. |
Sinkronisasi skema tidak didukung dan tidak dapat dipilih.
Mode pemrosesan untuk tabel yang bentrok
| Mode | Perilaku |
|---|---|
| Precheck and Report Errors | Memeriksa apakah ada tabel di tujuan dengan nama yang sama seperti tabel sumber sebelum memulai. Jika ada duplikat, pemeriksaan awal gagal dan tugas tidak dimulai. Gunakan pemetaan nama objek untuk mengganti nama tabel tujuan jika tidak dapat dihapus atau diganti namanya. |
| Ignore Errors and Proceed | Melewati pemeriksaan nama tabel duplikat. Selama sinkronisasi penuh, catatan yang sudah ada dengan nilai kunci primer atau unik yang cocok di tujuan dipertahankan (tidak ditimpa). Selama sinkronisasi inkremental, catatan tersebut ditimpa. Jika skema berbeda, inisialisasi mungkin sebagian gagal. |
Ignore Errors and Proceed dapat menyebabkan inkonsistensi data. Gunakan dengan hati-hati.
Huruf kapital nama objek di instans tujuan
Mengontrol huruf besar/kecil nama database, tabel, dan kolom di tujuan. Default-nya adalah DTS default policy. Lihat Tentukan huruf kapital nama objek di instans tujuan.
Selecting objects
Di bagian Source Objects, pilih tabel yang akan disinkronkan lalu klik
untuk memindahkannya ke Selected Objects. Hanya tabel yang dapat dipilih sebagai objek sinkronisasi.
Untuk mengganti nama objek di tujuan:
Objek tunggal: klik kanan objek di Selected Objects. Lihat Petakan nama objek tunggal.
Beberapa objek: klik Batch Edit di pojok kanan atas Selected Objects. Lihat Petakan beberapa nama objek sekaligus.
Untuk memfilter baris dalam tabel, klik kanan tabel di Selected Objects dan konfigurasikan kondisi filter. Lihat Atur kondisi filter.
Mengganti nama objek dengan fitur pemetaan nama objek dapat menyebabkan objek lain yang bergantung padanya gagal disinkronkan.
Langkah 6: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan hal berikut:
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, tugas berjalan di kluster bersama. Untuk meningkatkan stabilitas, beli klaster khusus. Lihat Apa itu klaster khusus DTS. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba ulang setelah koneksi gagal. Rentang: 10–1.440 menit. Default: 720. Atur minimal 30 menit. Jika beberapa tugas berbagi sumber atau tujuan yang sama, waktu coba ulang terpendek yang berlaku. |
| Retry Time for Other Issues | Berapa lama DTS mencoba ulang setelah operasi DDL atau DML gagal. Rentang: 1–1.440 menit. Default: 10. Atur minimal 10 menit. Harus kurang dari Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Membatasi QPS ke sumber, RPS, dan kecepatan migrasi (MB/detik) selama sinkronisasi penuh untuk mengurangi beban server tujuan. Hanya terlihat jika Full Data Synchronization dipilih. |
| Enable Throttling for Incremental Data Synchronization | Membatasi RPS dan kecepatan sinkronisasi (MB/detik) selama sinkronisasi inkremental untuk mengurangi beban server tujuan. |
| Environment Tag | Tag opsional untuk mengidentifikasi instans DTS. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Mengontrol apakah DTS menulis SQL heartbeat ke database sumber. Yesalert notification settings menghindari penulisan SQL heartbeat (indikator latensi mungkin ditampilkan). No menulis SQL heartbeat (dapat memengaruhi backup fisik dan kloning). |
| Configure ETL | Mengaktifkan pemrosesan ekstrak, transformasi, muat (ETL). Pilih Yes untuk memasukkan pernyataan pemrosesan data. Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. |
| Monitoring and Alerting | Mengirim notifikasi saat tugas gagal atau latensi sinkronisasi melebihi ambang batas. Pilih Yes untuk mengonfigurasi ambang batas peringatan dan kontak. Lihat Konfigurasi pemantauan dan peringatan saat membuat tugas DTS. |
Selama DTS mencoba ulang koneksi, Anda tetap dikenai biaya untuk instans DTS. Segera rilis instans setelah kedua instans sumber dan tujuan dirilis.
Langkah 7: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter OpenAPI untuk tugas ini, arahkan kursor ke tombol tersebut lalu klik Preview OpenAPI parameters sebelum melanjutkan.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tugas hanya dimulai setelah lulus.
Jika ada item pemeriksaan yang gagal, klik View Details di samping item yang gagal, perbaiki masalahnya, lalu klik Precheck Again.
Jika item pemeriksaan memicu peringatan yang dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Langkah 8: Beli instans sinkronisasi
Di halaman buy, konfigurasikan instans:
| Bagian | Parameter | Deskripsi |
|---|---|---|
| New Instance Class | Billing Method | Subscription: Pembayaran di muka, lebih hemat untuk penggunaan jangka panjang. Durasi: 1–9 bulan atau 1, 2, 3, dan 5 tahun. Pay-as-you-go: Penagihan per jam, cocok untuk penggunaan jangka pendek. Lepaskan instance saat tidak lagi diperlukan untuk menghentikan biaya. |
| Instance Class | Pilih berdasarkan kecepatan sinkronisasi yang dibutuhkan. Lihat Kelas instans untuk instansi sinkronisasi data. | |
| Resource Group Settings | — | Kelompok sumber daya untuk instans. Default: default resource group. Lihat Apa itu Resource Management? |
| Subscription Duration | — | Hanya tersedia untuk metode penagihan subscription. |
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di kotak dialog konfirmasi, klik OK.
Tugas muncul di daftar tugas. Pantau perkembangannya di sana.