CDC
Change Data Capture
Teknik real-time untuk mendeteksi dan merekam perubahan data di database sumber (INSERT, UPDATE, DELETE) untuk disinkronkan ke sistem tujuan.
CDC (Change Data Capture) adalah proses yang mengidentifikasi dan menangkap perubahan yang terjadi pada database sumber secara real-time atau near real-time, kemudian menyebarkan perubahan tersebut ke sistem tujuan.
Bagaimana CDC Bekerja?
Method 1: Transaction Log CDC (paling umum)
Database memiliki transaction log (WAL di PostgreSQL, binlog di MySQL) yang mencatat semua perubahan. CDC membaca log ini:
App → Database → Transaction Log → CDC Tool → Kafka → Consumer (DWH, etc)
Method 2: Trigger-based CDC
Buat trigger di database yang menulis perubahan ke tabel audit:
- Mudah diimplementasikan
- Overhead performance tinggi
- Cocok untuk tabel kecil
Method 3: Timestamp-based CDC
Query secara berkala untuk record yang updated_at > last_run:
- Sederhana dan portable
- Tidak menangkap DELETE
- Tidak benar-benar real-time
CDC vs Batch Ingestion
| Aspek | CDC | Batch |
|---|---|---|
| Latency | Detik | Menit-jam |
| Load di source DB | Rendah | Tinggi (saat query) |
| Menangkap DELETE | Ya | Tidak (biasanya) |
| Kompleksitas | Tinggi | Rendah |
| Use case | Real-time sync | Nightly ETL |
Istilah Terkait
ETL
Data ProcessingProses integrasi data yang terdiri dari Extract (mengambil data), Transform (membersihkan dan mengubah format), dan Load (memasukkan ke sistem tujuan).
Data Pipeline
Data ProcessingSerangkaian proses otomatis yang memindahkan dan mengubah data dari sumber ke tujuan secara terstruktur dan terjadwal.
ELT
Data ProcessingVarian modern ETL di mana data diekstrak dan langsung dimuat ke tujuan, baru kemudian ditransformasi menggunakan kekuatan komputasi cloud data warehouse.
Udah paham CDC? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.