Data Replication
Proses menyalin data secara otomatis dari satu sistem ke sistem lain, biar data yang sama tersedia di banyak tempat sekaligus. Tujuannya bisa untuk availability, performa analitik, atau disaster recovery.
Apa itu Data Replication?
Data Replication adalah proses otomatis menyalin data dari satu database atau sistem ke sistem lain, sehingga ada salinan data yang selalu up-to-date di beberapa tempat sekaligus. Tujuannya bisa bermacam-macam: supaya sistem tetap jalan kalau satu server mati, supaya tim analitik bisa query data tanpa ganggu database produksi, atau supaya data lebih dekat secara geografis ke pengguna yang ada di berbagai region.
Bayangin kamu punya buku tabungan yang selalu tersinkron antara yang ada di tangan kamu, di kantor cabang terdekat, dan di kantor pusat. Kalau kantor cabang kebakaran, data tabungan kamu tetap aman karena ada di tempat lain. Nah, data replication prinsipnya sama.
Jenis-jenis Data Replication
Berdasarkan Waktu Sinkronisasi
| Jenis | Cara Kerja | Latency | Cocok untuk |
|---|---|---|---|
| Synchronous | Data ditulis ke semua replica bersamaan | Sangat rendah | Sistem yang butuh konsistensi ketat |
| Asynchronous | Primary catat dulu, replica update belakangan | Ada delay | High-throughput, toleran sedikit lag |
| Semi-synchronous | Minimal 1 replica sync, sisanya async | Sedang | Kompromi antara keduanya |
Berdasarkan Mekanisme
- Snapshot Replication: salin seluruh data secara berkala (misalnya setiap malam). Sederhana tapi data bisa stale di antara interval
- Transactional Replication: setiap perubahan (INSERT/UPDATE/DELETE) langsung dikirim ke replica. Lebih real-time
- Merge Replication: dua arah, kedua sistem bisa tulis dan sinkronisasi satu sama lain. Kompleks karena rawan conflict
Kenapa Ini Penting?
Di konteks analytics engineering, replication sering dipakai untuk:
- Read replica: database produksi punya replica khusus untuk query analitik. Tim data analyst bisa query tanpa ganggu performa aplikasi yang lagi dipakai jutaan pengguna
- Disaster Recovery: kalau primary database down, ada replica yang bisa langsung take over
- Geo-distribution: data direplikasi ke region yang lebih dekat dengan pengguna untuk latency lebih rendah
- Data Warehouse ingestion: data dari OLTP (PostgreSQL, MySQL) direplikasi ke data warehouse (BigQuery, Snowflake) untuk analitik skala besar
Change Data Capture (CDC)
Teknologi yang sering dipakai bareng replication adalah CDC (Change Data Capture). CDC nangkap setiap perubahan di database sumber lewat transaction log, bukan lewat polling yang boros. Lalu perubahan itu diteruskan ke destination secara near real-time.
Tool seperti Debezium pakai CDC untuk streaming perubahan data dari MySQL atau PostgreSQL ke Kafka, yang kemudian bisa masuk ke data warehouse. Ini jauh lebih efisien dibanding full snapshot karena cuma ngirim data yang berubah saja.
Udah paham Data Replication? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.