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.
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 | 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 |
Di konteks analytics engineering, replication sering dipakai untuk:
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.