Teorema CAP vs. BASE (NoSQL)

12

Teorema CAP vs. BASE (NoSQL)

Hai, saya mencoba untuk menulis makalah kecil untuk pekerjaan saya tentang NoSQL dan telah menggambarkan Teorema CAP sebagai, jika tidak semua, maka sebagian besar database NoSQL menganut. Saya kemudian membaca makalah tentang perbedaan antara NoSQL dan RDBMS yang menyatakan bahwa database NoSQL menggunakan BASE mitra ACID.

Saya tahu sifat-sifat BASE, ACID, dan CAP tapi saya kesulitan mencari tahu apa hubungan teorema CAP dan BASE satu sama lain. Seperti yang saya pahami, teorema CAP mengarah ke akronim BASE tetapi apakah ini kesimpulan yang tepat? Atau apakah itu dua pendekatan berbeda untuk "membangun" sebuah database di sekitar yang berbagi beberapa properti serupa ??

Dalam posting blog ini (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) penulis menulis:

Lebih sulit untuk mengembangkan perangkat lunak di dunia BASE yang tahan terhadap kesalahan dibandingkan dengan dunia ACID yang rewel, tetapi teorema Brewer's CAP mengatakan Anda tidak punya pilihan jika Anda ingin meningkatkannya. Namun, seperti yang ditunjukkan Brewer dalam presentasi ini, ada kontinum antara ACID dan BASE. Anda dapat memutuskan seberapa dekat Anda ingin berada di salah satu ujung kontinum atau yang lain sesuai dengan prioritas Anda.

Di artikel lain penulis menulis:

Banyak basis data NOSQL di atas semuanya telah melonggarkan persyaratan Konsistensi untuk mencapai Ketersediaan dan Pemisahan yang lebih baik. Ini menghasilkan sistem yang dikenal sebagai BASE (Pada dasarnya Tersedia, Soft-state, Akhirnya konsisten). Ini tidak memiliki transaksi dalam arti klasik dan memperkenalkan kendala pada model data untuk memungkinkan skema partisi yang lebih baik (seperti sistem Dynamo dll). Diskusi yang lebih komprehensif tentang CAP, ACID dan BASE tersedia dalam pendahuluan ini.

Ini dengan jelas menyatakan bahwa CAP menghasilkan BASE.

Saya harap seseorang dapat mengklarifikasi ini kepada saya dan menghilangkan kebingungan saya ..

Terima kasih
- Mestika

Mestika
sumber

Jawaban:

15

CAP pada dasarnya adalah sebuah kontinum di mana BASE dan ACID berada di ujung yang berlawanan.

Diagram CAP

CAP adalah Konsistensi, Ketersediaan, dan Toleransi partisi. Pada dasarnya Anda dapat memilih 2 dari mereka tetapi Anda tidak dapat melakukan semuanya 3.

ACID berfokus pada Konsistensi dan ketersediaan.

BASE berfokus pada Toleransi dan ketersediaan partisi dan membuang konsistensi di luar jendela.

JNK
sumber
1
Database ACID yang baik harus fokus pada Konsistensi dan Toleransi partisi, karena membuang toleransi partisi keluar jendela (dengan kata lain) akan merusak konsistensi setiap kali partisi terjadi.
peter
ACID tidak fokus pada ketersediaan. 'A' adalah singkatan dari Atomicity dan mencakup hal-hal seperti batalkan - kembalikan - restart.
momo