Gunakan Data Transmission Service (DTS) untuk menyinkronkan data inkremental secara real time dari instans PolarDB-X 1.0 ke klaster PolarDB for MySQL.
Prasyarat
Sebelum memulai, pastikan bahwa:
Instans PolarDB-X 1.0 telah dibuat. Untuk informasi selengkapnya, lihat Create a PolarDB-X 1.0 instance dan Create a database.PolarDB-X 1.0PolarDB-X 1.0PolarDB-X 1.0PolarDB-X 1.0PolarDB-X 1.0Create a PolarDB-X 1.0 instanceCreate a database
Jenis storage instans PolarDB-X 1.0 harus berupa ApsaraDB RDS for MySQL, termasuk instans kustom dan instans yang dibeli. PolarDB for MySQL tidak dapat digunakan sebagai jenis storage.
Klaster tujuan PolarDB for MySQL telah dibuat. Untuk informasi selengkapnya, lihat Purchase an Enterprise Edition cluster dan Purchase a subscription cluster.
Klaster tujuan memiliki ruang storage yang tersedia lebih besar daripada ukuran total data pada instans sumber.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Billing overview. |
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi kaskade satu arah
Sinkronisasi satu arah banyak-ke-satu
Untuk detailnya, lihat Synchronization topologies.
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
Izin akun database yang diperlukan
| Database | Izin yang diperlukan | Referensi |
|---|---|---|
| Instans sumber PolarDB-X 1.0 | Izin baca pada objek yang akan disinkronkan | Manage accounts |
| Klaster tujuan PolarDB for MySQL | Izin baca dan tulis pada klaster tujuan tempat objek akan disinkronkan | Create and manage a database account |
Batasan
Persyaratan struktur tabel
Tabel harus memiliki kendala KUNCI UTAMA atau UNIK dengan semua field bernilai unik. Jika tidak, database tujuan mungkin berisi catatan duplikat.
Tabel yang hanya memiliki kendala UNIK tidak mendukung sinkronisasi skema. Gunakan tabel dengan kendala KUNCI UTAMA sebagai gantinya.
Tabel dengan indeks sekunder tidak dapat disinkronkan.
Jika Anda memilih tabel sebagai objek sinkronisasi dan ingin mengganti nama tabel atau kolom di tujuan, satu tugas mendukung maksimal 5.000 tabel. Untuk lebih dari 5.000 tabel, bagi pekerjaan tersebut ke dalam beberapa tugas atau sinkronkan seluruh database.
Persyaratan log biner untuk instans ApsaraDB RDS for MySQL yang terhubung
| Parameter atau persyaratan | Nilai yang diperlukan | Catatan |
|---|---|---|
| Pencatatan log biner | Diaktifkan | DTS membaca perubahan dari log biner. |
binlog_row_image | full | Nilai lain menyebabkan kegagalan Pemeriksaan Awal. |
| Periode retensi log biner (hanya sinkronisasi inkremental) | Minimal 24 jam | Setelah sinkronisasi data penuh selesai, Anda dapat mengurangi periode ini menjadi lebih dari 24 jam. |
| Periode retensi log biner (sinkronisasi penuh + inkremental) | Minimal 7 hari | DTS memerlukan log biner lama selama fase sinkronisasi data penuh awal. |
Jika log biner dihapus sebelum DTS membacanya, tugas akan gagal dan data mungkin tidak konsisten atau hilang. Jangan memperpendek periode retensi di bawah minimum ini. Memenuhi persyaratan ini diperlukan untuk menjaga keandalan dan kinerja yang dinyatakan dalam Perjanjian Tingkat Layanan (SLA) DTS.
Konfigurasi yang tidak didukung
Pemisahan vertikal tidak didukung. Resource storage PolarDB-X 1.0 hanya dapat dipisahkan secara horizontal (database dan tabel).PolarDB-X 1.0
Instans read-only pada lapisan komputasi PolarDB-X 1.0 tidak didukung.PolarDB-X 1.0
Jenis storage instans PolarDB-X 1.0 harus berupa ApsaraDB RDS for MySQL. PolarDB for MySQL tidak dapat digunakan sebagai jenis storage.PolarDB-X 1.0PolarDB-X 1.0
Batasan operasional selama sinkronisasi
Jangan lakukan operasi berikut saat tugas sinkronisasi sedang berjalan:
Mengubah jenis jaringan instans PolarDB-X 1.0. Jika Anda harus mengubahnya, perbarui informasi koneksi jaringan di tugas DTS setelah perubahan.PolarDB-X 1.0
Menyesuaikan skala instans sumber atau instans ApsaraDB RDS for MySQL yang terhubung.
Mengubah distribusi database fisik untuk database logis atau tabel logis yang dikonfigurasi di instans ApsaraDB RDS for MySQL yang terhubung.
Memigrasikan tabel hot, mengubah kunci shard, atau menjalankan operasi DDL Online pada instans sumber.
Tindakan-tindakan ini menyebabkan kegagalan tugas sinkronisasi atau ketidaksesuaian data.
Batasan lainnya
Data didistribusikan di seluruh instans ApsaraDB RDS for MySQL yang terhubung. DTS menjalankan subtask untuk setiap instans ApsaraDB RDS for MySQL. Lacak status subtask di PolarDB-X 1.0Task Topology.
Sinkronisasi data penuh awal menggunakan resource baca dan tulis pada database sumber dan tujuan, sehingga meningkatkan beban. Jalankan sinkronisasi selama jam sepi.
Operasi INSERT konkuren selama sinkronisasi data penuh awal menyebabkan fragmentasi tabel di tujuan. Setelah sinkronisasi penuh, ruang tabel tujuan akan lebih besar daripada sumber.
Jangan gunakan gh-ost atau pt-online-schema-change untuk operasi DDL pada objek yang sedang disinkronkan — hal ini dapat menyebabkan kegagalan tugas.
Tulis data ke database tujuan hanya melalui DTS. Jika alat lain menulis ke tujuan saat Data Management (DMS) melakukan operasi DDL Online, data di tujuan mungkin hilang.
Perilaku kunci asing
Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke tujuan.
Selama sinkronisasi data penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade pada tingkat session. Jika Anda melakukan operasi pembaruan atau penghapusan kaskade pada database sumber selama sinkronisasi, ketidaksesuaian data mungkin terjadi.
Buat tugas sinkronisasi data
Langkah-langkah utamanya adalah:
Konfigurasikan database sumber dan tujuan.
Pilih objek yang akan disinkronkan dan konfigurasikan pengaturan lanjutan.
Jalankan Pemeriksaan Awal.
Beli instansi sinkronisasi data.
Langkah 1: Buka halaman Tugas Sinkronisasi Data
Login ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik Data + AI.
Di panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.
Opsi navigasi dapat berbeda tergantung pada mode dan tata letak konsol. Lihat Simple mode untuk detailnya, atau lihat Customize the layout and style of the DMS console untuk mengubah tata letak. Atau, buka langsung halaman Tugas Sinkronisasi Data di konsol DTS baru.
Langkah 2: Konfigurasikan database sumber dan tujuan
Pilih wilayah tempat instansi sinkronisasi data berada.
Di konsol DTS baru, pilih wilayah di bilah navigasi atas.
Klik Create Task. Di wizard Create Data Synchronization Task, konfigurasikan parameter yang dijelaskan dalam tabel berikut.
PeringatanSetelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan di halaman sebelum melanjutkan. Mengabaikan batasan ini dapat menyebabkan kegagalan tugas atau ketidaksesuaian data.
Source Database
Parameter Deskripsi Task Name Nama tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas lebih mudah diidentifikasi. Nama tidak perlu unik. Database Type Pilih PolarDB-X 1.0. Connection Type Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat instans sumber PolarDB-X 1.0 berada. Instance ID ID instans sumber PolarDB-X 1.0. Database Account Akun database untuk instans sumber. Untuk izin yang diperlukan, lihat Required database account permissions. Database Password Kata sandi untuk akun database. Destination Database
Parameter Deskripsi Database Type Pilih PolarDB for MySQL. Connection Type Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat klaster tujuan PolarDB for MySQL berada. PolarDB Cluster ID ID klaster tujuan PolarDB for MySQL. Database Account Akun database untuk klaster tujuan. Untuk izin yang diperlukan, lihat Required database account permissions. Database Password Kata sandi untuk akun database. Klik Test Connectivity and Proceed. DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih instans database Alibaba Cloud (seperti ApsaraDB RDS for MySQL) dan ke aturan grup keamanan database yang dihosting di Elastic Compute Service (ECS). Untuk database yang dikelola sendiri di pusat data atau cloud pihak ketiga, tambahkan blok CIDR tersebut secara manual. Untuk informasi selengkapnya, lihat bagian CIDR blocks of DTS servers.
PeringatanMenambahkan blok CIDR server DTS ke daftar putih atau aturan grup keamanan menimbulkan risiko keamanan. Sebelum melanjutkan, ambil tindakan pencegahan berikut: - Gunakan username dan password yang kuat serta unik. - Batasi port yang terbuka. - Otentikasi panggilan API. - Tinjau secara berkala daftar putih dan aturan grup keamanan, serta blokir blok CIDR yang tidak sah. - Hubungkan database ke DTS menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 3: Pilih objek dan konfigurasikan pengaturan lanjutan
Konfigurasikan pengaturan sinkronisasi:
Parameter Deskripsi Synchronization Types Incremental Data Synchronization dipilih secara default. Pilih juga Schema Synchronization dan Full Data Synchronization. DTS pertama-tama menyinkronkan data historis dari sumber ke tujuan sebagai garis dasar untuk sinkronisasi inkremental. Processing Mode of Conflicting Tables Precheck and Report Errors (default): DTS memeriksa adanya tabel di tujuan dengan nama yang sama seperti di sumber. Jika nama identik ditemukan, Pemeriksaan Awal gagal dan tugas tidak dapat dimulai. Untuk mengatasi konflik penamaan tanpa menghapus atau mengganti nama tabel tujuan, gunakan pemetaan nama objek. Untuk informasi selengkapnya, lihat Map object names. Ignore Errors and Proceed: Melewati pemeriksaan nama identik. Gunakan opsi ini dengan hati-hati — ketidaksesuaian data mungkin terjadi. Dengan opsi ini: selama sinkronisasi penuh, jika catatan tujuan memiliki nilai kunci utama atau kunci unik yang sama dengan catatan sumber, catatan tujuan dipertahankan. Selama sinkronisasi inkremental, catatan tujuan ditimpa. Jika skema berbeda, inisialisasi mungkin gagal atau hanya beberapa kolom yang disinkronkan. Capitalization of Object Names in Destination Instance DTS default policy dipilih secara default. Ubah ini agar sesuai dengan kapitalisasi database sumber atau tujuan Anda. Untuk informasi selengkapnya, lihat Specify the capitalization of object names in the destination instance. Di bagian Source Objects, pilih objek yang akan disinkronkan dan klik
untuk memindahkannya ke bagian Selected Objects.Pilih tabel daripada seluruh database sebagai objek sinkronisasi. Jika Anda memilih seluruh database, DTS tidak menyinkronkan perubahan CREATE TABLE atau DROP TABLE dari sumber ke tujuan.
(Opsional) Di bagian Selected Objects:
Untuk mengganti nama satu objek di tujuan, klik kanan objek tersebut. Untuk informasi selengkapnya, lihat bagian Map the name of a single object.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas. Untuk informasi selengkapnya, lihat bagian Map multiple object names at a time.
Untuk memilih operasi SQL tertentu untuk suatu tabel, klik kanan objek dan pilih operasinya. Untuk operasi yang didukung, lihat SQL operations that can be synchronized.
Untuk memfilter baris berdasarkan kondisi, klik kanan objek dan tentukan klausa WHERE. Untuk informasi selengkapnya, lihat Specify filter conditions.
Klik Next: Advanced Settings dan konfigurasikan parameter berikut:
Parameter Deskripsi Monitoring and Alerting Nilai yang valid: No (tidak mengaktifkan peringatan) atau Yes (mengonfigurasi peringatan). Pilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi sinkronisasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan kontak notifikasi. Untuk informasi selengkapnya, lihat bagian Configure monitoring and alerting when you create a DTS task. Retry Time for Failed Connections Rentang waktu selama DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Nilai yang valid: 10 hingga 1.440 menit. Nilai default: 720 menit. Atur nilai ini lebih dari 30 menit. Jika DTS terhubung kembali dalam periode ini, tugas dilanjutkan. Jika tidak, tugas gagal. CatatanJika beberapa tugas berbagi database sumber atau tujuan yang sama, periode retry terpendek yang dikonfigurasi berlaku untuk semuanya. DTS menagih instans selama upaya retry. Kami menyarankan Anda menentukan rentang waktu retry berdasarkan kebutuhan bisnis Anda. Anda juga dapat merilis instans DTS sesegera mungkin setelah instans sumber dan tujuan dirilis.
Configure ETL Pilih Yes untuk mengaktifkan fitur ekstrak, transformasi, muat (ETL) dan masukkan pernyataan pemrosesan data di editor kode. Untuk latar belakang fitur ini, lihat What is ETL? Untuk langkah konfigurasi, lihat Configure ETL in a data migration or data synchronization task.
Langkah 4: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck. Untuk melihat parameter API untuk konfigurasi ini, arahkan kursor ke tombol tersebut dan klik Preview OpenAPI parameters sebelum menyimpan.
Tugas tidak dapat dimulai hingga lulus Pemeriksaan Awal.
Tinjau hasil Pemeriksaan Awal:
Jika suatu item gagal, klik View Details untuk melihat penyebabnya, perbaiki masalah tersebut, lalu klik Precheck Again.
Jika peringatan dipicu untuk item yang dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidaksesuaian data.
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Langkah 5: Beli instansi sinkronisasi data
Di halaman pembelian, konfigurasikan parameter berikut:
Parameter Deskripsi Billing Method Subscription: Bayar di muka untuk durasi tertentu. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: Ditagih per jam. Cocok untuk penggunaan jangka pendek. Rilis instans saat tidak lagi diperlukan untuk menghentikan tagihan. Resource Group Settings Kelompok sumber daya untuk instansi sinkronisasi data. Default: default resource group. Untuk informasi selengkapnya, lihat What is Resource Management? Instance Class Kelas instans menentukan kecepatan sinkronisasi. Pilih kelas berdasarkan kebutuhan throughput Anda. Untuk informasi selengkapnya, lihat Instance classes of data synchronization instances. Subscription Duration Tersedia hanya untuk metode penagihan Subscription. 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. Di kotak dialog yang muncul, klik OK.
Tugas muncul di daftar tugas. Anda dapat memantau progresnya di sana.