School of Information Systems

CAP Theorem 

Teorema CAP adalah salah satu pengetahuan yang harus dimiliki ketika mendesain sistem terdistribusi atau secara lebih spesifik arsitektur microservices. Sistem database yang terdistribusi tidak akan memiliki lebih dari dua kondisi yang diharapkan terpenuhi dari tiga kondisi berikut, yaitu konsistensi, ketersediaan (availability), dan toleransi partisi. Jadi dari tiga properties tadi hanya dapat dua kombinasi properties yang dapat dipenuhi. Contohnya, CA yang merupakan Consistency dan Availability, CP yang merupakan Consistency dan Partition Tolerance, dan AP yang merupakan Availability dan Partition Tolerance.  

Berikut adalah penjelasan dari masing-masing propertise tersebut 

Consistency: Konsistensi dicapai apabila kita mendapatkan semua data sama pada setiap node pada waktu yang sama. Dengan kata lain, setelah melakukan berbagai operasi write ke database kita akan mendapatkan data yang sama ketika melakukan operasi read pada setiap node yang kita akses. Apabila terjadi perbedaan data maka kita menyebutkan sebagai sistem yang tidak konsisten atau in consistency system.  

Availability: Umumnya ketersediaan dari sistem diukur dengan up-time nya. Sistem yang memiliki up time 90% akan memiliki availability yang lebih tinggi dari pada sistem yang memiliki uptime 80%. Akan tetapi, pengertian availability pada teorema CAP, berarti sistem atau semua node akan senantiasa setiap waktu akan memberikan respon. Apabila respon time terlalu lama maka akan mengakibatkan client yang mengakses sistem kita akan mengalami pengalaman yang kurang baik.  

Partition Tolerance: Kita tidak dapat menghindari kenyataan bahwa jaringan itu akan mengalami kegagalan baik akibat dari permasalahan fisik ataupun logical. Kita akan mendapatkan kegagalan secara fisikal apabila terjadi permasalahan pada jaringan kabel kita. Sedangkan kegagalan secara logical bisa diakibatkan oleh proses garbage collection yang berat terjadi. Dengan demikian, sistem dengan partition tolerance yang tinggi adalah suatu sistem masih dapat bekerja walaupun komunikasi antar node terganggu.  

Contohnya:  

CA (Consistency + Availability): Cocok untuk sistem transaksi financial seperti online payment gateaway, e-commerce, dan banking  

CP (Consistency + Partition Tolerance): Cocok untuk social media profile 

AP (Availability + Partition Tolerance): Cocok untuk media streaming, IOT  

Jadi CAP Theorem itu menggabungkan, aplikasi Big Data yang di design menggabungkan dua pilar seperti CA, CP atau AP  

 

Devanya Aini Tohib