Lewati ke konten utama
menjadi.dev
System Design

CAP Theorem

Dalam sistem terdistribusi, kamu hanya bisa pilih 2 dari 3: Consistency, Availability, Partition Tolerance.

CAP Theorem (Eric Brewer, 2000) menyatakan bahwa dalam distributed system, tidak mungkin secara simultan menjamin ketiga hal: Consistency (semua node melihat data yang sama setiap saat — read selalu mengembalikan data terbaru), Availability (setiap request mendapat response, meskipun beberapa node down), dan Partition Tolerance (sistem tetap berfungsi meski terjadi network failure antar node). Karena network partition tidak bisa dihindari, dalam praktiknya sistem harus memilih antara CP (Consistency + Partition Tolerance — PostgreSQL, HBase) atau AP (Availability + Partition Tolerance — Cassandra, DynamoDB). Di dunia nyata, sistem sering mengadopsi approach ‘eventual consistency’ (AP) untuk skala besar — data mungkin tidak konsisten sesaat tapi akhirnya akan konsisten.