D'après ma compréhension, la cohérence d'ACID garantit l'intégrité des données.
Cependant, la cohérence du CAP signifie que les données peuvent apparaître rapidement dans un système distribué.
Est-ce à dire: ce n'est pas le même concept?
distributed-databases
acid
Yang Xia
la source
la source
Théorème CAP : spécifie qu'un système distribué peut fournir deux services (ex. Disponibilité et tolérance de partition) mais jamais trois. Si, par exemple, un service fournit la disponibilité et le partitionnement, il ne peut jamais garantir la cohérence, pas immédiatement, donc la cohérence finale est utilisée, ce qui permet à l'infrastructure de basculer entre incohérence et cohérence, mais à un moment donné, tôt ou tard, l'infrastructure deviendra cohérente , résultant en une cohérence éventuelle. Les services cloud fonctionnent de cette manière et Simple DB d'Amazon utilise une cohérence éventuelle.
Les fonctionnalités ACID sont généralement appliquées aux bases de données relationnelles. Si vous souhaitez appliquer ACID de manière distribuée (base de données distribuée), ACID utilise 2PC (validation en deux phases) pour forcer la cohérence entre les partitions. Cependant, comme ACID assure la cohérence et le partitionnement, l'application du théorème CAP pour (les environnements distribués) signifie que la disponibilité est compromise.
Pour cette raison, BASE (Basiquement disponible, état souple, éventuellement cohérent) est utilisé, ce qui peut fournir des niveaux d'extensibilité qui ne peuvent pas être obtenus avec ACID.
J'espère que cela t'aides.
la source
Concernant la cohérence dans le théorème de la PAC, Julian Brown écrit dans son article ( http://www.julianbrowne.com/article/brewers-cap-theorem ):
Ainsi, le C dans CAP correspondrait au A dans ACID.
Avec Gilbert et Lynch, il se réfère à l'article "Seth Gilbert et Nancy Lynch: conjecture de Brewer et faisabilité de services Web cohérents, disponibles et tolérants aux partitions"
la source