Replikation & Konsistenz I Flashcards

1
Q

Was bedeutet Replikation ?

A

Mehrere Kopien eines Datums werden vorgehalten.

Ein Prozess, der auf dieses Datum zugreifen will, kann auf jede beliebige Replika zugreifen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die Ziele von Replikation ?

A
  • Steigerung der Verlässlichkeit eines Dienstes bzw. der
    Verfügbarkeit eines Datums
  • Steigerung der Leistungsfähigkeit des Zugriffs auf ein Datum
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Inwiefern erfolgt eine Steigerung der Verlässlichkeit bei Replikaten ?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Inwiefern erfolgt eine Steigerung der Leistungsfähigkeit bei Replikaten ?

A

Bei großen Systemen: Verteilung der Replikate in

verschiedene Netzregionen oder einfache Vervielfachung der Server an einem Ort

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist das Problem der Replikation ?

A

Die Replikas müssen konsistent gehalten werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist das Problem bzw. das Dilemma von Strikter Konsistenz beim Replizieren ?

A

Lösungen zur strikten Konsistenzhaltung beeinflussen die Leistungen des Gesamtsystems negativ, was dem eigentlichen Zweck von Replikation (bessere Skalierbarkeit und damit bessere Leistung) wiederspricht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist ein Konsistenzmodell ?

A

Legt fest, in welcher Reihenfolge die (verteilten)

Schreiboperationen von lesenden Prozessen gesehen werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind die Probleme strikter Konsistenz ?

A
  • Bestimmung des letzten Write in Abwesenheit von globaler Uhr
  • Aufwand zur Konsistenzerhaltung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Ansätze für Konsistenzmodelle gibt es ?

A

Datenzentrierte Konsistenzmodelle:
• Sicht des Datenspeichers, geeignet für parallele
Schreibzugriffe

Client-zentrierte Konsistenzmodelle:
• Sicht des Client, weniger starke Annahmen, insbesondere
keine gleichzeitigen Updates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was bedeutet Strikte Konsistenz ?

A

Jedes Read liefert als Ergebnis

den Wert der global letzten Write-Operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was bedeutet Sequentielle Konsistenz ?

A

Ergebnisse der Reads
entsprechen der Ausführung aller Operationen in irgendeiner sequentiellen Abfolge, wobei die lokalen Reihenfolgen erhalten bleiben müssen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was bedeutet Kausale Konsistenz ?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was bedeutet FIFO-Konsistenz ?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind die Vorteile der FIFO-Konsistenz ?

A
  • einfache Implementierung
  • vollständig nebenläufiges Lesen und Schreiben
  • lokaler Prozess wird nicht aufgehalten -> Aktualisierungsnachrichten können nacheinander (asynchron) verschickt werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind die Nachteile der FIFO-Konsistenz ?

A
  • schwach konsistentes Verhalten kann für Anwendung

inakzeptabel sein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist die Motivation für Client-zentrierte

Konsistenzmodelle ?

A

Mobile Clienten wechseln den Ort und verliert dabei Änderungen oder liest nach dem Wechsel ältere Daten von einer anderen Replika

17
Q

Was bedeutet monotones Lesen im Bezug auf Konsistenz ?

A

Wenn ein
Prozess den Wert einer Variable x liest, dann wird
jede weitere Read-Operation desselben Prozesses
denselben oder einen neueren Wert von x liefern.

18
Q

Was ist ein Typisches Einsatzszenario für monotones Lesen ?

A

Szenario: Lesen von verteilter Email-Datenbank
• Benutzer-Mailbox über mehrere Rechner repliziert
• neue Mail wird in irgendeine Kopie eingestellt und nach
und nach repliziert
• Jede Email, die Benutzer gesehen hat, wird er in
anderem Replikat auch wieder sehen.

19
Q

Was bedeutet monotones Schreiben im Bezug auf Konsistenz ?

A

Eine Schreiboperation eines Prozesses in eine Variable X wird abgeschlossen, bevor derselbe Prozesses X
erneut schreiben kann.

20
Q

Was ist ein Typisches Einsatzszenario für monotones Schreiben ?

A

Szenario: Aktualisierung einer Software-Bibliothek
durch neue Funktionen
• Hinzufügen einer Funktion f in einer Replika
• Bevor weitere Funktion g in andere Replika hinzugefügt
wird, wird zuerst f eingefügt.

21
Q

Was bedeutet Read-Your-Writes im Bezug auf Konsistenz ?

A

Das Ergebnis einer
Schreiboperation von x wird für eine anschließende
Leseoperation von x desselben Prozesses stets sichtbar sein.

22
Q

Was sind typische Effekte die Auftreten können wenn keine Read-Your-Writes-Konsistenz verwendet wird ?

A

Typische Effekte ohne R-Y-W-Konsistenz:
• Webseite im Texteditor aktualisiert, Browser zeigt
veraltete Version an.
• Passwort für Online-Shop o.ä. geändert, Zugang erst
nach gewisser Zeit möglich

23
Q

Was bedeutet Writes-Follow-Reads im Bezug auf Konsistenz ?

A

Eine Schreiboperation eines Prozesses von x, die auf eine Leseoperation von x desselben Prozesses folgt, findet auf demselben oder einem aktuelleren Wert von x statt.