Replikation & Konsistenz I Flashcards
Was bedeutet Replikation ?
Mehrere Kopien eines Datums werden vorgehalten.
Ein Prozess, der auf dieses Datum zugreifen will, kann auf jede beliebige Replika zugreifen.
Was sind die Ziele von Replikation ?
- Steigerung der Verlässlichkeit eines Dienstes bzw. der
Verfügbarkeit eines Datums - Steigerung der Leistungsfähigkeit des Zugriffs auf ein Datum
Inwiefern erfolgt eine Steigerung der Verlässlichkeit bei Replikaten ?
- Wenn ein Replikat nicht mehr verfügbar ist, können andere verwendet werden.
- Besserer Schutz gegen zerstörte/gefälschte Daten:
gleichzeitiger Zugriff auf mehrere Replikate, das Ergebnis der Mehrheit wird verwendet
Inwiefern erfolgt eine Steigerung der Leistungsfähigkeit bei Replikaten ?
Bei großen Systemen: Verteilung der Replikate in
verschiedene Netzregionen oder einfache Vervielfachung der Server an einem Ort
Was ist das Problem der Replikation ?
Die Replikas müssen konsistent gehalten werden.
Was ist das Problem bzw. das Dilemma von Strikter Konsistenz beim Replizieren ?
Lösungen zur strikten Konsistenzhaltung beeinflussen die Leistungen des Gesamtsystems negativ, was dem eigentlichen Zweck von Replikation (bessere Skalierbarkeit und damit bessere Leistung) wiederspricht.
Was ist ein Konsistenzmodell ?
Legt fest, in welcher Reihenfolge die (verteilten)
Schreiboperationen von lesenden Prozessen gesehen werden.
Was sind die Probleme strikter Konsistenz ?
- Bestimmung des letzten Write in Abwesenheit von globaler Uhr
- Aufwand zur Konsistenzerhaltung
Welche Ansätze für Konsistenzmodelle gibt es ?
Datenzentrierte Konsistenzmodelle:
• Sicht des Datenspeichers, geeignet für parallele
Schreibzugriffe
Client-zentrierte Konsistenzmodelle:
• Sicht des Client, weniger starke Annahmen, insbesondere
keine gleichzeitigen Updates
Was bedeutet Strikte Konsistenz ?
Jedes Read liefert als Ergebnis
den Wert der global letzten Write-Operation.
Was bedeutet Sequentielle Konsistenz ?
Ergebnisse der Reads
entsprechen der Ausführung aller Operationen in irgendeiner sequentiellen Abfolge, wobei die lokalen Reihenfolgen erhalten bleiben müssen.
Was bedeutet Kausale Konsistenz ?
Write-Operationen, die potentiell
in einem kausalen Verhältnis stehen, müssen von allen
Prozessen in derselben Reihenfolge gesehen werden. Andere Operationen können von unterschiedlichen Prozessen in unterschiedlicher Reihenfolge gesehen werden.
Was bedeutet FIFO-Konsistenz ?
Schreibzugriffe einzelner Prozesse
werden von allen Prozessen in korrekter Reihenfolge
gesehen, Schreibzugriffe verschiedener Prozesse können in unterschiedlicher Reihenfolge gesehen werden (auch wenn kausaler Zusammenhang bestehen könnte).
Was sind die Vorteile der FIFO-Konsistenz ?
- einfache Implementierung
- vollständig nebenläufiges Lesen und Schreiben
- lokaler Prozess wird nicht aufgehalten -> Aktualisierungsnachrichten können nacheinander (asynchron) verschickt werden
Was sind die Nachteile der FIFO-Konsistenz ?
- schwach konsistentes Verhalten kann für Anwendung
inakzeptabel sein