ScholarGate
Assistent

CAP- und Konsistenzmodelle

Konsistenzmodelle definieren, welche Garantien ein repliziertes System hinsichtlich der von Lesezugriffen zurückgegebenen Werte bietet, und das CAP-Theorem begrenzt, welche dieser Garantien unter Netzwerkpartitionen mit Verfügbarkeit koexistieren können.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein Konsistenzmodell ist ein Vertrag zwischen einem replizierten Datenspeicher und seinen Clients, der die zulässigen Ergebnisse gleichzeitiger Lese- und Schreibvorgänge spezifiziert; das CAP-Theorem besagt, dass ein verteiltes Datenspeichersystem bei Vorhandensein einer Netzwerkpartition nicht gleichzeitig linearisierbare Konsistenz und Verfügbarkeit bieten kann.

Scope

Dieses Thema behandelt die formalen Konsistenzmodelle – Linearisierbarkeit, sequentielle Konsistenz, kausale Konsistenz und Eventual Consistency – und deren Stärkeordnung; das CAP-Theorem sowie dessen präzise Formulierung und Beweis; und Verfeinerungen wie PACELC, die auch den Latenz-Konsistenz-Kompromiss bei fehlenden Partitionen berücksichtigen. Es liefert das Vokabular zur Spezifikation und zum Vergleich von Garantien replizierter Systeme.

Core questions

  • Wie unterscheiden sich Linearisierbarkeit, sequentielle, kausale und Eventual Consistency in ihrer Stärke?
  • Was genau verbietet das CAP-Theorem und was erlaubt es?
  • Wie verfeinern Latenzüberlegungen den Konsistenz-Kompromiss, wenn keine Partition vorliegt?

Key theories

Linearisierbarkeit und sequentielle Konsistenz
Linearisierbarkeit erfordert, dass jede Operation atomar zu einem Zeitpunkt zwischen ihrer Aufrufung und Antwort wirksam wird, konsistent mit der Echtzeit; sequentielle Konsistenz verzichtet auf die Echtzeitanforderung und verlangt lediglich eine einzige gültige Interleaving, die die Reihenfolge jedes Prozesses respektiert.
Das CAP-Theorem
Gilbert und Lynch bewiesen, dass kein repliziertes Datenspeichersystem sowohl linearisierbare Konsistenz als auch Verfügbarkeit garantieren kann, wenn das Netzwerk Nachrichten zwischen Replikaten verlieren kann, was während Partitionen eine Wahl erzwingt.
PACELC-Verfeinerung
PACELC erweitert CAP, indem es feststellt, dass ein System auch ohne Partition Latenz gegen Konsistenz eintauscht, sodass Designs durch ihr Verhalten sowohl während Partitionen als auch im Normalbetrieb charakterisiert werden.

Clinical relevance

Jede verteilte Datenbank und jeder Speicherdienst muss ein Konsistenzmodell deklarieren, und die CAP- und PACELC-Kompromisse erklären, warum einige Systeme die Verfügbarkeit priorisieren, während andere die Konsistenz priorisieren; deren Verständnis ist für die Auswahl und den Betrieb von Dateninfrastrukturen unerlässlich.

History

Lamport definierte die sequentielle Konsistenz 1979, und Herlihy und Wing formalisierten die Linearisierbarkeit 1990; Brewer vermutete den CAP-Kompromiss im Jahr 2000, Gilbert und Lynch bewiesen ihn 2002, und Abadis Neufassung von PACELC im Jahr 2012 verdeutlichte, dass Latenz, nicht nur Partitionen, die Konsistenzentscheidungen beeinflusst.

Debates

Wird CAP oft falsch interpretiert?
CAP wird häufig als „wähle zwei von drei“ zusammengefasst, aber das präzise Ergebnis erzwingt eine Konsistenz-Verfügbarkeits-Wahl nur während einer Partition; Kritiker argumentieren, dass diese Vereinfachung den relevanteren alltäglichen Latenz-Konsistenz-Kompromiss, der von PACELC erfasst wird, verschleiert.

Key figures

  • Eric Brewer
  • Seth Gilbert
  • Nancy Lynch
  • Maurice Herlihy
  • Jeannette Wing
  • Leslie Lamport

Related topics

Seminal works

  • gilbert2002
  • herlihy1990
  • lamport1979

Frequently asked questions

Bedeutet CAP, dass ein System immer nur zwei von Konsistenz, Verfügbarkeit und Partitionstoleranz haben kann?
Nicht ganz. Partitionen sind eine Tatsache von Netzwerken, keine Designentscheidung, daher ist die eigentliche Entscheidung, was während einer Partition zu tun ist: starke Konsistenz opfern, um verfügbar zu bleiben, oder Verfügbarkeit opfern, um konsistent zu bleiben. Wenn keine Partition vorliegt, kann ein System sowohl konsistent als auch verfügbar sein.

Methods for this concept

Related concepts