Gunakan Data Transmission Service (DTS) untuk menyinkronkan data inkremental secara berkelanjutan dari instans PolarDB-X 1.0 ke instans ApsaraDB RDS for MySQL secara real time. Panduan ini mencakup prasyarat, batasan, izin yang diperlukan, dan prosedur konfigurasi lengkap.
Dalam panduan ini, Anda akan:
Memeriksa prasyarat dan batasan sebelum memulai
Membuat tugas sinkronisasi dan mengonfigurasi database sumber dan tujuan
Memilih objek, mengatur opsi lanjutan, dan menjalankan pemeriksaan awal
Membeli instans sinkronisasi dan memulai tugas
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans PolarDB-X 1.0 dengan ApsaraDB RDS for MySQL sebagai tipe penyimpanan (instans kustom maupun instans yang dibeli didukung; PolarDB for MySQL tidak dapat digunakan sebagai tipe penyimpanan). Lihat Buat instans PolarDB-X 1.0 dan Buat database.
Instans ApsaraDB RDS for MySQL tujuan. Lihat Buat instans ApsaraDB RDS for MySQL.
Log biner dikonfigurasi pada instans ApsaraDB RDS for MySQL yang terhubung ke instans PolarDB-X 1.0 Anda:PolarDB-X 1.0
Pencatatan log biner diaktifkan, dengan
binlog_row_imagediatur kefullRetensi log biner minimal 24 jam untuk sinkronisasi hanya inkremental, atau minimal 7 hari untuk sinkronisasi penuh + inkremental
Batasan
Tinjau batasan berikut sebelum mengonfigurasi tugas.
Persyaratan database sumber:
Tabel harus memiliki kendala KUNCI UTAMA atau UNIK dengan semua bidang unik. Tabel yang hanya memiliki kendala UNIK tidak mendukung sinkronisasi skema — gunakan tabel dengan kendala KUNCI UTAMA. Tabel dengan indeks sekunder tidak dapat disinkronkan.
Ketika menyinkronkan lebih dari 5.000 tabel dengan pengeditan nama objek (seperti mengganti nama tabel atau kolom), terjadi error permintaan. Bagi pekerjaan tersebut ke beberapa tugas atau sinkronkan seluruh database sebagai gantinya.
PolarDB-X 1.0 hanya mendukung pemisahan horizontal untuk sumber daya penyimpanan. Pemisahan vertikal tidak didukung.PolarDB-X 1.0
Instans read-only pada lapisan komputasi PolarDB-X 1.0 tidak didukung.PolarDB-X 1.0
Operasi yang dibatasi selama sinkronisasi:
Jangan mengubah jenis jaringan instans PolarDB-X 1.0. Jika Anda harus mengubahnya, perbarui informasi koneksi jaringan dalam tugas sinkronisasi segera setelahnya.PolarDB-X 1.0
Jangan melakukan scaling pada instans sumber atau instans ApsaraDB RDS for MySQL yang terhubung, mengubah distribusi database fisik, memigrasikan tabel hot, mengubah kunci shard, atau menjalankan operasi DDL Online. Tindakan-tindakan ini menyebabkan kegagalan tugas atau inkonsistensi data.
Batasan umum:
DTS membuat subtask untuk setiap instans ApsaraDB RDS for MySQL yang terhubung ke sumber PolarDB-X 1.0. Pantau status subtask di PolarDB-X 1.0Task Topology.
Selama sinkronisasi skema, DTS menyinkronkan kunci asing ke tujuan. Selama sinkronisasi penuh dan inkremental, DTS menonaktifkan sementara pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Operasi update dan delete kaskade pada sumber selama periode ini dapat menyebabkan inkonsistensi data.
Jangan gunakan gh-ost atau pt-online-schema-change untuk menjalankan DDL pada objek yang sedang disinkronkan.
Tulis data ke database tujuan hanya melalui DTS selama sinkronisasi. Menggunakan alat lain bersamaan dengan DTS untuk menulis ke tujuan — termasuk operasi DDL Online DMS — dapat menyebabkan kehilangan data.
Setelah sinkronisasi data penuh selesai, ruang tabel tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT konkuren.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan. |
Topologi sinkronisasi yang didukung
Satu arah satu-ke-satu
Satu arah satu-ke-banyak
Satu arah kaskade
Satu arah banyak-ke-satu
Untuk detailnya, lihat Topologi sinkronisasi.
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
Izin yang diperlukan
| Database | Izin yang diperlukan |
|---|---|
| Instans PolarDB-X 1.0 sumber | Izin baca pada objek yang akan disinkronkan. Lihat Kelola akun. |
| Instans ApsaraDB RDS for MySQL tujuan | Izin baca dan tulis pada objek tujuan. Lihat Buat akun dan Ubah izin akun. |
Buat tugas sinkronisasi
Sebelum menyinkronkan data, evaluasi dampak sinkronisasi data terhadap performa database sumber dan tujuan. Jadwalkan tugas selama jam sepi. Sinkronisasi data penuh awal menggunakan sumber daya baca dan tulis dari kedua database sumber dan tujuan, yang meningkatkan beban pada server database.
Langkah 1: Buka halaman Tugas Sinkronisasi Data
Login ke Konsol Data Management (DMS).
Pada bilah navigasi atas, klik Data + AI.
Pada panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.
Navigasi konsol dapat berbeda tergantung mode dan tata letak. Lihat Mode simple atau Sesuaikan tata letak dan gaya konsol DMS untuk detailnya. Atau, buka langsung halaman Tugas Sinkronisasi Data di konsol DTS baru.
Langkah 2: Pilih wilayah
Di sisi kanan Tugas Sinkronisasi Data, pilih wilayah tempat instans sinkronisasi akan berada.
Di konsol DTS baru, pilih wilayah pada bilah navigasi atas.
Langkah 3: Konfigurasi database sumber dan tujuan
Klik Create Task. Di wizard Create Data Synchronization Task, konfigurasikan parameter berikut.
Setelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan pada halaman sebelum melanjutkan.
Source Database
| Parameter | Nilai |
|---|---|
| Task Name | Nama deskriptif untuk tugas. DTS menghasilkan nama secara otomatis — ubah namanya agar tugas mudah diidentifikasi. Nama tugas tidak perlu unik. |
| Database Type | Pilih PolarDB-X 1.0. |
| Connection Type | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah instans PolarDB-X 1.0 sumber. |
| Instance ID | ID instans PolarDB-X 1.0 sumber. |
| Database Account | Akun database untuk instans sumber. Lihat Izin yang diperlukan. |
| Database Password | Password untuk akun database. |
Destination Database
| Parameter | Nilai |
|---|---|
| Database Type | Pilih MySQL. |
| Connection Type | Pilih Alibaba Cloud Instance. |
| Instance Region | Wilayah instans ApsaraDB RDS for MySQL tujuan. |
| RDS Instance ID | ID instans ApsaraDB RDS for MySQL tujuan. |
| Database Account | Akun database untuk instans tujuan. Lihat Izin yang diperlukan. |
| Database Password | Password untuk akun database. |
| Encryption | Pilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan terlebih dahulu pada instans ApsaraDB RDS for MySQL. Lihat Gunakan sertifikat cloud untuk mengaktifkan 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 (seperti ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB). Untuk database yang dikelola sendiri pada instans Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR-nya ke aturan security group ECS — pastikan instans ECS dapat mengakses database. Untuk database yang dideploy di beberapa instans ECS, tambahkan secara manual blok CIDR tersebut ke aturan security group masing-masing instans. Untuk database on-premises atau database dari penyedia cloud pihak ketiga, tambahkan secara manual blok CIDR tersebut ke daftar putih database. Lihat Blok CIDR server DTS.
Menambahkan blok CIDR server DTS ke daftar putih atau security group membawa risiko keamanan. Sebelum menggunakan DTS, ambil langkah pencegahan: gunakan kredensial kuat, batasi port yang terbuka, autentikasi panggilan API, audit aturan daftar putih dan security group secara berkala, serta hapus blok CIDR yang tidak sah. Untuk keamanan lebih tinggi, hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Pilih objek dan konfigurasi pengaturan sinkronisasi
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Incremental Data Synchronization dipilih secara default. Pilih juga Schema Synchronization dan Full Data Synchronization. DTS terlebih dahulu menyinkronkan data historis untuk menetapkan garis dasar bagi sinkronisasi inkremental. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (default): gagal dalam pemeriksaan awal jika sumber dan tujuan memiliki tabel dengan nama identik. Perbaiki konflik sebelum melanjutkan. Jika tabel di tujuan tidak dapat dihapus atau diganti namanya, gunakan pemetaan nama objek untuk mengganti nama tabel tujuan. Ignore Errors and Proceed: melewati pemeriksaan awal untuk konflik nama. Selama sinkronisasi penuh, catatan yang sudah ada di tujuan dipertahankan ketika nilai kunci utama atau unik cocok. Selama sinkronisasi inkremental, catatan yang sudah ada ditimpa. Jika skema berbeda, inisialisasi mungkin sebagian gagal. Gunakan opsi ini dengan hati-hati. |
| Capitalization of object names in destination instance | Mengontrol kapitalisasi nama database, nama tabel, dan nama kolom di tujuan. Default-nya adalah DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan. |
| Source Objects | Pilih objek dan klik ikon panah untuk memindahkannya ke Selected Objects. Pilih tabel sebagai objek yang akan disinkronkan. Jika Anda memilih seluruh database, DTS tidak menyinkronkan perubahan pembuatan atau penghapusan tabel. |
| Selected Objects | Untuk mengganti nama satu objek, klik kanan objek tersebut. Untuk mengganti nama beberapa objek, klik Batch Edit. Lihat Pemetaan nama objek. Untuk memfilter data dengan kondisi WHERE, klik kanan objek dan tentukan kondisinya. Lihat Tentukan kondisi filter. Untuk memilih operasi SQL tertentu per objek, klik kanan objek dan pilih operasi yang akan disinkronkan. |
Langkah 6: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings.
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | Aktifkan untuk menerima notifikasi ketika tugas gagal atau latensi sinkronisasi melebihi ambang batas. Tetapkan ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasi pemantauan dan peringatan. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Rentang: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit. Jika DTS terhubung kembali dalam jendela ini, tugas dilanjutkan secara otomatis; jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, jendela retry terpendek yang berlaku. Selama mencoba kembali, instans DTS tetap dikenai biaya. |
| Configure ETL | Aktifkan untuk mentransformasi data selama sinkronisasi menggunakan fitur ekstrak, transformasi, dan muat (ETL) bawaan. Lihat Apa itu ETL? dan Konfigurasi ETL. |
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 dan klik Preview OpenAPI parameters sebelum mengklik lanjut.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Tunggu hingga semua item lolos.
Jika suatu item gagal, klik View Details, perbaiki masalahnya, lalu klik Precheck Again.
Jika suatu item menampilkan peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details, lalu Ignore, konfirmasi dengan OK, dan klik Precheck Again. Mengabaikan item peringatan dapat menyebabkan inkonsistensi data.
Langkah 8: Beli instans sinkronisasi
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman buy, konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Billing Method | Subscription: 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 menghentikan tagihan. |
| Resource Group Settings | Kelompok sumber daya untuk instans sinkronisasi. Default-nya adalah default resource group. Lihat Apa itu Resource Management? |
| Instance Class | Menentukan kecepatan sinkronisasi. Pilih berdasarkan kebutuhan throughput Anda. Lihat Kelas instans untuk instansi sinkronisasi data. |
| Subscription Duration | Hanya tersedia untuk metode penagihan subscription. Opsi: 1–9 bulan, 1, 2, 3, atau 5 tahun. |
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di dialog konfirmasi, klik OK.
Tugas muncul di daftar tugas. DTS menjalankan sinkronisasi data penuh terlebih dahulu, lalu beralih ke sinkronisasi inkremental secara otomatis.
Langkah selanjutnya
Setelah tugas berjalan, verifikasi bahwa sinkronisasi berjalan sesuai harapan:
Pantau status tugas dan progres subtask di Task Topology.
Periksa latensi sinkronisasi di daftar tugas. Untuk peringatan latensi, lihat Konfigurasi pemantauan dan peringatan.
Setelah sinkronisasi data penuh selesai, Anda dapat mengatur periode retensi log biner pada sumber menjadi lebih dari 24 jam. Pastikan Anda mengatur periode retensi log biner sesuai dengan persyaratan yang dijelaskan di bagian Prasyarat. Jika tidak, keandalan layanan dan performa yang dinyatakan dalam Perjanjian Tingkat Layanan (SLA) DTS tidak dapat tercapai.