Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Seth Gilbert Nancy Lynch Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 1/12
(2) Forderungen an verteilte Web-Services Konsistenz Verfügbarkeit Partitionstoleranz Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 2/12
(2) (2) Drei Sachen auf einmal? Das geht nun wirklich nicht! Solche Systeme zu bauen ist unmöglich Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 3/12
Konsistenz Konsistenz Verfügbarkeit Partitionstoleranz Atomic Consistency (AC) vs. Serializability (SR) Für AC muss gelten: Totale Ordnung der Operationen (eine Operation nach der anderen) Verhält sich wie eine einzige Instanz (trotz Verteilung) Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 4/12
Verfügbarkeit Konsistenz Verfügbarkeit Partitionstoleranz Jede Anfrage (Request) an einen nicht ausgefallenen Knoten muss: Eine Antwort geben Und das in endlicher Zeit (trotz schwerwiegender Netzausfälle) Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 5/12
Partitionstoleranz Konsistenz Verfügbarkeit Partitionstoleranz Partitionstoleranz wird modelliert durch: Knoten sind immer eindeutig einer Partition zugeordnet Nachrichten von einer Partition in eine andere gehen verloren Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 6/12
Behauptung Behauptung Beweisszkizze Was ist möglich? Partiell synchrones Modell Resultat In asynchronen Netzwerken kann kein System gebaut werden, dass alles garantiert: Konsistenz Verfügbarkeit Partitionstoleranz Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 7/12
Beweisszkizze Behauptung Beweisszkizze Was ist möglich? Partiell synchrones Modell Resultat Annahme: es gibt ein solches System Zwei Partitionen G 1 und G 2 Zeitraum α nicht überlappend aufgeteilt in α 1, α 2 In α 1 wird in G 1 AC-Datenelement x überschrieben In α 2 wird in G 2 AC-Datenelement x gelesen Verfügbarkeit zwingt Ergebnisrückgabe der Leseoperation G 2 kann aber nur alten Wert von x zurückgeben (keine Benachrichtigung von G 1 ) Verstoß gegen Konsistenz Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 8/12
Was ist möglich? Behauptung Beweisszkizze Was ist möglich? Partiell synchrones Modell Resultat Choose any two: Konsistenz, Partitionstoleranz Konsistenz, Verfügbarkeit Verfügbarkeit, Partitionstoleranz Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 9/12
Partiell synchrones Modell Behauptung Beweisszkizze Was ist möglich? Partiell synchrones Modell Resultat Synchron heißt hier: Verzögerung kann gemessen werden Ordnung über zentralen Punkt C Read (an Punkt A): Wenn Antwort innerhalb Frist kommt, ausgeben Ansonsten alten Wert ausgeben Write (an Punkt A): Bestätigung ausgeben, wenn Bestätigung von C Time-Out (dann wiederholt an C schicken) Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 10/12
Resultat Behauptung Beweisszkizze Was ist möglich? Partiell synchrones Modell Resultat Partielle Ordnung P Alle Writes werden geordnet (nach Eintreffen bei C) Reads relativ zu den Writes Teilordnung von Reads/Writes in P ist konsistent mit jedem Einzelknoten Zeitspanne t, in der alle Nachrichten ankommen: θ vor t, φ nach t, dann θ < P φ Nennen Autoren t-connected consistent Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 11/12
Zusammenfassung/Ausblick Zusammenfassung/Ausblick Verteiltes System, dass Konsistenz, Verfügbarkeit, Partitionstoleranz wahrt ist nicht möglich Kompromiss zwischen Konsistenz und Verfügbarkeit nötig Noch kein Standardmodell Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services - p. 12/12