CAP Theorem
Das CAP-Theorem besagt, dass ein verteiltes System bei einer Netzwerkpartition nur eine der beiden Eigenschaften Konsistenz (C) oder Verfügbarkeit (A) erfüllen kann; alle drei zugleich sind unmöglich.
Zweck
Den grundlegenden Zielkonflikt verteilter Systeme aufzeigen und die Auswahl des Datenspeichers leiten.
Mechanismus
Konsistenz (alle Knoten sehen dieselbe Sicht), Verfügbarkeit (jede Anfrage erhält eine Antwort), Partitionstoleranz (der Betrieb läuft trotz Partitionen weiter). Da Partitionen unvermeidbar sind, liegt die praktische Wahl zwischen CP (starke Konsistenz) und AP (hohe Verfügbarkeit). CP: ZooKeeper, Spanner; AP: Cassandra, DynamoDB.
Anwendungsfälle
- Auswahl verteilter Speicher
- Datenarchitektur für Microservices
- Multi-Region-Deployment-Strategie
- Zielkonflikte zwischen Konsistenz und Verfügbarkeit
Beispiele
- Eingabe
During a network partitionOutputChoose C (reject inconsistency) or A (allow it)CP vs AP
Häufige Fehler
- Believing all three of CAP can be satisfied simultaneously
- Partitions are unavoidable; choose between CP and AP
Verwandte Begriffe
ACID
ACID sind die vier Eigenschaften relationaler Transaktionen: Atomarität (Alles-oder-Nichts), Konsistenz (Constraints gewahrt), Isolation (Nebenläufigkeit ohne Störung), Dauerhaftigkeit (Persistenz nach Commit). GLOSSAR
BASE
BASE ist das schwach konsistente NoSQL-Modell: basically available, soft state, eventually consistent; es tauscht starke Konsistenz gegen Verfügbarkeit und Skalierbarkeit. GLOSSAR
NoSQL
NoSQL ist der Oberbegriff für nichtrelationale Datenbanken, darunter Dokument-, Key-Value-, Spaltenfamilien- und Graphmodelle, entworfen für Skalierbarkeit und flexible Schemata. GLOSSAR