Replikation & Konsistenz II Flashcards
(34 cards)
Was sind die Faktoren für die Platzierung der Replikatserver ?
minimiere Abstände Server ⟷ Clients
Abstand: Latenz, Bandbreite
Wie geht der Greedy - Algorithmus vor um den optimalen Ort für die Platzierung der Replikatserver zu bestimmen ?
Bestimmt Abstand der Clients von den Standorten, stellt Solange Server an Standorte mit dem geringsten Durchschnittsabstand bis alle Server verteilt sind.
Wie geht der Autonome-Systeme-Ansatz vor um den optimalen Ort für die Platzierung der Replikatserver zu bestimmen ?
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, …
Was ist ein Autonomes System im Bezug auf den Autonome-Systeme-Ansatz ?
Internet besteht aus sog. Autonomen Systemen (AS), d.h. Netze, die
• dasselbe IP-Routing-Protokoll verwenden
• von einer Organisation verwaltet werden.
Wie geht der HotZone-Ansatz vor um den optimalen Ort für die Platzierung der Replikatserver zu bestimmen ?
Teil Netz in Zellen auf,
sucht Client-Cluster, d.h. Zellen mit vielen Clients und platziert Replikatserver in K größten Clustern
Welcher Algorithmus ist am besten für dynamische Platzierung bei Flash Crowds geeignet ?
HotZone-Ansatz, da Laufzeit nur O(N ⋅ max(log(N), k))
Welche Arten von Replikaten gibt es ?
- Permanente Replikate
- Server-initiierte Replikate
- Client-initiierte Replikate
Was sind Permanente Replikate ?
Grundlegende Menge von Replikaten, die meist beim Design eines Datenspeichers schon angelegt werden
Welche Varianten von permanenten Replikaten existieren ?
- transparent repliziert (Client merkt nichts von der Replikation)
- Mirroring (Client sucht bewusst ein Replikat aus)
Was sind Server-initiierte Replikate ?
Kurzfristig initiierte Replikate die bei hohem Bedarf eines Datums erstellt werden (meist in der Netzregion, in der der Bedarf auftritt )
Was ist die Voraussetzung dafür, Permanente Replikate mit Server-initiierten Replikaten zu ersetzen ?
Server-initiierte Replikate können permanente Replikas ersetzen, wenn garantiert ist, dass
jedes Datum immer von mindestens einem Server vorrätig gehalten wird
Was passiert mit den Daten bei einem Client-Initiierten Replikat ?
Daten werden meist für begrenzte Zeit in einem vom Client verwalteten Chache gespeichert
Was ist der einzige Zweck von Client-Initiierten Replikaten ?
Verbesserung der Datenzugriffszeiten
Was bedeutet es, wenn Updates an den Daten mittels Push propagiert werden ?
Server Schickt Updates nach einer Änderung an alle Clientcaches
Wann nutzen wir das Updaten per Push ?
- Wir benötigen einen hohen grad an Konsistenz
- viele Lese- vs. wenig Schreiboperationen
Was bedeutet es, wenn Updates an den Daten mittels Pull propagiert werden ?
Server bzw. Clients fragen nach Updates für die Daten
Wann nutzen wir das Updaten per Pull ?
gut bei wenig Lese- vs. viele Schreiboperationen oder wenn
geringe Kohärenz erforderlich
Was bedeutet es, wenn Updates an den Daten mittels Leases propagiert werden ?
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.
Was wird benötigt um die verschiedenen Konsitenzmodelle zu implementieren ?
Protokolle, mit deren Hilfe sich die
verschiedenen Replika-Server abstimmen
Worin werden die Konsistenzprotokolle unterteilt ?
In datenzentrierte Konsistenzprotokolle und clientzentierte Konsistenzprotokolle
Welche grundlegenden Ansätze Existieren für datenzentrierte Konsistenzprotokolle ?
‣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
Welche Protokolle existieren, die Urbildbasiert sind ?
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
Wie erfolgt eine Änderung bei dem Remote-Write-Protokoll ?
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
Was ist das Problem der Remote-Write-Protokolle ?
Performance, deshalb wird auch non-blocking Update eingesetzt (aber hier wieder Problem mit Fehlertoleranz)