Nach meinem Verständnis gewährleistet die Konsistenz von ACID die Datenintegrität.
Aufgrund der Konsistenz in CAP können die Daten in verteilten Systemen jedoch schnell angezeigt werden.
Heißt das: Sie sind nicht dasselbe Konzept?
distributed-databases
acid
Yang Xia
quelle
quelle
CAP-Theorem : Gibt an, dass ein verteiltes System zwei Dienste bereitstellen kann (z. B. Verfügbarkeit und Partitionstoleranz), jedoch niemals drei. Wenn ein Service zum Beispiel Verfügbarkeit und Partitionierung bereitstellt, kann er niemals die Konsistenz sicherstellen, nicht sofort. Daher wird die Endgültige Konsistenz verwendet, wodurch die Infrastruktur zwischen Inkonsistenz und Konsistenz wechseln kann. An einem bestimmten Punkt wird die Infrastruktur jedoch früher oder später konsistent , was zu einer eventuellen Konsistenz führt. Cloud-Dienste funktionieren auf diese Weise, und Amazon Simple DB verwendet die Konsistenz der Ergebnisse.
ACID- Funktionen werden normalerweise auf relationale DBs angewendet. Wenn Sie ACID verteilt anwenden möchten (Distributed DB), verwendet ACID 2PC (Two-Phase Commit), um die Konsistenz über Partitionen hinweg zu erzwingen. Da ACID jedoch für Konsistenz und Partitionierung sorgt, bedeutet die Anwendung des CAP-Theorems für (verteilte Umgebungen), dass die Verfügbarkeit gefährdet ist.
Aus diesem Grund wird BASE (Grundsätzlich verfügbar, weicher Zustand, eventuell konsistent) verwendet, das eine Skalierbarkeit bietet, die mit ACID nicht erreicht werden kann.
Hoffe das hilft.
quelle
In Bezug auf die Konsistenz des GAP-Theorems schreibt Julian Brown in seinem Artikel ( http://www.julianbrowne.com/article/brewers-cap-theorem ):
Somit würde das C in CAP dem A in ACID entsprechen.
Mit Gilbert und Lynch verweist er auf den Artikel "Seth Gilbert und Nancy Lynch: Brewers Vermutung und die Machbarkeit konsistenter, verfügbarer, partitionstoleranter Webdienste".
quelle