Gunakan Data Transmission Service (DTS) untuk mereplikasi skema, data historis, dan perubahan berkelanjutan secara terus-menerus dari database IBM Db2 for LUW yang dikelola sendiri ke kluster PolarDB for MySQL. DTS menggunakan teknologi replikasi change data capture (CDC) milik Db2 untuk melacak perubahan inkremental setelah proses pemuatan penuh awal selesai.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki database sumber Db2 for LUW dan kluster tujuan PolarDB for MySQL. Untuk versi yang didukung, lihat Ikhtisar skenario sinkronisasi data.
Memiliki ruang penyimpanan kosong yang cukup di kluster tujuan untuk menampung seluruh data dari database sumber.
Memiliki otoritas DBADM pada database sumber Db2 for LUW. Untuk instruksi penyiapan, lihat Membuat ID grup dan pengguna untuk instalasi database Db2 (Linux dan UNIX) dan Ikhtisar otoritas.
Memiliki izin baca dan tulis pada kluster tujuan PolarDB for MySQL. Lihat Buat dan kelola akun database.
Mengaktifkan arsip log pada database Db2 for LUW. Lihat logarchmeth1 dan logarchmeth2 untuk detail konfigurasilogarchmeth1 - Parameter konfigurasi metode arsip log primerlogarchmeth2 - Parameter konfigurasi metode arsip log sekunder.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenai biaya. Lihat Ikhtisar penagihan |
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah kaskade
Sinkronisasi satu arah banyak-ke-satu
Untuk detailnya, lihat Topologi sinkronisasi.
Operasi SQL yang dapat disinkronkan
DTS hanya menyinkronkan operasi DML: INSERT, UPDATE, dan DELETE.
Batasan
Persyaratan database sumber
Server yang menghosting database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan sinkronisasi.
Tabel yang akan disinkronkan harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field unik. Tanpa kendala tersebut, database tujuan mungkin berisi catatan duplikat.
Saat menyinkronkan tabel individual dengan penggantian nama kolom atau tabel di sisi tujuan, satu tugas mendukung hingga 5.000 tabel. Jika pilihan Anda melebihi 5.000 tabel, bagi pekerjaan tersebut ke beberapa tugas, atau lakukan sinkronisasi di tingkat database.
Arsip log harus diaktifkan pada database sumber. Jika tidak diaktifkan, pemeriksaan awal gagal dan tugas tidak dapat dimulai.
Persyaratan retensi log berdasarkan jenis sinkronisasi:
| Jenis sinkronisasi | Retensi log minimum |
|---|---|
| Hanya sinkronisasi data inkremental | Lebih dari 24 jam |
| Sinkronisasi data penuh + sinkronisasi data inkremental | Minimal 7 hari. Setelah sinkronisasi penuh selesai, Anda dapat menguranginya menjadi lebih dari 24 jam. |
Log yang dipertahankan dalam periode lebih pendek dari yang disyaratkan akan membatalkan service level agreement (SLA) layanan DTS.
Batasan khusus CDC
Batasan ini hanya berlaku saat sinkronisasi data inkremental diaktifkan.
DTS menggunakan teknologi replikasi CDC milik Db2 for LUW. Untuk kendala yang melekat pada teknologi tersebut, lihat Pembatasan data umum untuk SQL Replication.
Nama kolom MySQL tidak peka huruf besar/kecil. Jika sumber memiliki beberapa kolom yang namanya hanya berbeda dalam kapitalisasi, kolom-kolom tersebut akan ditulis ke kolom yang sama di tujuan, sehingga menghasilkan hasil yang tidak diharapkan.
Database sumber Db2 for LUW adalah database yang dikelola sendiri. Alih bencana primer/sekunder pada database sumber saat tugas sedang berjalan akan menyebabkan tugas gagal.
DTS menghitung latensi sinkronisasi menggunakan stempel waktu dari catatan terbaru di tujuan dibandingkan dengan stempel waktu saat ini di sumber. Tanpa aktivitas DML pada sumber dalam periode yang lama, nilai latensi yang dilaporkan mungkin tidak akurat. Lakukan operasi DML pada sumber untuk memperbarui nilai latensi. Jika Anda menyinkronkan seluruh database, Anda dapat membuat tabel heartbeat yang menerima tulisan setiap detik agar latensi tetap akurat.
Perilaku sinkronisasi umum
Jalankan tugas sinkronisasi selama jam sepi. Sinkronisasi data penuh awal mengonsumsi sumber daya baca dan tulis pada kedua database sumber dan tujuan.
Setelah sinkronisasi data penuh awal selesai, ruang tabel tujuan mungkin lebih besar daripada sumber karena fragmentasi tabel akibat operasi INSERT konkuren.
Selama sinkronisasi, tulis data ke tujuan secara eksklusif melalui DTS untuk mencegah ketidakkonsistenan data. Setelah sinkronisasi selesai, gunakan Data Management (DMS) untuk menjalankan pernyataan DDL secara online. Lihat Lakukan operasi DDL tanpa lock.
Jika pernyataan DDL gagal di tujuan, tugas tetap berjalan. Lihat pernyataan DDL yang gagal di log tugas. Lihat Lihat log tugas.
Setelah Status tugas berubah menjadi Completed, jalankan
analyze table <table_name>untuk memastikan data telah ditulis ke disk di tabel tujuan. Dalam skenario alih bencana HA, data mungkin hanya ada di memori dan dapat hilang.
Perilaku sinkronisasi skema
DTS menyinkronkan kunci asing dari sumber ke tujuan selama sinkronisasi skema.
Selama sinkronisasi data penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade di tingkat session. Operasi pembaruan atau penghapusan kaskade pada sumber selama periode ini dapat menyebabkan ketidakkonsistenan data.
Siapkan tugas sinkronisasi
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.
Operasi dapat berbeda tergantung mode Konsol DMS. 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 instansi sinkronisasi data berada.
Di Konsol DTS baru, pilih wilayah di bilah navigasi atas.
Langkah 3: Konfigurasikan database sumber dan tujuan
Klik Create Task. Di wizard Create Data Synchronization Task, konfigurasikan parameter berikut.
Source Database
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak harus unik. |
| Database Type | Pilih DB2 for LUW. |
| Connection Type | Pilih Express Connect, VPN Gateway, or Smart Access Gateway. |
| Instance Region | Wilayah tempat database sumber Db2 for LUW berada. |
| Replicate Data Across Alibaba Cloud Accounts | Pilih No untuk sinkronisasi dalam akun yang sama. |
| Connected VPC | ID virtual private cloud (VPC) yang terhubung ke database Db2 for LUW. |
| IP Address | Alamat IP server database Db2 for LUW. |
| Port Number | Port layanan database sumber. Nilai default: 50000. |
| Database Name | Nama database sumber Db2 for LUW yang berisi objek yang akan disinkronkan. |
| Database Account | Akun untuk database sumber. Lihat bagian Prasyarat untuk izin yang diperlukan. |
| 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 kluster tujuan PolarDB for MySQL berada. |
| PolarDB Cluster ID | ID kluster tujuan PolarDB for MySQL. |
| Database Account | Akun database untuk kluster tujuan. Lihat bagian Prasyarat untuk izin yang diperlukan. |
| Database Password | Kata sandi untuk akun database. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed di bagian bawah halaman.
DTS menangani konfigurasi daftar putih secara otomatis berdasarkan jenis database:
Instans database Alibaba Cloud (seperti ApsaraDB RDS atau ApsaraDB for MongoDB): DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih instans.
Database yang dikelola sendiri di Elastic Compute Service (ECS): DTS secara otomatis menambahkan blok CIDR-nya ke aturan security group ECS. Pastikan instans ECS dapat mengakses database.
Database yang dikelola sendiri di pusat data atau cloud pihak ketiga: Tambahkan secara manual blok CIDR DTS ke daftar putih database. Lihat Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR DTS ke daftar putih atau security group memperkenalkan akses jaringan dari server eksternal. Sebelum melanjutkan, pahami dan terima risiko ini serta ambil langkah-langkah yang sesuai—seperti memperkuat kredensial, membatasi port yang terbuka, mengaudit panggilan API, meninjau aturan daftar putih secara berkala, dan lebih memilih Express Connect, VPN Gateway, atau Smart Access Gateway untuk konektivitas.
Langkah 5: Konfigurasikan objek sinkronisasi dan pengaturan lanjutan
Pengaturan dasar
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Incremental Data Synchronization dipilih secara default. Pilih juga Schema Synchronization dan Full Data Synchronization untuk mereplikasi data historis sebelum melacak perubahan berkelanjutan. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (default): pemeriksaan awal gagal jika sumber dan tujuan memiliki tabel dengan nama identik. Gunakan pemetaan nama objek untuk mengganti nama tabel tujuan yang bentrok jika diperlukan. Ignore Errors and Proceed: melewati pemeriksaan awal. Selama sinkronisasi penuh, catatan tujuan yang sudah ada dengan kunci primer atau unik yang sama tetap dipertahankan. Selama sinkronisasi inkremental, catatan tersebut ditimpa. Skema yang berbeda dapat menyebabkan kegagalan inisialisasi atau sinkronisasi parsial. Gunakan dengan hati-hati. |
| Capitalization of Object Names in Destination Instance | Mengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default: Kebijakan default DTS. Lihat Tentukan kapitalisasi nama objek. |
| Source Objects | Pilih kolom, tabel, atau database dari Source Objects dan klik ikon panah untuk memindahkannya ke Selected Objects. Jika Anda memilih tabel atau kolom, view, trigger, dan prosedur tersimpan tidak disinkronkan. |
| Selected Objects | Untuk mengganti nama satu objek, klik kanan objek tersebut di Selected Objects. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit. Lihat Memetakan nama objek. |
Pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | No: menonaktifkan peringatan. Yes: mengaktifkan peringatan. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasikan pemantauan dan peringatan. |
| Select the engine type of the destination database | InnoDB (default): mesin penyimpanan standar. X-Engine: mesin penyimpanan untuk pemrosesan transaksi online (OLTP). |
| Retry Time for Failed Connections | Durasi DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Rentang: 10–1.440 menit. Default: 720 menit. Atur minimal 30 menit. Jika Anda menentukan rentang waktu coba ulang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu coba ulang terpendek yang berlaku. DTS mengenakan biaya untuk instans selama upaya coba ulang. |
| Configure ETL | Yes: mengaktifkan pemrosesan ekstrak, transformasi, muat (ETL). Masukkan pernyataan transformasi data di editor kode. Lihat Konfigurasikan ETL. No: menonaktifkan ETL. |
Langkah 6: Simpan pengaturan dan jalankan pemeriksaan awal
Untuk melihat pratinjau parameter OpenAPI untuk tugas ini sebelum menyimpan, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Klik Next: Save Task Settings and Precheck.
Tugas tidak dapat dimulai hingga lulus pemeriksaan awal. Jika pemeriksaan awal gagal, klik View Details di samping setiap item yang gagal, perbaiki masalahnya, lalu klik Precheck Again. Untuk item peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details > Ignore > OK > Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.
Langkah 7: Beli instans sinkronisasi data
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 durasi 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 digunakan untuk menghentikan tagihan. |
| Resource Group Settings | Kelompok sumber daya untuk instans. Default: default resource group. Lihat Apa itu Resource Management? |
| Instance Class | Menentukan kecepatan sinkronisasi. Pilih kelas berdasarkan kebutuhan throughput Anda. Lihat Kelas instans sinkronisasi data. |
| Subscription Duration | Hanya tersedia untuk metode penagihan Subscription. Opsi: 1–9 bulan, atau 1, 2, 3, atau 5 tahun. |
Langkah 8: Mulai tugas
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start. Di dialog konfirmasi, klik OK.
Lacak progres sinkronisasi di daftar tugas.