All Products
Search
Document Center

Data Transmission Service:Sinkronisasi satu arah antar kluster PolarDB for MySQL

Last Updated:Mar 29, 2026

Saat Anda menjalankan kluster PolarDB for MySQL di berbagai wilayah atau akun, menjaga konsistensi data di antara kluster tersebut memerlukan mekanisme replikasi yang andal. Data Transmission Service (DTS) menyediakan sinkronisasi data satu arah dan dua arah antar kluster PolarDB for MySQL, sehingga Anda dapat:

  • Pemulihan bencana: Menjaga kluster cadangan tetap selaras dengan kluster utama dan melakukan failover dengan cepat saat diperlukan.

  • Penerapan multi-wilayah: Mereplikasi data ke kluster di wilayah berbeda untuk mengurangi latensi baca bagi pengguna yang tersebar secara geografis.

  • Migrasi tanpa downtime: Menyinkronkan data antar kluster saat aplikasi sedang berjalan, lalu mengalihkan trafik tanpa downtime.

Prasyarat

Sebelum memulai:

  • Kedua kluster PolarDB for MySQL sumber dan tujuan telah dibuat. Lihat Pembelian kustom dan Beli klaster langganan.

  • Kluster tujuan memiliki ruang penyimpanan tersedia lebih besar daripada ukuran total data kluster sumber.

Batasan

Database sumber

  • Tabel harus memiliki PRIMARY KEY atau kendala UNIK, dengan semua bidang bernilai unik. Tabel tanpa kendala ini dapat menghasilkan catatan duplikat di tujuan. Untuk sinkronisasi dua arah, aktifkan fitur Exactly-Once write guna menangani tabel tanpa primary key atau kendala UNIK. Lihat Sinkronisasi tabel tanpa primary key atau kendala UNIK.

  • Jika Anda menyinkronkan tabel (bukan seluruh database) dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 1.000 tabel. Untuk lebih dari 1.000 tabel, bagi pekerjaan menjadi beberapa tugas atau sinkronkan seluruh database sebagai gantinya.

  • Persyaratan binary logging:

    • Aktifkan binary logging dengan parameter loose_polar_log_bin diatur ke ON. Jika parameter ini tidak diatur, pemeriksaan awal gagal dan tugas DTS tidak dapat dimulai. Lihat Aktifkan binary logging dan Ubah parameter.Note: Mengaktifkan binary logging menimbulkan biaya penyimpanan.

    • Pertahankan log biner minimal selama 3 hari. Periode retensi 7 hari direkomendasikan. Periode retensi yang lebih pendek dapat menyebabkan inkonsistensi atau kehilangan data, serta memengaruhi keandalan layanan DTS. Untuk mengatur periode retensi, lihat bagian Ubah periode retensi dalam "Aktifkan binary logging".

  • Jangan menjalankan pernyataan DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi data penuh. Melakukannya akan menyebabkan tugas gagal.

Selama sinkronisasi skema, DTS juga menyinkronkan kunci asing dari sumber ke tujuan. Selama sinkronisasi penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat sesi. Jika Anda menjalankan operasi pembaruan atau penghapusan kaskade pada sumber selama periode ini, inkonsistensi data dapat terjadi.

Batasan lainnya

BatasanDetail
Node read-onlyDTS tidak menyinkronkan node read-only dari kluster sumber.
Tabel eksternal OSSDTS tidak menyinkronkan tabel eksternal Object Storage Service (OSS).
Parser yang didefinisikan melalui komentarDTS tidak menyinkronkan data yang menggunakan parser yang didefinisikan oleh komentar.
Karakter 4-byteData yang mengandung karakter langka atau karakter UTF-8 4-byte memerlukan database dan tabel tujuan menggunakan set karakter UTF8mb4. Jika sinkronisasi skema diaktifkan, atur parameter character_set_server di database tujuan ke UTF8mb4.
Alat DDLKami menyarankan agar Anda tidak menggunakan alat seperti pt-online-schema-change untuk menjalankan operasi DDL pada tabel sumber selama sinkronisasi. Jika dilakukan, tugas DTS akan gagal. Untuk menjalankan operasi DDL Online, gunakan Data Management (DMS)—tetapi hanya jika tidak ada sumber data lain yang menulis ke tujuan selama sinkronisasi. Menulis ke tujuan dari beberapa sumber selama sinkronisasi dapat menyebabkan kehilangan data.
DDL gagal di tujuanJika pernyataan DDL gagal di tujuan, tugas sinkronisasi tetap berlanjut. Lihat pernyataan DDL yang gagal di log tugas. Lihat Lihat log tugas.
Sinkronisasi akunSinkronisasi akun database memiliki prasyarat tersendiri. Lihat Migrasi akun database.
Pemulihan tugasJika tugas DTS gagal, dukungan DTS akan mencoba memulihkannya dalam waktu 8 jam. Tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin disesuaikan. Untuk parameter yang mungkin diubah, lihat Ubah parameter instans.

Dampak kinerja

Selama sinkronisasi data penuh, DTS membaca dan menulis ke kedua kluster secara bersamaan, yang meningkatkan beban mereka. Untuk mengurangi dampak:

  • Jalankan sinkronisasi selama jam sepi.

  • Aktifkan pembatasan kecepatan di pengaturan lanjutan (konfigurasikan batas QPS dan RPS untuk sinkronisasi penuh).

  • Perkirakan ruang tabel tujuan akan lebih besar daripada sumber setelah sinkronisasi penuh selesai—operasi INSERT konkuren menyebabkan fragmentasi tabel.

Sinkronisasi dua arah

  • Sinkronisasi dua arah hanya didukung antara dua kluster PolarDB for MySQL. Tiga kluster atau lebih tidak didukung.

  • Operasi DDL hanya dapat disinkronkan dalam arah maju. Hal ini menjaga konsistensi data.

  • DTS membuat database dts di tujuan untuk mencegah sinkronisasi melingkar. Jangan ubah database ini selama tugas berjalan.

  • Instansi sinkronisasi dua arah mencakup tugas maju dan tugas balik. Jika suatu objek muncul di kedua tugas:

    • Hanya satu tugas yang dapat menyinkronkan data penuh dan data inkremental untuk objek tersebut. Tugas lainnya hanya menyinkronkan data inkremental.

    • Data yang disinkronkan oleh satu tugas tidak diumpan balik sebagai data sumber untuk tugas lainnya.

  • DTS secara berkala mengeksekusi CREATE DATABASE IF NOT EXISTS \test\`` pada database sumber untuk memajukan posisi log biner.

Penagihan

Jenis sinkronisasiBiaya
Sinkronisasi skema dan sinkronisasi data penuhGratis
Sinkronisasi data inkrementalDikenai biaya. Lihat Ikhtisar penagihan.

Operasi SQL yang dapat disinkronkan

JenisOperasi
DMLINSERT, UPDATE, DELETE
DDLALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE VIEW, DROP INDEX, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
Penting

RENAME TABLE dapat menyebabkan inkonsistensi data. Misalnya, jika Anda menyinkronkan tabel berdasarkan nama lalu mengganti namanya, DTS berhenti menyinkronkan tabel tersebut. Untuk menghindarinya, sinkronkan seluruh database alih-alih tabel individual, dan pastikan database tempat tabel tersebut berada—baik sebelum maupun setelah penggantian nama—termasuk dalam cakupan sinkronisasi.

Menyiapkan sinkronisasi data

Penyiapan terdiri dari delapan langkah: navigasi ke daftar tugas, pilih wilayah, konfigurasikan database sumber dan tujuan, uji konektivitas, pilih objek dan konfigurasikan pengaturan sinkronisasi, konfigurasikan pengaturan lanjutan, jalankan pemeriksaan awal, dan beli instans.

Langkah 1: Buka halaman Tugas Sinkronisasi Data

  1. Masuk ke Konsol Data Management (DMS).

  2. Di bilah navigasi atas, klik Data + AI.

  3. Di panel navigasi sebelah kiri, pilih DTS (DTS) > Data Synchronization.

Navigasi dapat berbeda tergantung tata letak Konsol DMS. Lihat Mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS. Atau, buka langsung halaman Tugas Sinkronisasi Data.

Langkah 2: Pilih wilayah

Pada halaman Data Synchronization Tasks, pilih wilayah tempat instance sinkronisasi akan ditempatkan.

Di Konsol DTS baru, pilih wilayah dari bilah navigasi atas.

Langkah 3: Konfigurasikan database sumber dan tujuan

Klik Create Task. Di halaman wizard, konfigurasikan parameter berikut.

Peringatan

Setelah mengonfigurasi sumber dan tujuan, baca dengan cermat Limits yang ditampilkan di halaman. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau inkonsistensi data.

Pengaturan tugas

ParameterDeskripsi
Task NameNama untuk tugas DTS. DTS menghasilkan nama default. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik.

Database sumber

ParameterDeskripsi
Select a DMS database instancePilih instans database DMS yang sudah ada untuk mengisi otomatis parameter koneksi, atau biarkan kosong dan isi parameter secara manual.
Database TypePilih PolarDB for MySQL.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster sumber berada.
Replicate Data Across Alibaba Cloud AccountsApakah akan menyinkronkan lintas akun Alibaba Cloud. Pilih No untuk sinkronisasi dalam akun yang sama.
PolarDB Cluster IDID kluster sumber. Sumber dan tujuan dapat berupa kluster yang sama (untuk sinkronisasi dalam kluster) atau kluster berbeda.
Database AccountAkun database dengan izin baca pada objek yang akan disinkronkan.
Database PasswordKata sandi untuk akun database.
EncryptionApakah akan mengenkripsi koneksi. Lihat Konfigurasikan enkripsi SSL.

Database tujuan

ParameterDeskripsi
Select a DMS database instancePilih instans database DMS yang sudah ada untuk mengisi otomatis parameter koneksi, atau biarkan kosong dan isi parameter secara manual.
Database TypePilih PolarDB for MySQL.
Connection TypePilih Alibaba Cloud Instance.
Instance RegionWilayah tempat kluster tujuan berada.
PolarDB Cluster IDID kluster tujuan.
Database AccountAkun database dengan izin baca pada database tujuan. Akun istimewa direkomendasikan.
Database PasswordKata sandi untuk akun database.
EncryptionApakah akan mengenkripsi koneksi. Lihat Konfigurasikan enkripsi SSL.

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 yang dihosting di pusat data atau cloud pihak ketiga, tambahkan blok CIDR DTS secara manual. Lihat Tambahkan blok CIDR server DTS.

Peringatan

Menambahkan blok CIDR DTS ke daftar putih atau aturan grup keamanan Anda menimbulkan risiko keamanan potensial. Sebelum melanjutkan, ambil tindakan pencegahan seperti memberlakukan kredensial kuat, membatasi port yang terbuka, memvalidasi panggilan API, dan mengaudit daftar putih Anda secara berkala. Untuk keamanan yang lebih baik, hubungkan DTS ke database Anda melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

Langkah 5: Pilih objek dan konfigurasikan pengaturan sinkronisasi

ParameterDeskripsi
Synchronization TypesSecara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. DTS menyinkronkan data yang ada sebagai garis dasar, kemudian menerapkan perubahan yang sedang berlangsung secara inkremental.
Method to Migrate Triggers in Source DatabaseCara menangani trigger selama sinkronisasi. Atur ini hanya jika Anda menyinkronkan trigger dan telah memilih Schema Synchronization. Lihat Sinkronisasi atau migrasi trigger dari database sumber.
Synchronization TopologyDalam contoh ini, Two-way Synchronization dipilih. Alternatifnya, Anda dapat memilih Two-way Synchronization.
Processing Mode of Conflicting TablesCara DTS menangani tabel di tujuan yang memiliki nama sama dengan tabel sumber: Precheck and Report Errors menghentikan tugas jika ditemukan nama tabel identik; Ignore Errors and Proceed melewati pemeriksaan dan dapat menyebabkan inkonsistensi data—gunakan dengan hati-hati.
Source ObjectsPilih objek dari bagian Source Objects dan klik ikon panah untuk memindahkannya ke bagian Selected Objects. Pilih kolom, tabel, atau database. Memilih hanya tabel atau kolom akan mengecualikan view, trigger, dan prosedur tersimpan.
Selected ObjectsKlik kanan objek untuk mengganti namanya di tujuan (pemetaan nama objek) atau memilih operasi SQL tertentu yang akan disinkronkan. Klik Batch Edit untuk mengganti nama beberapa objek sekaligus. Klik kanan tabel untuk menambahkan kondisi WHERE guna pemfilteran tingkat baris. Lihat Pemetaan nama objek dan Tentukan kondisi filter.

Panduan pemilihan objek

Pilih semua objek terkait secara bersamaan untuk menghindari kegagalan akibat dependensi yang hilang, seperti view yang mereferensikan tabel atau tabel dengan relasi kunci asing. Jika database sumber akan mengalami penggantian nama tabel selama sinkronisasi (melalui RENAME TABLE), pilih seluruh database alih-alih tabel individual untuk memastikan nama database sebelum dan setelah penggantian nama termasuk dalam cakupan sinkronisasi.

Langkah 6: Konfigurasikan pengaturan lanjutan

Klik Next: Advanced Settings.

Verifikasi data

