Gunakan Data Transmission Service (DTS) untuk melacak operasi INSERT, UPDATE, dan DELETE dari kluster PolarDB for PostgreSQL secara real time. Setelah tugas berjalan, konsumen downstream dapat berlangganan aliran perubahan menggunakan SDK, Flink, atau klien Kafka.
Batasan
Tinjau batasan berikut sebelum memulai. Salah konfigurasi pada area ini merupakan penyebab paling umum kegagalan tugas dan ketidakkonsistenan data.
| Batasan | Dampak | Tindakan |
|---|---|---|
| Primary key atau kendala UNIK | Tabel sumber harus memiliki PRIMARY KEY atau UNIQUE constraint dengan semua bidang unik. Tanpa ini, beberapa perubahan yang dilacak mungkin diduplikasi. | Tambahkan PRIMARY KEY atau UNIQUE constraint ke setiap tabel yang dilacak sebelum membuat tugas. |
| Jumlah tabel | Satu tugas pelacakan perubahan dapat melacak hingga 500 tabel. Melebihi batas ini menyebabkan error permintaan. | Buat tugas terpisah untuk kelompok tabel yang berbeda, atau lacak seluruh database alih-alih tabel individual. |
| Retensi log WAL | Log WAL harus dipertahankan lebih dari 24 jam. Retensi yang lebih pendek dapat menyebabkan DTS gagal membaca log, yang berpotensi mengakibatkan kegagalan tugas atau ketidakkonsistenan data. | Atur periode retensi log WAL pada kluster sumber minimal 24 jam sebelum memulai tugas. |
| Instans read-only atau temporary | Jika sumber adalah instans read-only atau temporary, pencatatan transaksi (transaction logging) harus diaktifkan. | Aktifkan transaction logging pada instans tersebut. |
Batasan lainnya
| Batasan | Detail |
|---|---|
| Satu database per tugas | Satu tugas pelacakan perubahan hanya melacak data dari satu database. Buat tugas terpisah untuk setiap database. |
| Tabel heartbeat | DTS menambahkan tabel heartbeat bernama dts_postgres_heartbeat ke database sumber untuk menjaga pengukuran latensi yang akurat. |
| Presisi FLOAT dan DOUBLE | DTS mengambil nilai FLOAT dan DOUBLE menggunakan ROUND(COLUMN,PRECISION). Jika tidak ada presisi yang ditentukan, FLOAT default ke 38 digit dan DOUBLE default ke 308 digit. Verifikasi bahwa nilai default ini memenuhi kebutuhan Anda sebelum memulai tugas. |
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Memiliki kluster PolarDB for PostgreSQL. Lihat Buat kluster.
-
Mengatur parameter
wal_levelkelogicalpada kluster. Lihat Tentukan parameter kluster. -
Mengonfigurasi retensi log WAL lebih dari 24 jam pada kluster.
Buat tugas pelacakan perubahan
Langkah 1: Buka halaman Tugas Pelacakan Perubahan
-
Masuk ke Konsol Data Management (DMS).
-
Pada bilah navigasi atas, klik DTS.
-
Pada panel navigasi kiri, pilih DTS (DTS) > Change Tracking.
Jika Anda menggunakan Mode Sederhana di Konsol DMS, arahkan kursor ke ikondi pojok kiri atas, lalu pilih All functions > DTS > Change Tracking. Atau, buka langsung Konsol DTS.
Langkah 2: Pilih wilayah
Di sebelah kanan Change Tracking Tasks, pilih wilayah tempat Anda ingin membuat tugas.
Di Konsol DTS, 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. Pada halaman yang muncul, konfigurasikan parameter berikut.
Baca Limits yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau data yang dilacak tidak dapat dikonsumsi.
| Parameter | Deskripsi |
|---|---|
| Nama untuk tugas pelacakan perubahan. DTS memberikan nama default. Gunakan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik. | |
| Select an existing database connection | Opsional. Pilih koneksi yang sudah ada agar DTS menerapkan pengaturannya secara otomatis. Jika dilewati, konfigurasikan parameter di bawah ini secara manual. |
| Pilih PolarDB for PostgreSQL. | |
| Pilih Alibaba Cloud Instance. | |
| Wilayah tempat kluster PolarDB for PostgreSQL sumber berada. | |
| Pilih No. Anda hanya dapat memilih No. | |
| Instance ID | ID kluster PolarDB for PostgreSQL. |
| Database Name | Nama database sumber. |
| Akun istimewa untuk database PolarDB for PostgreSQL. | |
| Password untuk akun database. |
| Parameter | Deskripsi |
|---|---|
| Jenis Jaringan | Tetap ke VPC. Pilih VPC dan vSwitch. Untuk detailnya, lihat VPCs. |
Jenis jaringan konsumen tidak dapat diubah setelah tugas dibuat. Jika klien pelacakan perubahan Anda berjalan di VPC, pilih VPC dan vSwitch yang sama untuk meminimalkan latensi jaringan.
Langkah 4: Uji konektivitas
Klik Test Connectivity and Proceed.
DTS secara otomatis menambahkan blok CIDR-nya ke daftar putih instans database Alibaba Cloud atau aturan grup keamanan database yang dihosting di ECS. Untuk database yang dikelola sendiri di pusat data atau disediakan oleh pihak ketiga, tambahkan secara manual blok CIDR DTS ke pengaturan keamanan database Anda. Lihat Add the CIDR blocks of DTS servers.
Menambahkan blok CIDR DTS ke daftar putih atau grup keamanan menimbulkan risiko keamanan. Sebelum menggunakan DTS, pahami risikonya dan terapkan kontrol yang sesuai, seperti kredensial kuat, membatasi port yang terbuka, mengautentikasi panggilan API, meninjau aturan daftar putih secara berkala, serta menghapus blok CIDR yang tidak sah. Pertimbangkan untuk menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway alih-alih internet publik.
Langkah 5: Pilih objek
Pilih database atau tabel yang akan dilacak.
| Parameter | Deskripsi |
|---|---|
| Data Change Types | Tetap ke Data Update, yang mencakup operasi INSERT, DELETE, dan UPDATE. |
| Source Objects | Pilih objek dari daftar Source Objects dan klik ikon |
Cakupan pelacakan:
-
Tingkat database: DTS melacak semua objek dalam database, termasuk tabel yang ditambahkan setelah tugas dimulai.
-
Tingkat tabel: DTS hanya melacak tabel yang ditentukan. Untuk menambahkan lebih banyak tabel nanti, lihat Modify the objects for change tracking.
Langkah 6: Konfigurasikan pengaturan lanjutan
Klik Next: Advanced Settings.
| Parameter | Deskripsi |
|---|---|
| Monitoring and Alerting | Pilih Yes untuk menerima notifikasi saat tugas gagal atau latensi melebihi ambang batas. Tentukan ambang batas peringatan dan kontak. Pilih No untuk melewatkan peringatan. |
| Retry Time for Failed Connections | Durasi DTS mencoba kembali koneksi yang gagal sebelum tugas gagal. Rentang: 10–1440 menit. Default: 120 menit. Atur minimal 30 menit. Jika DTS berhasil terhubung kembali dalam jendela ini, tugas akan dilanjutkan secara otomatis. |
| Configure ETL | Pilih Yes untuk menerapkan transformasi ekstrak, transformasi, dan muat (ETL). Masukkan pernyataan pemrosesan di editor kode. Lihat Configure ETL in a data migration or synchronization task. Pilih No untuk melewatkan ETL. |
Jika satu instans database menjadi sumber bagi beberapa tugas pelacakan perubahan, waktu retry terpendek yang dikonfigurasi di antara tugas-tugas tersebut akan berlaku untuk semuanya. Instans DTS tetap dikenai biaya selama proses retry.
Langkah 7: Jalankan Pemeriksaan Awal
Klik Next: Save Task Settings and Precheck.
DTS menjalankan Pemeriksaan Awal sebelum memulai tugas. Tugas hanya akan dimulai setelah Pemeriksaan Awal berhasil.
Jika suatu item Pemeriksaan Awal gagal:
-
Klik View Details di samping item yang gagal, perbaiki masalah berdasarkan pesan error, lalu klik Precheck Again.
-
Jika suatu item memicu peringatan yang dapat diabaikan, klik Confirm Alert Details. Di dialog tersebut, klik Ignore, lalu klik OK, kemudian klik Precheck Again.
Untuk melihat pratinjau parameter OpenAPI untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Langkah 8: Tunggu hingga Pemeriksaan Awal selesai
Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.
Langkah 9: Pilih metode penagihan
Pada halaman Purchase Instance, pilih metode penagihan.
| Metode penagihan | Paling cocok untuk | Detail |
|---|---|---|
| Subscription | Penggunaan jangka panjang | Bayar di muka untuk periode tetap. Lebih hemat biaya dibandingkan pay-as-you-go untuk beban kerja berkelanjutan. Atur durasi langganan (1–9 bulan atau 1–3 tahun) dan aktifkan perpanjangan otomatis jika diperlukan. |
| Pay-as-you-go | Penggunaan jangka pendek | Ditagih per jam. Lepaskan instans saat Anda tidak lagi membutuhkannya untuk menghentikan biaya. |
Langkah 10: Terima syarat layanan
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Langkah 11: Mulai tugas
Klik Buy and Start. Tugas akan muncul di daftar tugas tempat Anda dapat memantau progresnya.
Langkah selanjutnya
Saat tugas pelacakan perubahan sedang berjalan, siapkan kelompok konsumen dan mulai mengonsumsi data yang dilacak.
-
Buat kelompok konsumen. Lihat Create consumer groups.
-
Pilih metode konsumsi: