Layanan Transmisi Data (DTS) memungkinkan Anda menyinkronkan data dari instans PolarDB-X 2.0 ke instans PolarDB-X 1.0, mendukung sinkronisasi data penuh maupun inkremental.
Fitur ini sedang dalam pengujian beta dan hanya tersedia untuk sebagian pengguna.
Dalam topik ini, Anda akan mempelajari cara:
Meninjau prasyarat dan batasan sebelum memulai
Memberikan izin yang diperlukan kepada akun database
Mengonfigurasi tugas sinkronisasi DTS
Menjalankan Pemeriksaan Awal dan membeli instansi sinkronisasi
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans tujuan PolarDB-X 1.0 dengan ruang penyimpanan lebih besar daripada data yang akan disinkronkan dari instans sumber PolarDB-X 2.0. Lihat Create a PolarDB-X 1.0 instance.
Database dan tabel yang telah dibuat di instans tujuan untuk menerima data yang disinkronkan. Lihat Create a databaseCreate a database dan Perform basic SQL operations.
Sesuaikan nama database dan tabel di instans tujuan dengan yang ada di instans sumber PolarDB-X 2.0. Jika namanya berbeda, gunakan fitur pemetaan nama objek di kotak Selected Objects pada halaman Configure Objects saat mengonfigurasi tugas.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Billing overview. |
Batasan
Batasan database sumber
Bandwidth: Server yang menghosting database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan sinkronisasi.
Instans read-only: Instans read-only Edisi Perusahaan PolarDB-X 2.0 tidak dapat digunakan sebagai sumber.
Batasan penamaan tabel:
Tabel yang memiliki huruf kapital dalam namanya tidak dapat disinkronkan.
Tabel yang menggunakan kata cadangan sebagai nama (misalnya,
select) tidak dapat disinkronkan.Objek
TABLEGROUPserta database atau skema yang mengandung atributLocalitytidak didukung.
Persyaratan primary key: Tabel harus memiliki batasan
PRIMARY KEYatauUNIQUEdengan semua field unik. Jika tidak, catatan duplikat dapat muncul di database tujuan.Batas jumlah tabel: Jika Anda memilih tabel sebagai objek sinkronisasi dan perlu mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 5.000 tabel. Tugas yang melebihi batas ini akan mengembalikan error permintaan. Bagi pekerjaan tersebut ke beberapa tugas atau lakukan sinkronisasi di tingkat database.
Pengaturan Binlog: Pencatatan biner (binary logging) diaktifkan secara default pada PolarDB-X 2.0. Atur parameter
binlog_row_imageke nilaifull. Jika parameter ini tidak diatur kefull, Pemeriksaan Awal akan gagal dan tugas tidak dapat dimulai. Lihat Parameter settings.Operasi DDL selama sinkronisasi penuh: Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama sinkronisasi data penuh. Operasi DDL dapat menyebabkan tugas gagal.
Selama sinkronisasi data penuh, DTS melakukan kueri ke database sumber. Hal ini membuat metadata lock yang dapat memblokir operasi DDL di database sumber.
Perubahan jaringan: Jika konfigurasi jaringan instans PolarDB-X 2.0 berubah, instansi sinkronisasi mungkin mengalami latensi sementara.
Batasan lainnya
Latensi heartbeat: DTS secara berkala menjalankan
CREATE DATABASE IF NOT EXISTS \`test\`pada database sumber untuk menulis data heartbeat dan memajukan offset Binlog. Jika opsi Whether to delete SQL operations on heartbeat tables of forward and reverse tasks diatur ke Yesalert notification settings (atau jika akun database yang digunakan oleh instansi sinkronisasi tidak memiliki izin untuk membuat database), dan tidak ada operasi DML yang dijalankan di database sumber dalam periode yang lama, latensi yang ditampilkan mungkin tidak akurat.Untuk memperbarui latensi, jalankan operasi DML di database sumber.
Beban database selama sinkronisasi penuh: Sinkronisasi data penuh mengonsumsi sumber daya baca dan tulis di kedua database sumber dan tujuan. Evaluasi kinerja database sebelum memulai, dan jalankan sinkronisasi selama jam sepi ketika beban CPU di kedua database berada di bawah 30%.
Fragmentasi storage: Selama inisialisasi penuh, DTS menjalankan operasi INSERT secara konkuren, yang dapat menyebabkan fragmentasi tabel di database tujuan. Setelah inisialisasi penuh selesai, ruang penyimpanan yang digunakan oleh tabel tujuan lebih besar daripada yang digunakan oleh tabel sumber.
Tulisan eksternal: Jika data ditulis ke database tujuan dari sumber selain DTS saat instansi sinkronisasi sedang berjalan, ketidakkonsistenan data dapat terjadi antara database sumber dan tujuan, dan instansi sinkronisasi mungkin gagal.
Pemulihan instans: Jika sebuah instans gagal, tim dukungan DTS akan berusaha memulihkannya dalam waktu 8 jam. Pemulihan dapat melibatkan restart instans atau penyesuaian parameter.
Hanya parameter instans DTS yang dimodifikasi selama pemulihan. Parameter database tidak diubah. Untuk daftar parameter yang mungkin dimodifikasi, lihat Modify instance parameters.
Operasi SQL yang didukung untuk sinkronisasi inkremental
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
| DDL | CREATE TABLE, RENAME TABLE, ALTER TABLE, TRUNCATE TABLE, DROP TABLE, CREATE INDEX, DROP INDEX |
Catatan tentang sinkronisasi DDL:
Hanya operasi CREATE TABLE untuk tabel tunggal yang didukung. CREATE TABLE untuk database dan tabel ter-shard tidak didukung.
Jika sumber adalah instans Enterprise Edition PolarDB-X 2.0, operasi CREATE INDEX tidak dapat disinkronkan.
RENAME TABLE dapat menyebabkan ketidakkonsistenan data. Jika Anda memilih tabel sebagai objek sinkronisasi dan mengganti namanya selama sinkronisasi, data untuk tabel tersebut berhenti disinkronkan ke tujuan. Untuk mencegah hal ini, tambahkan database yang berisi tabel tersebut ke daftar objek sinkronisasi — sertakan database sebelum dan sesudah penggantian nama.
Izin yang diperlukan untuk akun database
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| Instans sumber PolarDB-X 2.0 | REPLICATION SLAVE, REPLICATION CLIENT, dan SELECT pada objek yang akan disinkronkan | Mengelola akun database dan Masalah izin akun saat sinkronisasi data |
| Instans tujuan PolarDB-X 1.0 | Izin baca dan tulis | Manage database accounts |
Buat tugas sinkronisasi
Langkah 1: Buka halaman Data Synchronization
Gunakan salah satu metode berikut untuk membuka halaman Data Synchronization.
Konsol DTS
Login ke DTS console.DTS console
Di panel navigasi kiri, klik Data Synchronization.
Di pojok kiri atas, pilih wilayah tempat tugas sinkronisasi berada.
Konsol DMS
Langkah-langkah berikut mungkin berbeda tergantung pada mode dan tata letak konsol DMS Anda. Lihat Simple mode dan Customize the layout and style of the DMS console.
Login ke DMS console.DMS console
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 instansi sinkronisasi berada.
Langkah 2: Konfigurasi database sumber dan tujuan
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan menggunakan parameter berikut.
Database sumber
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. |
| Select Existing Connection | Jika Anda memiliki instans database yang terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi parameter koneksi secara otomatis. Jika tidak menggunakan instans terdaftar, masukkan detail koneksi secara manual. Di konsol DMS, pilih dari daftar drop-down Select a DMS database instance. |
| Database Type | Pilih PolarDB-X 2.0. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Pilih wilayah tempat instans sumber PolarDB-X 2.0 berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk menggunakan instans di Akun Alibaba Cloud saat ini. |
| Instance ID | Pilih ID instans sumber PolarDB-X 2.0. |
| Database Account | Masukkan akun database untuk instans sumber. Untuk persyaratan izin, lihat Permissions required for database accounts. |
| Database Password | Masukkan password untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select Existing Connection | Jika Anda memiliki instans database yang terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi parameter koneksi secara otomatis. Jika tidak menggunakan instans terdaftar, masukkan detail koneksi secara manual. Di konsol DMS, pilih dari daftar drop-down Select a DMS database instance. |
| Database Type | Pilih PolarDB-X 1.0. |
| Access Method | Pilih Alibaba Cloud Instance. |
| Instance Region | Pilih wilayah tempat instans tujuan PolarDB-X 1.0 berada. |
| Instance ID | Pilih ID instans tujuan PolarDB-X 1.0. |
| Database Account | Masukkan akun database untuk instans tujuan. Untuk persyaratan izin, lihat Permissions required for database accounts. |
| Database Password | Masukkan password untuk akun database. |
Klik Test Connectivity and Proceed.
Pastikan blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Lihat Add DTS server IP addresses to a whitelist.
Langkah 3: Konfigurasi objek sinkronisasi
Di halaman Configure Objects, konfigurasikan pengaturan berikut.
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Incremental Data Synchronization dipilih secara default. Untuk juga menyinkronkan data yang sudah ada, tambahkan Full Data Synchronization. Schema Synchronization tidak tersedia untuk pasangan sumber-tujuan ini. Saat sinkronisasi data penuh diaktifkan, DTS menyalin data historis dari sumber ke tujuan sebagai garis dasar untuk sinkronisasi inkremental berikutnya. |
| Incremental CDC Type | Pilih jenis Change Data Capture (CDC) berdasarkan mesin log instans PolarDB-X 2.0. Multi-stream CDC memerlukan multi-stream enabled pada instans sumber. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (default): DTS memeriksa apakah database tujuan berisi tabel dengan nama yang sama seperti di sumber. Jika nama duplikat ada, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Untuk menangani nama duplikat tanpa memblokir tugas, gunakan fitur pemetaan nama objek untuk mengganti nama tabel tujuan. Lihat Map object names. Ignore Errors and Proceed: melewati pemeriksaan nama duplikat. Selama sinkronisasi data penuh, catatan yang sudah ada di tujuan dipertahankan jika memiliki nilai primary key atau unique key yang sama dengan catatan sumber. Selama sinkronisasi data inkremental, catatan sumber akan menimpa catatan tujuan yang cocok. Jika skema sumber dan tujuan berbeda, inisialisasi mungkin gagal atau hanya beberapa kolom yang disinkronkan. |
| Source Objects | Pilih satu atau beberapa objek lalu klik ikon panah kanan untuk menambahkannya ke Selected Objects. Pilih database atau tabel sebagai objek yang akan disinkronkan. |
| Selected Objects | Untuk mengganti nama objek sinkronisasi atau memetakannya ke objek tujuan yang berbeda, klik kanan objek tersebut lalu konfigurasikan pemetaan nama objek. Lihat Map object names. Untuk menghapus objek, klik objek tersebut lalu klik ikon hapus. Untuk memfilter baris, klik kanan tabel dan tentukan kondisi WHERE. Lihat Specify filter conditions. Untuk memilih operasi SQL mana yang akan disinkronkan secara inkremental, klik kanan objek dan pilih operasi tersebut. |
Mengganti nama objek sinkronisasi dapat menyebabkan objek lain yang bergantung padanya gagal disinkronkan.
Langkah 4: Konfigurasi pengaturan lanjutan
Klik Next: Advanced Settings dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Dedicated Cluster for Task Scheduling | Secara default, DTS menjadwalkan tugas ke kluster bersama. Untuk stabilitas lebih tinggi, beli klaster khusus. Lihat What is a DTS dedicated cluster. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba kembali koneksi yang gagal sebelum tugas gagal. Nilai valid: 10–1440 menit. Default: 720. Kami merekomendasikan mengatur nilai ini lebih dari 30. Jika DTS berhasil terhubung kembali dalam jendela yang ditentukan, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas menggunakan database sumber atau tujuan yang sama, jendela retry terpendek berlaku untuk semuanya. |
| Retry Time for Other Issues | Berapa lama DTS mencoba kembali operasi DDL atau DML yang gagal sebelum tugas gagal. Nilai valid: 1–1440 menit. Default: 10. Kami merekomendasikan mengatur nilai ini lebih dari 10. Nilai ini harus lebih kecil daripada nilai Retry Time for Failed Connections. |
| Enable Throttling for Full Data Synchronization | Membatasi penggunaan sumber daya selama sinkronisasi data penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban pada database tujuan. Hanya tersedia saat Full Data Synchronization dipilih. |
| Enable Throttling for Incremental Data Synchronization | Membatasi penggunaan sumber daya selama sinkronisasi data inkremental. Konfigurasikan RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). |
| Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Mengontrol apakah DTS menulis operasi SQL heartbeat ke database sumber. Yes: DTS tidak menulis operasi heartbeat. Informasi latensi mungkin tampak meningkat. No: DTS menulis operasi heartbeat. Hal ini dapat memengaruhi fitur seperti backup fisik dan kloning database. |
| Environment Tag | (Opsional) Tetapkan tag untuk mengidentifikasi lingkungan instans. |
| Monitoring and Alerting | No: peringatan dinonaktifkan. Yes: mengaktifkan peringatan. Tentukan ambang batas peringatan dan pengaturan notifikasi. Lihat Configure monitoring and alerting when you create a DTS task. |
Saat DTS mencoba kembali koneksi, Anda dikenai biaya untuk instansi sinkronisasi selama periode percobaan ulang. Segera lepas instans jika instans sumber dan tujuan tidak lagi diperlukan.
Langkah 5: Konfigurasi verifikasi data
Klik Next Step: Data Verification untuk mengatur verifikasi data. Lihat Configure a data verification task.
Langkah 6: Jalankan Pemeriksaan Awal dan simpan tugas
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API guna mengonfigurasi tugas ini secara terprogram, arahkan pointer ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
DTS menjalankan Pemeriksaan Awal sebelum tugas dapat dimulai. Jika ada item yang gagal:
Klik View Details di samping item yang gagal.
Perbaiki masalah berdasarkan hasil pemeriksaan.
Klik Precheck Again.
Jika peringatan dipicu:
Untuk peringatan yang tidak dapat diabaikan, klik View Details, perbaiki masalah, lalu jalankan Pemeriksaan Awal lagi.
Untuk peringatan yang dapat diabaikan, klik Confirm Alert Details, klik Ignore di kotak dialog, klik OK, lalu klik Precheck Again.
Mengabaikan item peringatan dapat menyebabkan ketidakkonsistenan data dan mengekspos bisnis Anda terhadap risiko potensial.
Langkah 7: Beli instansi sinkronisasi
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Di halaman pembelian, konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Billing Method | Subscription: bayar di muka untuk periode tertentu. 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 biaya. |
| Resource Group Settings | Kelompok sumber daya untuk instansi sinkronisasi. Default: default resource group. Lihat What is Resource Management? |
| Instance Class | Pilih kelas instans berdasarkan kecepatan sinkronisasi yang Anda butuhkan. Lihat Instance classes of data synchronization instances. |
| Subscription Duration | Tersedia saat Subscription dipilih. Opsi: 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun. |
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start, lalu klik OK di kotak dialog.
Tugas muncul di daftar tugas. Pantau perkembangannya dari sana.
Langkah selanjutnya
Setelah tugas sinkronisasi dimulai:
Pantau status tugas: Periksa daftar tugas secara berkala untuk lonjakan latensi atau error.
Verifikasi konsistensi data: Setelah inisialisasi penuh selesai, verifikasi bahwa data tujuan sesuai dengan sumber. Lihat Configure a data verification task.
Hindari menulis ke tujuan dari sumber lain: Tulisan eksternal ke database tujuan selama sinkronisasi dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas.