Inilah cara saya membahas CAP, terutama tentang P.
CA hanya mungkin jika Anda OK dengan database server tunggal monolitik (mungkin dengan replikasi tetapi semua data pada satu "blok kegagalan" - server tidak dianggap gagal sebagian).
Jika masalah Anda memerlukan peningkatan, distribusi, dan multi-server --- partisi jaringan dapat terjadi. Anda sudah membutuhkan P. Beberapa masalah yang saya pendekatan dapat menerima paradigma server tunggal (atau, seperti yang dikatakan Stonebraker, "didistribusikan adalah tabel taruhan"). Jika Anda dapat menemukan masalah CA, solusi seperti RDBMS non-skala-out tradisional memberikan banyak manfaat.
Bagi saya, jarang: jadi kita beralih ke membahas AP vs CP.
Anda hanya memilih antara operasi AP dan CP ketika Anda memiliki partisi. Jika jaringan & perangkat keras beroperasi dengan benar, Anda mendapatkan kue dan memakannya juga.
Mari kita bahas perbedaan AP / CP.
AP - ketika ada partisi jaringan, biarkan bagian independen beroperasi secara bebas.
CP - ketika ada partisi jaringan, matikan node atau larang membaca dan menulis sehingga ada kegagalan deterministik.
Saya suka arsitektur yang dapat melakukan keduanya, karena beberapa masalah adalah AP dan beberapa CP - dan beberapa database dapat melakukan keduanya. Di antara solusi CP dan AP, ada juga kehalusan.
Misalnya, dalam dataset AP, Anda memiliki kemungkinan pembacaan yang tidak konsisten, dan menghasilkan konflik tulis - ini adalah dua mode AP yang berbeda. Dapatkah sistem Anda dikonfigurasikan untuk AP dengan ketersediaan baca tinggi tetapi tidak mengizinkan konflik tulis? Atau dapatkah sistem AP Anda menerima konflik tulis, dengan sistem resolusi yang kuat dan fleksibel? Apakah Anda akan membutuhkan keduanya pada akhirnya, atau dapatkah Anda memilih sistem yang hanya melakukan satu saja?
Dalam sistem CP, berapa banyak ketidaktersediaan yang Anda dapatkan dengan partisi kecil (server tunggal), jika ada? Replikasi yang lebih besar dapat meningkatkan ketidaktersediaan dalam sistem CP, bagaimana sistem menangani pengorbanan tersebut?
Ini semua adalah pertanyaan untuk diajukan dengan CP vs AP.
Bacaan yang bagus di bidang ini sekarang adalah tulisan "12 tahun kemudian" dari Brewer. Saya percaya ini bergerak maju perdebatan CAP dengan jelas, dan sangat merekomendasikannya.
http://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed