Théorème CAP vs BASE (NoSQL)


12

Théorème CAP vs BASE (NoSQL)

Bonjour, j'essaie d'écrire un petit article pour mon travail sur NoSQL et j'ai décrit le théorème CAP comme, sinon tous, alors la plupart des bases de données NoSQL adhèrent. Plus tard, j'ai lu un article sur la différence entre NoSQL et RDBMS qui déclarait que les bases de données NoSQL utilisent l'équivalent ACID BASE.

Je connais les propriétés de BASE, ACID et CAP mais j'ai du mal à comprendre la relation entre le théorème de CAP et BASE. Si je comprends bien, le théorème de CAP mène à l'acronyme BASE, mais est-ce la bonne conclusion? Ou s'agit-il de deux approches différentes pour «construire» une base de données autour de laquelle partagent des propriétés similaires ??

Dans cet article de blog (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/), l'auteur écrit:

Il est plus difficile de développer un logiciel dans le monde BASE tolérant aux pannes que dans le monde ACID fastidieux, mais le théorème CAP de Brewer dit que vous n'avez pas le choix si vous souhaitez évoluer. Cependant, comme Brewer le souligne dans cette présentation, il existe un continuum entre ACID et BASE. Vous pouvez décider à quel point vous souhaitez être proche d'une extrémité du continuum ou de l'autre en fonction de vos priorités.

Dans un autre article, l'auteur écrit:

La plupart des bases de données NOSQL ont surtout assoupli les exigences de cohérence afin d'améliorer la disponibilité et le partitionnement. Cela a abouti à des systèmes connus sous le nom de BASE (Basiquement disponible, état souple, éventuellement cohérent). Ceux-ci n'ont pas de transactions au sens classique et introduisent des contraintes sur le modèle de données pour permettre de meilleurs schémas de partition (comme le système Dynamo, etc.). Une discussion plus complète de CAP, ACID et BASE est disponible dans cette introduction.

Cela indique clairement que la PAC aboutit à BASE.

J'espère que quelqu'un pourra me clarifier cela et éliminer ma confusion ..

Merci
- Mestika

Réponses:


15

CAP est fondamentalement un continuum le long duquel BASE et ACID sont aux extrémités opposées.

Diagramme CAP

CAP est la cohérence, la disponibilité et la tolérance de partition. Fondamentalement, vous pouvez en choisir 2, mais vous ne pouvez pas faire les 3.

ACID se concentre sur la cohérence et la disponibilité.

BASE se concentre sur la tolérance et la disponibilité des partitions et jette la cohérence par la fenêtre.


1
Une bonne base de données ACID devrait se concentrer sur la cohérence et la tolérance de partition, car jeter la tolérance de partition par la fenêtre (pour le dire dans vos mots) romprait la cohérence chaque fois qu'une partition se produit.
peter

ACID ne se concentre pas sur la disponibilité. Le 'A' signifie Atomicity et couvre des choses comme abandon - restauration - redémarrage.
momo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.