Definition
Ein Theorem in verteilten Systemen, das besagt, dass ein verteiltes Datenspeichersystem bei Auftreten von Netzwerkpartitionen höchstens zwei der drei Zusicherungen gleichzeitig bieten kann: Konsistenz (alle Knoten sehen dieselben Daten zur gleichen Zeit), Verfügbarkeit (jede Anfrage erhält eine Antwort) und Partitionstoleranz (das System funktioniert trotz Nachrichtenverlust oder Netztrennung weiter).
Prinzip
Prinzip
Unter asynchronen Netzwerken, in denen Partitionen auftreten können, müssen Entwickler zwischen Konsistenz und Verfügbarkeit abwägen, solange eine Partition besteht; man kann nicht in allen Fehlerszenarien alle drei Eigenschaften gleichzeitig garantieren.
Demonstration
Demonstration
Trennt eine Netzwerkkluft einen Cluster in zwei Hälften, kann ein replizierter Schlüssel‑Wert‑Speicher, der auf beiden Seiten verfügbar bleibt, divergente Werte zurückgeben (verfolgt Verfügbarkeit und Partitionstoleranz), während ein strikt konsistenter Speicher auf einer Seite Anfragen ablehnen kann, bis die Partition behoben ist (verfolgt Konsistenz und Partitionstoleranz).
Fehlanwendung
Fehlanwendung
CAP so zu interpretieren, dass ein System niemals Konsistenz und Verfügbarkeit bieten kann; oder die CAP‑Kategorien mit Latenz, Dauerhaftigkeit oder differenzierten Konsistenzmodellen wie eventual oder kausaler Konsistenz zu verwechseln.
Konsequenz
Konsequenz
Leitet Architekturentscheidungen für verteilte Systeme: bei Partitionsrisiko wählt man CP (Konsistenz+Partitionstoleranz), um Korrektheit zu priorisieren, oder AP (Verfügbarkeit+Partitionstoleranz), um das Beantworten von Anfragen zu priorisieren; CA ist nur möglich, wenn Partitionen nicht auftreten oder ignoriert werden können.
Umkehrung
Umkehrung
In einem perfekt zuverlässigen Netzwerk ohne Partitionen kann ein System sowohl konsistent als auch verfügbar (CA) sein, aber reale Netze sind fehlerhaft, daher muss Partitionstoleranz in praktischen Entwürfen berücksichtigt werden.
Abgrenzung
Abgrenzung
Die formale Aussage gilt für das Modell, das Netzwerkpartitionen erlaubt, und für binäre Auffassungen von Konsistenz und Verfügbarkeit; sie quantifiziert keine Grade von Konsistenz und schreibt keine konkreten Mechanismen vor—praktische Systeme nutzen abgeschwächte Konsistenz, partielle Verfügbarkeit, Retries und andere Techniken außerhalb der binären CAP‑Einteilung.
Semantische Spannung
Semantische Spannung
Spannungen bestehen zwischen der groben CAP‑Trichotomie und reicheren modernen Konsistenz‑Taxonomien (z. B. eventual, causal, strong) sowie zwischen theoretischen Worst‑Case‑Partitionen und typischem Betriebsverhalten; Designer müssen CAP‑Entscheidungen in anwendungsbezogene Anforderungen und beobachtbare Kompromisse übersetzen.
Synthese
Synthese
Das CAP‑Theorem formt den grundlegenden Kompromiss im Design verteilter Systeme: wenn Partitionen möglich sind, kann man nicht gleichzeitig Konsistenz, Verfügbarkeit und Partitionstoleranz garantieren, daher müssen Architekten entscheiden, welche Zusicherungen zu priorisieren sind oder praktische, abgeschwächte Modelle wählen, die einen Ausgleich herstellen.