Data Transmission Service (DTS) dapat menangkap perubahan data inkremental secara real-time dari database logis Data Management (DMS). Ini merupakan tugas change data capture (CDC)—melacak perubahan pada database yang sudah ada tanpa melakukan pemuatan data penuh awal. Ikuti panduan ini untuk membuat tugas pelacakan perubahan untuk database logis DMS yang didukung oleh kluster PolarDB for MySQL ter-shard.
Cara DTS melacak perubahan
DTS membaca log biner dari setiap shard database fisik PolarDB for MySQL yang mendukung database logis DMS, lalu mengalirkan event perubahan inkremental ke konsumen Anda. Karena DTS bergantung pada log biner, semua persyaratan binary logging dalam Batasan harus dipenuhi sebelum Anda memulai.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Menyiapkan database logis DMS yang telah dikonfigurasi. Lihat Database logis.
Mengaktifkan binary logging pada setiap kluster PolarDB for MySQL, dengan
binlog_row_imagediatur kefull.Menyimpan log biner selama lebih dari 24 jam pada setiap kluster. Retensi yang lebih pendek menyebabkan DTS gagal membaca log, yang dapat mengakibatkan kegagalan tugas atau kehilangan data.
Memiliki tabel sumber dengan batasan
PRIMARY KEYatauUNIQUE, serta semua field bersifat unik. Tabel tanpa batasan ini dapat menghasilkan catatan perubahan duplikat.
Batasan
Database sumber
| Batasan | Detail |
|---|---|
| Batasan tabel | Tabel sumber harus memiliki batasan PRIMARY KEY atau UNIQUE dengan semua field unik. Tanpa ini, perubahan yang dilacak mungkin berisi duplikat. |
| Batas jumlah tabel | Saat melacak berdasarkan tabel (bukan berdasarkan database), satu tugas pelacakan perubahan mendukung hingga 500 tabel. Melebihi batas ini menyebabkan error permintaan. Untuk melacak lebih banyak tabel, buat beberapa tugas secara batch, atau lacak seluruh database. |
| Binary logging | Binary logging harus diaktifkan. Atur binlog_row_image ke full. Simpan log biner selama lebih dari 24 jam — retensi yang lebih pendek dapat menyebabkan DTS melewatkan segmen log, sehingga mengakibatkan kegagalan tugas atau inkonsistensi data. Kegagalan memenuhi persyaratan ini tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS. |
Lainnya
| Batasan | Detail |
|---|---|
| Presisi FLOAT dan DOUBLE | DTS mengambil nilai dari kolom FLOAT dan DOUBLE menggunakan ROUND(COLUMN,PRECISION). Presisi default adalah 38 digit untuk FLOAT dan 308 digit untuk DOUBLE. Verifikasi bahwa presisi default memenuhi kebutuhan Anda sebelum membuat tugas. |
| Alat DDL | DTS tidak melacak operasi DDL yang dilakukan oleh gh-ost atau pt-online-schema-change. Perubahan skema yang dibuat dengan alat ini dapat menyebabkan klien pelacakan perubahan gagal saat menulis ke tabel tujuan. |
| Jaringan klasik | Jika instans ApsaraDB RDS for MySQL menggunakan jaringan klasik, titik akhir internal dikonfigurasi untuknya. |
Buat tugas pelacakan perubahan
Langkah 1: Buka halaman Tugas Pelacakan Perubahan
Login ke Konsol Data Management (DMS).
Pada bilah navigasi atas, klik DTS.
Pada panel navigasi kiri, pilih DTS (DTS) > Change Tracking.
Jika Anda menggunakan DMS dalam Mode Sederhana, arahkan pointer ke ikondi pojok kiri atas, lalu pilih All functions > DTS > Change Tracking. Atau, buka langsung Konsol DTS baru.
Langkah 2: Pilih wilayah
Di sebelah kanan Change Tracking Tasks, pilih wilayah tempat Anda ingin membuat tugas.
Di Konsol DTS baru, pilih wilayah dari daftar drop-down di sebelah kanan Workbench pada halaman Change Tracking Tasks.
Langkah 3: Konfigurasikan database sumber dan jaringan konsumen
Klik Create Task.
PeringatanSetelah menentukan database sumber, baca bagian Limits di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan tugas gagal atau data yang dilacak tidak dapat dikonsumsi.
Konfigurasikan parameter berikut:
Nama tugas
Parameter Deskripsi Task Name Nama untuk tugas pelacakan perubahan. DTS memberikan nama default. Tentukan nama deskriptif agar mudah diidentifikasi — nama tidak perlu unik. Database sumber
Parameter Deskripsi Select an existing database connection Pilih templat koneksi yang sudah ada jika tersedia. DTS akan mengisi parameter lainnya secara otomatis. Untuk menggunakan koneksi baru, biarkan kosong dan isi parameter di bawah ini. Database Type Pilih DMS LogicDB. Access Method Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat database logis DMS berada. DMS LogicDB Nama database logis DMS. Database Account Username yang digunakan untuk mengakses database logis DMS. Semua kluster PolarDB for MySQL yang meng-host database fisik harus menggunakan username dan password yang sama, serta masing-masing kluster harus memiliki izin baca pada database fisik yang sesuai. Lihat Buat dan kelola akun database. Database Password Password untuk akun database. Jenis jaringan konsumen
Parameter Deskripsi Network Type Ditetapkan ke VPC. Pilih VPC dan vSwitch. Jika klien pelacakan perubahan dideploy di VPC, pilih VPC dan vSwitch yang sama dengan klien untuk meminimalkan latensi jaringan. Pengaturan ini tidak dapat diubah setelah tugas dibuat.
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih atau aturan grup keamanan untuk instans database Alibaba Cloud dan database yang di-host di ECS. Untuk database yang dikelola sendiri di pusat data lokal atau cloud pihak ketiga, tambahkan secara manual blok CIDR server DTS ke pengaturan keamanan database. Lihat Tambahkan blok CIDR server DTS.
Menambahkan blok CIDR publik server DTS ke daftar putih database atau grup keamanan ECS membuka risiko keamanan. Sebelum melanjutkan, ambil langkah pencegahan seperti: memperkuat keamanan username dan password, membatasi port yang terbuka, mengautentikasi panggilan API, melakukan audit berkala terhadap aturan daftar putih dan grup keamanan, serta menghubungkan ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.
Langkah 5: Konfigurasikan objek yang dilacak dan pengaturan lanjutan
Pengaturan dasar
| Parameter | Deskripsi |
|---|---|
| Data Change Types | Pilih satu atau keduanya: Data Update melacak operasi INSERT, DELETE, dan UPDATE pada objek yang dipilih. Schema Update melacak operasi pembuatan, penghapusan, dan modifikasi pada semua skema objek di instans sumber — gunakan klien pelacakan perubahan untuk memfilter event di downstream. |
| Source Objects | Pilih objek di panel Source Objects dan klik |
Pengaturan lanjutan
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | Aktifkan peringatan untuk menerima notifikasi saat tugas gagal atau latensi melebihi ambang batas. Jika Anda memilih Yes, konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Lihat Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS. |
| Retry Time for Failed Connections | Durasi DTS mencoba kembali koneksi yang gagal sebelum menandai tugas sebagai gagal. Nilai valid: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit. Jika beberapa tugas pelacakan perubahan berbagi instans sumber yang sama, waktu retry terpendek di antara semua tugas yang berlaku. DTS membebankan biaya selama periode retry — segera release instans DTS jika instans database sumber telah direlease. |
| Configure ETL | Pilih Yes untuk mengonfigurasi pemrosesan extract, transform, and load (ETL) dengan pernyataan transformasi data. Pilih No untuk melewati ETL. Lihat Apa itu ETL? |
Langkah 6: Simpan pengaturan dan jalankan pemeriksaan awal
Klik Next: Save Task Settings and Precheck.
Untuk melihat pratinjau parameter API yang digunakan untuk mengonfigurasi tugas ini, arahkan pointer ke tombol tersebut lalu klik Preview OpenAPI parameters.
DTS menjalankan pemeriksaan awal sebelum memulai tugas. Jika ada item yang gagal:
Klik View Details di sebelah item yang gagal dan perbaiki masalah yang dilaporkan, lalu klik Precheck Again.
Jika suatu item menghasilkan peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details, lalu klik Ignore di dialog, konfirmasi, dan klik Precheck Again. Mengabaikan item peringatan dapat menyebabkan inkonsistensi data.
Langkah 7: Tunggu hingga pemeriksaan awal selesai
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Langkah 8: Beli instans pelacakan perubahan
Pada halaman Purchase, konfigurasikan pengaturan penagihan:
| Parameter | Deskripsi |
|---|---|
| Billing method | Subscription: ditagih di muka untuk jangka waktu tetap; lebih hemat biaya untuk penggunaan jangka panjang, dengan harga lebih rendah untuk durasi lebih lama. Pay-as-you-go: ditagih per jam; cocok untuk penggunaan jangka pendek. Release instans pay-as-you-go saat tidak lagi diperlukan untuk menghentikan biaya. |
| Subscription Duration | Tersedia hanya untuk metode penagihan Subscription. Pilih 1–9 bulan, atau 1, 2, 3, atau 5 tahun. |
| Resource Group Settings | Kelompok sumber daya untuk instans ini. Default: default resource group. Lihat Apa itu Resource Management? |
Langkah 9: Terima persyaratan dan mulai tugas
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start.
Tugas pelacakan perubahan dimulai dan muncul dalam daftar tugas.
Pemecahan Masalah
| Gejala | Kemungkinan penyebab | Tindakan |
|---|---|---|
| Tugas gagal dengan error pengambilan log | Log biner pada kluster sumber telah dipurge sebelum DTS sempat membacanya. Hal ini terjadi ketika periode retensi log kurang dari 24 jam. | Tingkatkan periode retensi log biner menjadi lebih dari 24 jam, lalu restart tugas. |
| Tugas gagal pemeriksaan awal karena batasan tabel | Satu atau beberapa tabel sumber tidak memiliki batasan PRIMARY KEY atau UNIQUE. | Tambahkan primary key atau batasan unik ke tabel yang terpengaruh, lalu jalankan pemeriksaan awal lagi. |
| Error permintaan saat membuat tugas dengan lebih dari 500 tabel | Batas tabel per tugas tunggal adalah 500. | Bagi tabel menjadi beberapa tugas pelacakan perubahan, atau lacak seluruh database alih-alih tabel individual. |
| Klien pelacakan perubahan gagal menulis ke tabel tujuan | Operasi DDL dilakukan menggunakan gh-ost atau pt-online-schema-change, yang tidak dilacak oleh DTS. | Hindari penggunaan gh-ost atau pt-online-schema-change untuk perubahan skema pada tabel yang dilacak, atau terapkan secara manual perubahan DDL tersebut ke tujuan. |
Langkah selanjutnya
Setelah tugas berjalan, buat kelompok konsumen agar klien downstream dapat mengonsumsi data yang dilacak:
Buat dan kelola kelompok konsumen. Lihat Buat kelompok konsumen.
Pilih metode konsumsi: