Gunakan Data Transmission Service (DTS) untuk menyinkronkan data dari instans PolarDB-X 2.0 ke kluster PolarDB for MySQL. DTS mendukung sinkronisasi skema, sinkronisasi data penuh, dan sinkronisasi data inkremental.
Sebelum memulai
Pastikan kondisi berikut terpenuhi sebelum mengonfigurasi tugas:
Instans PolarDB-X 2.0 sumber kompatibel dengan MySQL 5.7.
Kluster PolarDB for MySQL tujuan telah dibuat. Untuk informasi selengkapnya, lihat Beli kluster Edisi Perusahaan atau Beli klaster langganan.
Ruang penyimpanan yang tersedia pada kluster tujuan lebih besar daripada ukuran total data pada instans sumber.
Pencatatan biner (binary logging) diaktifkan di Konsol PolarDB-X 2.0, dan parameter
binlog_row_imagediatur kefull. Untuk informasi selengkapnya, lihat Pengaturan parameter.Akun database sumber memiliki izin SELECT pada objek yang akan disinkronkan, serta izin REPLICATION CLIENT dan REPLICATION SLAVE. Untuk informasi selengkapnya, lihat Alat sinkronisasi data untuk PolarDB-X.
Akun database tujuan memiliki izin baca dan tulis pada database tujuan.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Batasan
Database sumber
Tabel yang akan disinkronkan harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field bernilai unik. Jika tidak, database tujuan mungkin berisi catatan duplikat.
Jika Anda memilih tabel sebagai objek yang akan disinkronkan dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas dapat menyinkronkan hingga 5.000 tabel. Untuk menyinkronkan lebih dari 5.000 tabel, konfigurasikan beberapa tugas atau lakukan sinkronisasi pada tingkat database.
Persyaratan retensi log biner:
Hanya sinkronisasi data inkremental: pertahankan log biner minimal selama 24 jam.
Sinkronisasi data penuh + sinkronisasi data inkremental: pertahankan log biner minimal selama tujuh hari selama proses sinkronisasi penuh. Setelah sinkronisasi penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Jika tidak, DTS mungkin gagal memperoleh log biner dan tugas bisa gagal. Dalam kondisi luar biasa, ketidakkonsistenan atau kehilangan data dapat terjadi. Pastikan Anda mengatur periode retensi log biner sesuai dengan persyaratan di atas. Jika tidak, keandalan layanan dan kinerja yang dinyatakan dalam Perjanjian Tingkat Layanan (SLA) DTS tidak dapat tercapai.
Nama tabel yang mengandung huruf kapital hanya mendukung sinkronisasi skema.
Objek TABLEGROUP serta database atau skema dengan atribut Locality tidak didukung.
Selama sinkronisasi skema dan sinkronisasi data penuh, jangan menjalankan pernyataan DDL yang mengubah skema database atau tabel. Melakukannya akan menyebabkan tugas gagal.
Perilaku kunci asing
Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari sumber ke tujuan.
Selama sinkronisasi penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Jika Anda menjalankan operasi pembaruan atau penghapusan kaskade pada sumber selama sinkronisasi, ketidakkonsistenan data dapat terjadi.
Batasan lainnya
Jalankan sinkronisasi selama jam sepi. Sinkronisasi data penuh mengonsumsi sumber daya baca dan tulis pada kedua database dan meningkatkan beban pada server database.
Setelah sinkronisasi data penuh, ruang tabel tujuan lebih besar daripada sumber karena operasi INSERT konkuren selama sinkronisasi penuh menciptakan fragmentasi.
Jangan gunakan pt-online-schema-change untuk operasi DDL pada objek yang disinkronkan. Melakukannya dapat menyebabkan sinkronisasi gagal.
Selama sinkronisasi, tulis data ke tujuan hanya melalui DTS. Menggunakan alat lain untuk menulis data ke tujuan, dikombinasikan dengan operasi DDL Online DMS, dapat menyebabkan kehilangan data.
Jika pernyataan DDL gagal dieksekusi di tujuan, DTS tetap menjalankan pernyataan tersebut. Periksa pernyataan DDL yang gagal di log tugas.
Nama kolom MySQL tidak peka huruf besar/kecil. Jika sumber memiliki kolom yang namanya hanya berbeda dalam kapitalisasi, datanya ditulis ke kolom tujuan yang sama, sehingga menghasilkan keluaran yang tidak diharapkan.
Jika data yang akan disinkronkan mengandung karakter empat byte (seperti karakter langka atau emoji), tabel tujuan harus menggunakan set karakter UTF8mb4. Jika Anda menggunakan sinkronisasi skema, atur parameter
character_set_serverdi tujuan ke UTF8mb4.Setelah sinkronisasi selesai (status berubah menjadi Completed), jalankan
analyze table <Nama Tabel>untuk memverifikasi bahwa data telah ditulis dengan benar. Misalnya, alih bencana ketersediaan tinggi (HA) di sumber mungkin menyisakan data hanya di memori, sehingga menyebabkan kehilangan data.Jika tugas DTS gagal, dukungan teknis DTS akan berupaya memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas mungkin dimodifikasi (parameter database tidak dimodifikasi). Parameter yang mungkin dimodifikasi mencakup, namun tidak terbatas pada, parameter dalam bagian Modifikasi parameter instans pada topik Modifikasi parameter instans DTS.
DTS memperbarui tabel
dts_health_check.ha_health_checkdi database sumber secara berkala untuk memajukan posisi file log biner.
Operasi SQL yang didukung
| Jenis | Operasi |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | ALTER TABLE; CREATE FUNCTION, CREATE INDEX, CREATE TABLE; DROP INDEX, DROP TABLE; RENAME TABLE; TRUNCATE TABLE |
Operasi RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Jika sebuah tabel dipilih sebagai objek sinkronisasi dan Anda mengganti namanya selama sinkronisasi, perubahan pada tabel tersebut tidak lagi disinkronkan ke tujuan. Untuk menghindarinya, tambahkan database yang berisi tabel tersebut ke objek sinkronisasi—baik database sebelum operasi RENAME TABLE maupun database yang berisi tabel yang telah diganti namanya.
Jenis sinkronisasi
Pilih jenis sinkronisasi berdasarkan skenario Anda sebelum membuat tugas.
| Jenis | Fungsinya | Kapan digunakan |
|---|---|---|
| Sinkronisasi skema + sinkronisasi data penuh | Menyalin skema tabel dan semua data yang ada ke tujuan | Pengaturan awal atau penyalinan data satu kali |
| Sinkronisasi skema + sinkronisasi data penuh + sinkronisasi data inkremental | Menyalin skema dan data yang ada, lalu terus-menerus menerapkan perubahan dari sumber | Replikasi berkelanjutan dengan trafik sumber aktif |
| Hanya sinkronisasi data inkremental | Hanya menerapkan perubahan berkelanjutan; data historis tidak disalin | Tujuan sudah memiliki data dasar |
Untuk sebagian besar kasus penggunaan, pilih ketiga jenis tersebut. DTS menggunakan data sinkronisasi penuh sebagai garis dasar untuk sinkronisasi inkremental.
Buat tugas sinkronisasi data
Langkah 1: Buka halaman Tugas Sinkronisasi Data
Masuk ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik Data + AI.
Di panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.
Operasi konsol dapat berbeda tergantung mode dan tata letak DMS. Untuk informasi selengkapnya, lihat Mode simple dan Sesuaikan tata letak dan gaya Konsol DMS. Anda juga dapat langsung membuka halaman Tugas Sinkronisasi Data di Konsol DTS baru.
Langkah 2: Pilih wilayah
Di sisi kanan Tugas Sinkronisasi Data, pilih wilayah tempat instans sinkronisasi berada.
Di Konsol DTS baru, pilih wilayah di bilah navigasi atas.
Langkah 3: Konfigurasi database sumber dan tujuan
Klik Create Task. Di wizard Create Data Synchronization Task, konfigurasikan parameter berikut.
Baca Limits yang ditampilkan di halaman setelah mengonfigurasi database sumber dan tujuan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.
Task Name
| Parameter | Deskripsi |
|---|---|
| Task Name | DTS secara otomatis menghasilkan nama tugas. Masukkan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
Source Database
| Parameter | Deskripsi |
|---|---|
| Select a DMS database instance | Pilih instans database DMS yang sudah ada agar DTS mengisi parameter koneksi secara otomatis, atau biarkan kosong untuk mengonfigurasi parameter secara manual. |
| Database Type | Pilih PolarDB-X 2.0. |
| Connection Type | Pilih Alibaba Cloud Instance. |
| Instance Region | Pilih wilayah tempat instans PolarDB-X sumber berada. |
| Instance ID | Pilih ID instans PolarDB-X sumber. |
| Database Account | Masukkan akun database. Akun harus memiliki izin SELECT pada objek yang akan disinkronkan, serta izin REPLICATION CLIENT dan REPLICATION SLAVE. Untuk informasi selengkapnya, lihat Alat sinkronisasi data untuk PolarDB-X. |
| Database Password | Masukkan password untuk akun database. |
Destination Database
| Parameter | Deskripsi |
|---|---|
| Select a DMS database instance | Pilih instans database DMS yang sudah ada agar DTS mengisi parameter koneksi secara otomatis, atau biarkan kosong untuk mengonfigurasi parameter secara manual. |
| Database Type | Pilih PolarDB for MySQL. |
| Connection Type | Pilih Alibaba Cloud Instance. |
| Instance Region | Pilih wilayah tempat kluster PolarDB for MySQL tujuan berada. |
| PolarDB Cluster ID | Pilih ID kluster PolarDB for MySQL tujuan. |
| Database Account | Masukkan akun database. Akun memerlukan izin baca dan tulis pada database tujuan. |
| Database Password | Masukkan password untuk akun 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) yang menghosting database yang dikelola sendiri. Jika database dideploy pada beberapa instans ECS, Anda harus menambahkan blok CIDR server DTS secara manual ke aturan grup keamanan setiap instans ECS. Untuk database yang dikelola sendiri di pusat data atau penyedia cloud pihak ketiga, tambahkan blok CIDR server DTS secara manual ke daftar putih database. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR server DTS ke daftar putih atau aturan grup keamanan menimbulkan risiko keamanan potensial. Sebelum melanjutkan, ambil langkah pencegahan seperti memperkuat keamanan password, membatasi port yang terbuka, mengautentikasi panggilan API, melakukan audit entri daftar putih secara berkala, serta menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway untuk menghubungkan database ke DTS.
Langkah 5: Pilih objek dan konfigurasi pengaturan
Konfigurasikan parameter berikut.
Jenis sinkronisasi
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Pilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Secara default, hanya Incremental Data Synchronization yang dipilih. Setelah pemeriksaan awal berhasil, DTS menyinkronkan data historis dari sumber sebagai garis dasar untuk sinkronisasi inkremental. |
Penanganan tabel bentrok
| Parameter | Deskripsi |
|---|---|
| Processing Mode of Conflicting Tables | Precheck and Report Errors: DTS memeriksa apakah tabel tujuan memiliki nama yang sama dengan tabel sumber. Jika ditemukan kecocokan, pemeriksaan awal gagal dan tugas tidak dapat dimulai. Untuk menyelesaikan bentrok, gunakan fitur pemetaan nama objek untuk mengganti nama tabel tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek. |
| Ignore Errors and Proceed: Melewati pemeriksaan nama tabel. Jika tabel sumber dan tujuan memiliki skema yang sama dan suatu catatan memiliki nilai kunci primer atau unik yang sama, catatan yang ada dipertahankan selama sinkronisasi penuh dan ditimpa selama sinkronisasi inkremental. Jika skema berbeda, inisialisasi mungkin gagal atau hanya beberapa kolom yang disinkronkan. Gunakan dengan hati-hati. |
Objek yang akan disinkronkan
Pilih objek dari bagian Source Objects, lalu klik ikon
untuk memindahkannya ke bagian Selected Objects. Anda dapat memilih kolom, tabel, atau database. Jika Anda memilih tabel atau kolom, DTS tidak menyinkronkan view, trigger, atau prosedur tersimpan.
Di bagian Selected Objects:
Untuk mengganti nama satu objek, klik kanan objek tersebut. Untuk informasi selengkapnya, lihat Pemetaan nama satu objek.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Untuk informasi selengkapnya, lihat Pemetaan nama beberapa objek sekaligus.
Untuk memfilter operasi SQL yang akan disinkronkan untuk objek tertentu, klik kanan objek tersebut dan pilih operasi yang diinginkan. Untuk operasi yang didukung, lihat Operasi SQL yang didukung.
Untuk memfilter baris berdasarkan kondisi, klik kanan objek tersebut dan tentukan klausa WHERE. Untuk informasi selengkapnya, lihat Tentukan kondisi filter.
Langkah 6: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | No: Menonaktifkan peringatan. Yes: Mengaktifkan peringatan. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan dan peringatan. |
| Retry Time for Failed Connections | Rentang waktu selama DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Jika beberapa tugas berbagi sumber atau tujuan yang sama, jendela percobaan ulang terpendek yang berlaku. Biaya DTS tetap berjalan selama percobaan ulang. |
| Configure ETL | No: Menonaktifkan ekstrak, transformasi, muat (ETL). Yes: Mengaktifkan ETL dan membuka editor kode untuk pernyataan pemrosesan data. Untuk informasi selengkapnya, lihat Apa itu ETL? dan Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Yes: Tidak menulis operasi SQL tabel heartbeat ke sumber. Indikator latensi mungkin muncul pada instans DTS. No: Menulis operasi SQL tabel heartbeat ke sumber. Hal ini dapat memengaruhi pencadangan fisik dan kloning database sumber. |
Langkah 7: Jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal sebelum tugas dimulai. Jika pemeriksaan awal gagal:
Klik View Details di samping setiap item yang gagal, diagnosa masalahnya, selesaikan, lalu jalankan kembali pemeriksaan awal.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 8: Beli instans
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman buy, konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Billing Method | Subscription: Bayar di muka untuk periode tetap. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: Ditagih per jam. Cocok untuk penggunaan jangka pendek. Lepaskan instans saat tidak diperlukan lagi untuk menghentikan biaya. |
| Resource Group Settings | Kelompok sumber daya untuk instans sinkronisasi. Default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management? |
| Instance Class | Kecepatan sinkronisasi bervariasi tergantung kelas instans. Pilih kelas berdasarkan kebutuhan throughput Anda. Untuk informasi selengkapnya, lihat Kelas instans sinkronisasi data. |
| Subscription Duration | Hanya tersedia untuk metode penagihan Subscription. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun. |
Langkah 9: Mulai tugas
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di kotak dialog konfirmasi, klik OK.
Lacak progres tugas di daftar tugas.