CAP-Theorem

Problem

Zwei Datenbankknoten verlieren die Kommunikation miteinander. Beide erhalten weiterhin Anfragen. Jetzt stehen Sie vor einer grundlegenden Entscheidung: Sollten beide weiter antworten, auch wenn sie anderer Meinung sind? or: Sollten einige Anfragen fehlschlagen, bis die Kommunikation zurückkehrt?

Lösung — CAP-Abwägung

CAP steht für: Consistency (Konsistenz): Lesezugriffe zeigen den zuletzt abgeschlossenen Schreibzugriff. Availability (Verfügbarkeit): Funktionsfähige Knoten beantworten Anfragen erfolgreich. Partition tolerance (Partitionstoleranz): Das System bewältigt unterbrochene Kommunikation zwischen Knoten. Während einer Netzwerkaufteilung bedeutet die Gewährleistung der Verfügbarkeit, potenziell unterschiedliche Antworten zu akzeptieren. Eventual Consistency ist ein Umgang mit dieser Abwägung: Knoten beantworten weiterhin Anfragen und gleichen ihre Daten samt Konfliktauflösung ab, sobald die Verbindung wiederhergestellt ist.
Kerngedanke: Netzwerkpartitionen zwingen verteilte Systeme zu entscheiden, welche Garantie für betroffene Operationen wichtiger ist.