CAP-Theorem
Kommunikationsbrüche erzwingen eine Entscheidung zwischen Verfügbarkeit und starker Konsistenz.
- PartitionPartition: Kommunikationsbruch zwischen Knoten.
- KonsistenzKonsistenz: Linearisierbare Sicht auf erfolgreiche Operationen.
- VerfügbarkeitVerfügbarkeit: Jede Anfrage an einen nicht ausgefallenen Knoten erhält eine Antwort.
Einordnung
Warum das wichtig ist
Antwortentscheidungen während einer Partition begründen.
Antwortentscheidungen während einer Partition begründen.
CAP-Theorem: Entscheidung prüfen
Das Shop-Beispiel nutzt die bestehende gemeinsame Datenbank und sieben Module. Jede ergänzte Dienst- oder Betriebsform ist eine hypothetische Erweiterung. Der Shop repliziert Lagerverfügbarkeit über zwei Standorte. Eine Partition trennt sie, während Kunden gleichzeitig reservieren. Das Team legt für Reservierungen fest, dass eine Seite bei fehlender Abstimmung ablehnt, um Doppelreservierungen zu vermeiden; der Produktkatalog darf vorübergehend eine ältere Verfügbarkeit anzeigen. Diese unterschiedliche Reaktion folgt dem jeweiligen Geschäftsrisiko. Ein CAP-Diagramm ersetzt dabei keine genaue Definition der Konsistenzgarantie und des Ausfallmodells.
So liest du das Bild
- Partition Partition
- Konsistenz Konsistenz
- Verfügbarkeit Verfügbarkeit
| Begriff | Bedeutung | Prüffrage |
|---|---|---|
| Partition | Kommunikationsbruch zwischen Knoten. | Wie reagiert der Shop während der Replikationspartition? |
| Konsistenz | Linearisierbare Sicht auf erfolgreiche Operationen. | Welche Garantie wird für Reservierungen priorisiert? |
| Verfügbarkeit | Jede Anfrage an einen nicht ausgefallenen Knoten erhält eine Antwort. | Auf welchen Fall bezieht sich CAP? |
Nutzen & Grenzen
Hilft, wenn
- Antwortentscheidungen während einer Partition begründen.
- Konsistenzgarantie und Antwortverhalten für jede Operation bestimmen.
Grenzen
- CAP bezieht sich auf Partitionen und präzise definierte Garantien.
- Die Wahl hängt von Operation und Partition ab; das CAP-Theorem erklärt keine pauschale Verfügbarkeit im Normalbetrieb.
In der Praxis
- Trenne für Kataloganzeige und verbindliche Lagerreservierung die erwarteten Antworten während einer Netzwerkpartition; benenne für jede Operation Verfügbarkeit und Konsistenz.
- Beschreibe, welche Antwort der Shop bei einer getrennten Replik liefern kann und ob eine erfolgreiche Reservierung eine linearisierbare Bestätigung voraussetzt.
- Prüfe die gewählte Policy für beide Operationen anhand eines Partitions- und Wiedervereinigungstests und dokumentiere, wie divergierende Lagerstände abgeglichen werden.
Ausführliche Erklärung lesen
CAP beschreibt eine Einschränkung verteilter Daten: Während einer Netzwerkpartition kann ein Dienst nicht zugleich linearisierbare Konsistenz und Verfügbarkeit für alle Anfragen garantieren. Partitionstoleranz ist dabei eine Betriebsannahme verteilter Systeme, keine frei abwählbare Eigenschaft.
Die Wahl betrifft die Antworten während des Kommunikationsbruchs: Einige Operationen warten oder scheitern, damit Konsistenz erhalten bleibt; andere antworten weiter und akzeptieren mögliche Divergenz. CAP ist keine allgemeine Dreierauswahl für Systeme ohne Partition und keine Aussage über Skalierbarkeit.
Das Shop-Beispiel nutzt die bestehende gemeinsame Datenbank und sieben Module. Jede ergänzte Dienst- oder Betriebsform ist eine hypothetische Erweiterung. Der Shop repliziert Lagerverfügbarkeit über zwei Standorte. Eine Partition trennt sie, während Kunden gleichzeitig reservieren. Das Team legt für Reservierungen fest, dass eine Seite bei fehlender Abstimmung ablehnt, um Doppelreservierungen zu vermeiden; der Produktkatalog darf vorübergehend eine ältere Verfügbarkeit anzeigen. Diese unterschiedliche Reaktion folgt dem jeweiligen Geschäftsrisiko. Ein CAP-Diagramm ersetzt dabei keine genaue Definition der Konsistenzgarantie und des Ausfallmodells. cap und pacelc helfen, diese Entscheidung mit benachbarten Fragen zu vergleichen.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Wie reagiert der Shop während der Replikationspartition?
Lösung mit Begründung ansehen
Reservierungen werden abgelehnt, der Katalog bleibt lesbar.
AnwendenAuf eine neue Lage übertragen
Welche Garantie wird für Reservierungen priorisiert?
Lösung mit Begründung ansehen
Konsistenz über eine gültige Reservierung statt Verfügbarkeit jeder Schreiboperation.
BewertenEine Alternative abwägen
Auf welchen Fall bezieht sich CAP?
Lösung mit Begründung ansehen
Auf das Verhalten während einer Netzwerkpartition und präzise definierte Garantien.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.
Quellen
- Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services (öffnet in neuem Tab)Formaler Primärbeweis von Gilbert und Lynch.
- Perspectives on the CAP Theorem (öffnet in neuem Tab)Fachliche Einordnung der Definitionen und Reichweite des Theorems.
- Consistency Tradeoffs in Modern Distributed Database System Design (öffnet in neuem Tab)Abadi grenzt CAP-Fehlerfälle vom Zielkonflikt im Normalbetrieb ab.