Layanan Transmisi Data (DTS) mengalirkan data perubahan dari database Db2 for LUW (Linux, UNIX, dan Windows) ke kluster Kafka yang dikelola sendiri menggunakan replikasi CDC. Ikuti panduan ini untuk mengonfigurasi tugas sinkronisasi mulai dari prasyarat hingga tugas berjalan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster Kafka yang menjalankan versi 0.10.1.0 hingga 2.7.0
Ruang penyimpanan bebas yang cukup pada kluster Kafka untuk menampung seluruh data dari database sumber Db2 for LUW (diperlukan untuk sinkronisasi data penuh)
Izin administrator basis data pada database sumber Db2 for LUW
Pengarsipan log diaktifkan pada database sumber Db2 for LUW — atur
LOGARCHMETH1atauLOGARCHMETH2(atau keduanya). Lihat logarchmeth1 - Primary log archive method configuration parameter dan logarchmeth2 - Secondary log archive method configuration parameter
Batasan
Kunci asing
DTS tidak menyinkronkan kunci asing. Operasi cascade dan delete pada database sumber tidak direplikasi ke tujuan.
Batasan database sumber
| Batasan | Detail |
|---|---|
| Bandwidth keluar | Server sumber harus memiliki bandwidth keluar yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan sinkronisasi. |
| Kunci primer atau kendala unik | Tabel yang akan disinkronkan harus memiliki kendala PRIMARY KEY atau UNIQUE dengan semua field unik. Tanpa ini, tujuan mungkin berisi catatan duplikat. |
| Jumlah tabel per tugas | Jika Anda memilih tabel sebagai objek dan berencana mengganti nama tabel atau kolom di tujuan, satu tugas mendukung hingga 5.000 tabel. Melebihi batas ini menyebabkan error permintaan — bagi menjadi beberapa tugas atau lakukan sinkronisasi di tingkat database. |
| Retensi log untuk tugas inkremental saja | Pertahankan log selama lebih dari 24 jam. Jika DTS tidak dapat membaca log, tugas mungkin gagal atau terjadi inkonsistensi data. |
| Retensi log untuk tugas penuh + inkremental | Pertahankan log selama minimal tujuh hari sebelum memulai tugas. Setelah sinkronisasi penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Pastikan Anda mengatur periode retensi sesuai persyaratan di atas. Jika tidak, keandalan atau kinerja layanan yang dinyatakan dalam SLA DTS tidak dapat dijamin. |
Batasan khusus CDC
DTS menggunakan teknologi replikasi CDC Db2 for LUW untuk data inkremental. Teknologi ini memiliki batasan sendiri — lihat General data restrictions for SQL Replication.
Batasan lainnya
Jadwalkan sinkronisasi selama jam sepi. Sinkronisasi data penuh mengonsumsi resource baca dan tulis pada database sumber dan tujuan serta dapat meningkatkan beban server.
Setelah sinkronisasi penuh, ruang tabel tujuan lebih besar daripada sumber karena fragmentasi dari operasi INSERT bersamaan.
Tulis data ke tujuan hanya melalui DTS selama sinkronisasi untuk mencegah inkonsistensi data. Setelah sinkronisasi selesai, Anda dapat menjalankan pernyataan DDL secara online menggunakan Data Management (DMS) — lihat Perform lock-free DDL operations.
Jika terjadi alih bencana primer/sekunder pada sumber saat tugas sedang berjalan, tugas akan gagal.
Jika instans ApsaraMQ for Kafka tujuan diskalakan selama sinkronisasi, restart instans tersebut.
Latensi sinkronisasi
DTS menghitung latensi berdasarkan stempel waktu dari catatan terbaru yang tersinkronisasi di tujuan dibandingkan dengan stempel waktu sumber saat ini. Jika tidak ada operasi DML yang terjadi pada sumber dalam periode panjang, nilai latensi yang dilaporkan mungkin tidak akurat. Jalankan operasi DML pada sumber untuk memperbarui nilai latensi.
Jika Anda menyinkronkan seluruh database, buat tabel heartbeat. DTS memperbarui tabel heartbeat setiap detik agar pembacaan latensi tetap akurat.
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
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, DELETE |
Buat tugas sinkronisasi
Langkah 1: Buka halaman Tugas Sinkronisasi Data
Masuk ke Konsol Data Management (DMS).
Pada bilah navigasi atas, klik Data + AI.
Pada panel navigasi kiri, pilih DTS (DTS) > Data Synchronization.
Jalur navigasi dapat berbeda tergantung mode dan tata letak konsol. Lihat Simple mode dan Customize the layout and style of the DMS console. Anda juga dapat langsung menuju halaman Tugas Sinkronisasi Data.
Langkah 2: Pilih wilayah
Di sisi kanan Tugas Sinkronisasi Data, pilih wilayah tempat instans sinkronisasi Anda berada.
Pada konsol DTS baru, pilih wilayah dari bilah navigasi atas.
Langkah 3: Konfigurasikan database sumber dan tujuan
Klik Create Task. Pada wizard, konfigurasikan parameter berikut.
Informasi tugas
| Parameter | Deskripsi |
|---|---|
| Task Name | Nama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif untuk membantu mengidentifikasi tugas — tidak perlu unik. |
Database sumber
| Parameter | Deskripsi |
|---|---|
| Select a DMS database instance | Pilih instans database yang sudah ada, atau biarkan kosong dan konfigurasikan secara manual. Jika Anda memilih instans yang sudah ada, DTS akan mengisi parameter lainnya secara otomatis. |
| Database Type | Pilih DB2 for LUW. |
| Connection Type | Pilih metode akses berdasarkan lokasi penyebaran database sumber. Contoh ini menggunakan Self-managed Database on ECS. Jika database sumber Anda adalah database yang dikelola sendiri, siapkan lingkungan jaringan terlebih dahulu — lihat Preparation overview. |
| Instance Region | Wilayah tempat database sumber Db2 for LUW berada. |
| Replicate Data Across Alibaba Cloud Accounts | Apakah akan menyinkronkan data lintas Akun Alibaba Cloud. Contoh ini menggunakan No. |
| ECS Instance ID | ID instans Elastic Compute Service (ECS) yang menjalankan database sumber. |
| Port Number | Port layanan database sumber Db2 for LUW. Default: 50000. |
| Database Name | Nama database sumber Db2 for LUW. |
| Database Account | Username untuk menghubungkan ke database sumber. Akun ini memerlukan izin administrator basis data. |
| Database Password | Kata sandi untuk akun database. |
Database tujuan
| Parameter | Deskripsi |
|---|---|
| Select a DMS database instance | Pilih instans database yang sudah ada, atau biarkan kosong dan konfigurasikan secara manual. |
| Database Type | Pilih Kafka. |
| Connection Type | Pilih metode akses berdasarkan lokasi penyebaran kluster Kafka. Contoh ini menggunakan Self-managed Database on ECS. Lihat Preparation overview untuk persyaratan pengaturan jaringan. |
| Instance Region | Wilayah tempat kluster Kafka tujuan berada. |
| ECS Instance ID | ID instans ECS yang menjalankan kluster Kafka. Untuk kluster multi-node, pilih salah satu node — DTS secara otomatis menemukan informasi topik untuk semua node. |
| Port number | Port layanan kluster Kafka. Default: 9092. |
| Database Account | Username untuk menghubungkan ke kluster Kafka. Biarkan kosong jika autentikasi tidak diaktifkan. |
| Database Password | Kata sandi untuk akun Kafka. Biarkan kosong jika autentikasi tidak diaktifkan. |
| Kafka Version | Versi kluster Kafka yang dikelola sendiri. Untuk versi 1.0 atau lebih baru, pilih Later Than 1.0. |
| Encryption | Metode enkripsi koneksi. Pilih Non-encrypted atau SCRAM-SHA-256 berdasarkan kebutuhan bisnis dan keamanan Anda. |
| Topic | Topik tujuan. Pilih dari daftar drop-down. |
| Topic That Stores DDL Information | Topik untuk menyimpan informasi DDL. Jika dibiarkan kosong, informasi DDL disimpan di topik yang ditentukan oleh Topic. |
| Use Kafka Schema Registry | Apakah akan menggunakan Kafka Schema Registry untuk penyimpanan dan pengambilan skema Avro melalui API RESTful. Pilih No untuk melewati, atau Yes dan berikan URL atau alamat IP Kafka Schema Registry Anda. |
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed di bagian bawah halaman.
DTS secara otomatis menambahkan blok CIDR servernya ke pengaturan keamanan instans database Alibaba Cloud dan database yang di-host di ECS. Untuk database di pusat data atau cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS ke daftar putih database — lihat Add the CIDR blocks of DTS servers.
Menambahkan blok CIDR DTS ke daftar putih atau aturan grup keamanan menimbulkan risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan seperti: memperkuat keamanan username dan kata sandi, membatasi port yang terbuka, mengotentikasi panggilan API, melakukan audit rutin terhadap aturan daftar putih dan grup keamanan, serta menghapus blok CIDR yang tidak sah. Untuk keamanan lebih tinggi, hubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Konfigurasikan objek dan pengaturan lanjutan
Pengaturan dasar
| Parameter | Deskripsi |
|---|---|
| Synchronization Types | Secara default, Incremental Data Synchronization dipilih. Pilih juga Schema Synchronization dan Full Data Synchronization. DTS menjalankan sinkronisasi penuh terlebih dahulu untuk menyalin data yang ada, yang berfungsi sebagai garis dasar untuk sinkronisasi inkremental. |
| Processing Mode of Conflicting Tables | Cara DTS menangani tabel tujuan yang memiliki nama sama dengan tabel sumber: Precheck and Report Errors (default) — gagal dalam pemeriksaan awal jika terdapat nama tabel identik; Clear Destination Table — menghapus data dari tabel tujuan yang cocok sebelum sinkronisasi (gunakan dengan hati-hati); Ignore Errors and Proceed — melewati pemeriksaan konflik nama. Jika Anda memilih opsi ini, inkonsistensi data mungkin terjadi: selama sinkronisasi penuh, catatan yang ada dengan kunci primer yang cocok tetap dipertahankan; selama sinkronisasi inkremental, catatan yang ada ditimpa. Jika skema berbeda, beberapa kolom mungkin tidak tersinkronisasi atau tugas bisa gagal. Untuk menyelesaikan konflik nama tanpa menghapus tabel tujuan, gunakan fitur pemetaan nama objek — lihat Map object names. |
| Data Format in Kafka | Format catatan yang disimpan di topik Kafka tujuan. Default: DTS Avro. Untuk detail format, lihat Data formats in a message queue. |
| Policy for Shipping Data to Kafka Partitions | Cara DTS mengarahkan catatan ke partisi Kafka. Lihat Specify the policy for synchronizing data to Kafka partitions. |
| Capitalization of Object Names in Destination Instance | Mengontrol apakah nama database, tabel, dan kolom di tujuan diubah menjadi huruf kapital atau huruf kecil. Default: DTS default policy. Lihat Specify the capitalization of object names in the destination instance. |
| Source Objects | Pilih objek dari bagian Source Objects dan klik ikon panah kanan untuk memindahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau database. Memilih tabel atau kolom mengecualikan view, trigger, dan prosedur tersimpan. |
| Selected Objects | Untuk mengganti nama satu objek di tujuan, klik kanan objek tersebut di bagian ini — lihat Map the name of a single object. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit — lihat Map multiple object names at a time. Untuk memfilter baris berdasarkan kondisi SQL, klik kanan objek dan tentukan kondisi WHERE — lihat Specify filter conditions. |
Pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | Apakah akan mengaktifkan peringatan untuk kegagalan tugas atau latensi sinkronisasi tinggi. Pilih No untuk melewati, atau Yes dan konfigurasikan ambang batas peringatan serta pengaturan notifikasi — lihat Configure monitoring and alerting when you create a DTS task. |
| Retry Time for Failed Connections | Berapa lama DTS mencoba kembali koneksi yang gagal setelah tugas dimulai. Rentang: 10–1440 menit. Default: 720 menit. Kami menyarankan Anda mengatur nilai ini lebih dari 30 menit. Jika DTS berhasil terhubung kembali dalam jendela ini, tugas dilanjutkan; jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, jendela retry terpendek yang berlaku. Perhatikan bahwa DTS membebankan biaya untuk instans selama upaya retry. |
| Configure ETL | Apakah akan mengaktifkan pemrosesan ekstrak, transformasi, dan muat (ETL). Pilih Yes untuk memasukkan pernyataan transformasi data di editor kode — lihat Configure ETL in a data migration or data synchronization task. Pilih No untuk melewati. Untuk ikhtisar ETL, lihat What is ETL? |
Langkah 6: 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 dan klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Jika ada item yang gagal:
Klik View Details di sebelah item yang gagal, selesaikan masalahnya, lalu jalankan pemeriksaan awal lagi.
Untuk item peringatan yang dapat diabaikan: klik Confirm Alert Details, lalu klik Ignore di dialog, klik OK, dan klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.
Langkah 7: Beli instans
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Pada halaman pembelian, konfigurasikan hal berikut:
| Parameter | Deskripsi |
|---|---|
| Billing Method | Subscription — bayar di muka untuk jangka waktu tetap (1–9 bulan, atau 1, 2, 3, atau 5 tahun). Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go — ditagih per jam. Cocok untuk penggunaan jangka pendek. Hapus instans saat tidak lagi digunakan untuk menghentikan tagihan. |
| Resource Group Settings | Kelompok sumber daya untuk instans ini. Default: default resource group. Lihat What is Resource Management? |
| Instance Class | Kelas throughput sinkronisasi. Pilih berdasarkan volume data dan kebutuhan latensi Anda. Lihat Instance classes of data synchronization instances. |
| Subscription Duration | Jangka waktu langganan. Tersedia hanya untuk metode penagihan Subscription. |
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. Pantau perkembangannya di sana.