Konfigurasikan tugas verifikasi data untuk mendeteksi inkonsistensi antara sumber dan tujuan setelah sinkronisasi. Lihat Konfigurasikan tugas verifikasi data.

Advanced settings

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menggunakan klaster bersama. Untuk stabilitas yang lebih baik, beli klaster khusus. Lihat Apa itu klaster khusus DTS.
Set AlertsKonfigurasikan peringatan untuk kegagalan tugas atau latensi yang melebihi ambang batas. Pilih Yes untuk mengatur ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasikan pemantauan dan peringatan.
Select the engine type of the destination databaseMesin penyimpanan kluster tujuan: InnoDB (default) atau X-Engine (mesin penyimpanan online transaction processing (OLTP)).
Copy the temporary table of the Online DDL tool that is generated in the source table to the destination databaseCara DTS menangani tabel temporary yang dihasilkan oleh alat Online DDL (DMS atau gh-ost): Yes — menyinkronkan data tabel temporary (dapat memperpanjang durasi tugas untuk perubahan besar); Tidak, Adaptasi ke Online DDL DMS — melewati tabel temporary dan hanya menyinkronkan DDL asli (tabel tujuan mungkin terkunci); Tidak, Adaptasi ke gh-ost — melewati tabel temporary dan hanya menyinkronkan DDL gh-ost asli (tabel tujuan mungkin terkunci; mendukung regex kustom untuk memfilter tabel shadow).
Retry Time for Failed ConnectionsDurasi DTS mencoba ulang setelah kegagalan koneksi. Rentang valid: 10–1.440 menit. Default: 720 menit. Atur lebih dari 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, jendela coba ulang terpendek yang berlaku.
Retry Time for Other IssuesDurasi DTS mencoba ulang setelah kegagalan DDL atau DML. Rentang valid: 1–1.440 menit. Default: 10 menit. Atur lebih dari 10 menit. Harus lebih kecil dari Retry Time for Failed Connections.
Enable Throttling for Full Data SynchronizationMembatasi beban baca/tulis selama sinkronisasi penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS Migrasi Data Penuh, dan Kecepatan migrasi data untuk migrasi penuh (MB/s). Tersedia hanya jika Full Data Synchronization dipilih.
Enable Throttling for Incremental Data SynchronizationMembatasi beban selama sinkronisasi inkremental. Konfigurasikan RPS of Incremental Data Synchronization dan Kecepatan sinkronisasi data untuk sinkronisasi inkremental (MB/s).
Environment TagTag untuk mengidentifikasi instans DTS. Opsional.
Configure ETLApakah akan menerapkan transformasi extract, transform, and load (ETL). Pilih Yes untuk menulis pernyataan pemrosesan data di editor kode. Lihat Konfigurasikan ETL dan Apa itu ETL?.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasksApakah DTS menulis operasi SQL heartbeat ke database sumber: Yes — menonaktifkan penulisan (indikator latensi sinkronisasi mungkin muncul di instans DTS); No — mengaktifkan penulisan (dapat memengaruhi backup 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 lalu klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum tugas dapat dimulai. Setiap item pemeriksaan awal memiliki salah satu dari tiga hasil:

HasilMaknaTindakan
PassedItem memenuhi semua persyaratan.Tidak perlu tindakan.
FailedItem tidak memenuhi persyaratan dan menghambat tugas.Klik View Details di sebelah item yang gagal, perbaiki masalahnya, lalu klik Precheck Again.
AlertItem tidak sepenuhnya memenuhi persyaratan, tetapi tugas dapat dilanjutkan dengan dampak potensial.Untuk mengabaikan: klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.

Langkah 8: Beli instans sinkronisasi

Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.

Di halaman buy, konfigurasikan hal berikut:

ParameterDeskripsi
Billing MethodLangganan — bayar di muka untuk jangka waktu tetap, lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go — ditagih per jam, cocok untuk penggunaan jangka pendek. Lepaskan instans saat tidak lagi diperlukan untuk menghindari biaya berkelanjutan.
Resource Group SettingsKelompok sumber daya untuk instans. Default: kelompok sumber daya default. Lihat Apa itu Resource Management?.
Instance ClassKelas throughput sinkronisasi. Pilih berdasarkan volume data dan persyaratan latensi Anda. Lihat Kelas instans instansi sinkronisasi data.
Subscription DurationJangka waktu langganan: 1–9 bulan, atau 1, 2, 3, atau 5 tahun. Tersedia hanya untuk metode penagihan Langganan.

Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di dialog konfirmasi, klik OK.

Tugas muncul di daftar tugas. Pantau perkembangannya di sana.