Replikation & Konsistenz II Flashcards

1
Q

Was sind die Faktoren für die Platzierung der Replikatserver ?

A

minimiere Abstände Server ⟷ Clients

Abstand: Latenz, Bandbreite

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

Wie geht der Greedy - Algorithmus vor um den optimalen Ort für die Platzierung der Replikatserver zu bestimmen ?

A

Bestimmt Abstand der Clients von den Standorten, stellt Solange Server an Standorte mit dem geringsten Durchschnittsabstand bis alle Server verteilt sind.

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

Wie geht der Autonome-Systeme-Ansatz vor um den optimalen Ort für die Platzierung der Replikatserver zu bestimmen ?

A

Berücksichtigt Topologie des Internets.

Platziert 1. Server in größtem AS, auf Router mit den meisten Verknüpfungen, 2. Server in zweitgrößtem AS, …

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

Was ist ein Autonomes System im Bezug auf den Autonome-Systeme-Ansatz ?

A

Internet besteht aus sog. Autonomen Systemen (AS), d.h. Netze, die
• dasselbe IP-Routing-Protokoll verwenden
• von einer Organisation verwaltet werden.

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

Wie geht der HotZone-Ansatz vor um den optimalen Ort für die Platzierung der Replikatserver zu bestimmen ?

A

Teil Netz in Zellen auf,

sucht Client-Cluster, d.h. Zellen mit vielen Clients und platziert Replikatserver in K größten Clustern

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

Welcher Algorithmus ist am besten für dynamische Platzierung bei Flash Crowds geeignet ?

A

HotZone-Ansatz, da Laufzeit nur O(N ⋅ max(log(N), k))

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

Welche Arten von Replikaten gibt es ?

A
  • Permanente Replikate
  • Server-initiierte Replikate
  • Client-initiierte Replikate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind Permanente Replikate ?

A

Grundlegende Menge von Replikaten, die meist beim Design eines Datenspeichers schon angelegt werden

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

Welche Varianten von permanenten Replikaten existieren ?

A
  • transparent repliziert (Client merkt nichts von der Replikation)
  • Mirroring (Client sucht bewusst ein Replikat aus)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind Server-initiierte Replikate ?

A

Kurzfristig initiierte Replikate die bei hohem Bedarf eines Datums erstellt werden (meist in der Netzregion, in der der Bedarf auftritt )

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

Was ist die Voraussetzung dafür, Permanente Replikate mit Server-initiierten Replikaten zu ersetzen ?

A

Server-initiierte Replikate können permanente Replikas ersetzen, wenn garantiert ist, dass
jedes Datum immer von mindestens einem Server vorrätig gehalten wird

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

Was passiert mit den Daten bei einem Client-Initiierten Replikat ?

A

Daten werden meist für begrenzte Zeit in einem vom Client verwalteten Chache gespeichert

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

Was ist der einzige Zweck von Client-Initiierten Replikaten ?

A

Verbesserung der Datenzugriffszeiten

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

Was bedeutet es, wenn Updates an den Daten mittels Push propagiert werden ?

A

Server Schickt Updates nach einer Änderung an alle Clientcaches

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

Wann nutzen wir das Updaten per Push ?

A
  • Wir benötigen einen hohen grad an Konsistenz

- viele Lese- vs. wenig Schreiboperationen

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

Was bedeutet es, wenn Updates an den Daten mittels Pull propagiert werden ?

A

Server bzw. Clients fragen nach Updates für die Daten

17
Q

Wann nutzen wir das Updaten per Pull ?

A

gut bei wenig Lese- vs. viele Schreiboperationen oder wenn

geringe Kohärenz erforderlich

18
Q

Was bedeutet es, wenn Updates an den Daten mittels Leases propagiert werden ?

A

Hybrid aus Push und Pull, bei der während der Laufzeit eines Leases Daten an den jeweiligen Client per Push übertragen werden. Hat ein Client keine Lease, muss er über Pulls nach Updates fragen.

19
Q

Was wird benötigt um die verschiedenen Konsitenzmodelle zu implementieren ?

A

Protokolle, mit deren Hilfe sich die

verschiedenen Replika-Server abstimmen

20
Q

Worin werden die Konsistenzprotokolle unterteilt ?

A

In datenzentrierte Konsistenzprotokolle und clientzentierte Konsistenzprotokolle

