Zum Inhalt springen
uencoder

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 partition
    Output
    Choose 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

References