2016-10-24 2 views
-2

CAP-Theorem Definition aus Wikipedia entnommen: https://en.wikipedia.org/wiki/CAP_theoremIst das CAP-Theorem falsch?

Es ist unmöglich, für ein verteiltes Computersystem gleichzeitig alle drei der folgenden Garantien bieten zu:

  • Konsistenz (jede Lese empfängt die jüngste Schreib oder ein Fehler)
  • Verfügbarkeit (jede Anfrage erhält eine Antwort, ohne Gewähr, dass sie die neueste Version der Information enthält)
  • Partition Toleranz (das System weiterhin trotz willkürliche Aufteilung aufgrund von Netzwerkausfälle betreiben)

Mein Gedanke:

Für jedes System mit CA, können sie normal arbeiten, ohne Trennwand. Wenn eine Partition existiert, kann das System auf CP oder AP zurückgreifen, die weiterarbeiten können. Da das System weiterhin arbeiten kann, erfüllt es auch P. Daher ist jedes CA-System auch ein CAP-System. Die Behauptung, dass es nicht möglich ist, dass alle CAP in einem System koexistieren, ist falsch.

+0

Nicht sicher, was ist los mit dieser Frage? Total gültige, wenn auch falsche Theorie. – usr

Antwort

1

C und A bedeuten, dass das System diese Garantien angesichts der Partitionen bietet. Wenn Sie also diese Eigenschaften während einer Partition verlassen, wird die Eigenschaft nicht gehalten.

Der CA-Kompromiss ist nur während einer Partition relevant (weil wir ohne Partitionen P aufgeben und CA erhalten können). Dann müssen Sie sich entscheiden.

Die praktisch relevanten Optionen sind CP vs. AP, da Partitionen immer vorkommen können.

+0

Danke für Ihre Antwort. Meinst du CAP ist ein Staat, da du gesagt hast "ohne Partitionen können wir P aufgeben und CA erhalten"? – netok

+1

CAP ist eine Eigenschaft des Systems und für eine Eigenschaft, die es halten muss, muss es immer halten. Eine bessere Formulierung wäre "Wenn wir annehmen, dass es keine Partitionen gibt, sollten wir ein System erstellen, das CA ist, weil wir die Eigenschaft P nicht benötigen." – usr

+0

Also CAP-Theorem ist eigentlich über die Auswahl 1 aus CA, anstatt 2 aus der CAP. Wenn CAP eine Eigenschaft ist, die zu jeder Zeit gelten muss, kann das CA-System bei Vorhandensein von Partitionen seine Garantien nicht beibehalten. Danke, dass du meine Verwirrung geklärt hast. – netok