21
Q

Welche grundlegenden Ansätze Existieren für datenzentrierte Konsistenzprotokolle ?

A

‣Urbildbasierte Protokolle (Primary-based Protocols)
• Write-Operationen gehen immer an dieselbe Kopie
• auch: Urbildsicherungsprotokolle (Primary Backup Protocols)

‣ Protokolle für replizierte Schreibvorgänge (ReplicatedWrite Protocols)
• Write-Operationen gehen an beliebige Kopien

22
Q

Welche Protokolle existieren, die Urbildbasiert sind ?

A

Wenn alle Write-Operationen immer nur an eine Kopie gehen, kann man unterscheiden, ob die Primärkopie
• immer am selben entfernten Platz bleibt
→ Remote-Write-Protokolle
• zu dem schreibenden Client verlagert wird
→ Local-Write-Protokolle

23
Q

Wie erfolgt eine Änderung bei dem Remote-Write-Protokoll ?

A

Wenn Client Datum x ändern möchte:
• lokaler Server S leitet Änderung an Urbildserver U weiter
• U macht Änderung, informiert alle Kopien
• Jede Kopie macht Änderung, sendet ACK an U
• Nachdem alle ACKs eingetroffen: U sendet ACK an S

24
Q

Was ist das Problem der Remote-Write-Protokolle ?

A
Performance, deshalb wird auch non-blocking
Update eingesetzt (aber hier wieder Problem mit Fehlertoleranz)
25
Q

Für welches Konsistenzmodell eigenet sich Remote-Write-Protokolle ?

A

Beste Umsetzung für sequentielle Konsistenz

26
Q

Was besagt das Local-Write-Protokoll ?

A

Jeder Prozess, der ein Update ausführen will, lokalisiert das Urbild und bewegt dieses an seinen eigenen Platz.

27
Q

Wieso eignet sich das Local-Write-Protokoll besonders für mobile Benutzer ?

A

Der Benutzer holt sich das Urbild, kann danach aber auch bei Verbindungsabbruch ohne Probleme mit den Daten arbeiten

28
Q

Welche Ansätze existieren für replizierendes Schreiben ?

A
  • Aktive Replikation: eine Operation wird an alle Replikas weitergegeben
  • Quorum-basiert: es wird abgestimmt, die Mehrheit gewinnt
29
Q

Wie erfolgt das Update bei Aktiver Replikation ?

A

Jede Replika besitzt einen Prozess, der Updates durchführt.
‣ Updates werden meist als Operation propagiert.
‣ Wichtigstes Problem: alle Updates müssen auf allen Replikas in derselben Reihenfolge ausgeführt werden
→ es wird Multicast mit totaler Ordnung benötigt (kann mittels Lamport-Uhr implementiert werden)

30
Q

Was ist der Nachteil der Aktiven Replikation ?

A

skaliert schlecht

31
Q

Was ist die Grundidee von Quorum-basierte Protokollen ?

A

Clients müssen vor Lese- oder

Schreiboperation Erlaubnis mehrerer Server einholen

32
Q

Wie funktionieren Qurom-basierte Protokolle konkret ?

A

• Angenommen, es gibt N Replikate des Datum X
• X besitzt Versionsnummer
• Schreibprozess benötigt Schreiberlaubnis von NW Servern
• NW > N/2 → verhindert Schreib/Schreib-Konflikte
• Leseprozess benötigt Leseerlaubnis von NR Servern
• NW + NR > N → garantiert, dass Quorum mindestens eine
Kopie der neuesten Version enthält

33
Q

Für welche Konsistenzarten werden Client-zentrierte Konsistenzprotokolle verwendet ?

A
  • Konsistenz für monotones Lesen
  • Konsistenz monotones Schreiben
  • Read-Your-Writes-Konsistenz
  • Writes-Follow-Reads-Konsistenz
34
Q

Was sind die Vorraussetzungen für Client-zentrierte Konsistenzprotokolle ?

A

‣Jedem Schreibvorgang W wird eine global eindeutige ID zugewiesen;
‣ Pro Client C werden zwei Reihen von Schreibvorgängen überwacht:
1. Lesevorgangsreihe: Schreibvorgänge (aller), die für Lesevorgänge von C relevant sind;
2. Schreibvorgangsreihe: Schreibvorgänge von C