Was ist das CAP-Theorem in der Informatik?
What is CAP theorem in computer science?
The CAP theorem, also named Brewer's theorem, states that distributed data stores can provide only two of three guarantees: consistency, availability, and partition tolerance. When a network partition fails, it must be decided whether to cancel the operation or proceed with the operation. Eric Brewer argues that the "two out of three" concept can be misleading.
Das CAP-Theorem, auch Brewer's Theorem genannt, besagt, dass verteilte Datenspeicher nur zwei von drei Garantien bieten können: Konsistenz, Verfügbarkeit und Partitionstoleranz. Wenn eine Netzwerkpartition ausfällt, muss entschieden werden, ob der Vorgang abgebrochen oder fortgesetzt werden soll. Eric Brewer argumentiert, dass das Konzept "zwei von drei" irreführend sein kann.
summarization
In der theoretischen Informatik besagt das CAP-Theorem, das nach dem Informatiker Eric Brewer auch Brewer's Theorem genannt wird, dass jeder verteilte Datenspeicher nur zwei der folgenden drei Garantien bieten kann:

Konsistenz
Jeder Lesevorgang erhält den letzten Schreibvorgang oder einen Fehler.
Verfügbarkeit
Jede Anfrage erhält eine (fehlerfreie) Antwort, ohne die Garantie, dass sie den letzten Schreibvorgang enthält.
Teilungstoleranz
Das System funktioniert weiter, obwohl eine beliebige Anzahl von Nachrichten im Netzwerk zwischen den Knotenpunkten unterbrochen (oder verzögert) wird.
Wenn eine Netzwerkpartition ausfällt, muss entschieden werden, ob eine der folgenden Maßnahmen ergriffen werden soll:

den Vorgang abbrechen und damit die Verfügbarkeit verringern, aber die Konsistenz sicherstellen
den Vorgang fortsetzen und damit die Verfügbarkeit gewährleisten, aber Inkonsistenz riskieren.

Wenn es also eine Netzwerkpartition gibt, muss man sich zwischen Konsistenz und Verfügbarkeit entscheiden. Beachte, dass sich die im CAP-Theorem definierte Konsistenz von der Konsistenz unterscheidet, die in ACID-Datenbanktransaktionen garantiert wird.

Eric Brewer argumentiert, dass das oft verwendete "zwei aus drei"-Konzept etwas irreführend sein kann, weil Systemdesigner nur bei Vorhandensein von Partitionen auf Konsistenz oder Verfügbarkeit verzichten müssen, Partitionen aber in vielen Systemen selten sind.
de