Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere...
-
Upload
johanna-egger -
Category
Documents
-
view
213 -
download
0
Transcript of Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere...
![Page 1: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/1.jpg)
vs5 1
5 Verteilte Datenverwaltung
![Page 2: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/2.jpg)
vs5 2
Situation: Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt,
z.B. Fragmentierung: in mehrere Fragmente aufgeteilt Replikation: in mehreren Kopien gespeichert Mischformen von Fragmentierung und Replikation
„zusammengehörig“: gewisse Konsistenz-Eigenschaften,beschrieben durch Invariante,z.B. bei Replikation: „alle Kopien gleich“
Motivation: (Replikation:) Verfügbarkeit – schnell und ausfallsicher(Fragmentierung:) Lastverteilung, Parallelarbeit u.a.
(z.B. verteilte Datenbank, verteiltes Dateisystem, verteilter Namensdienst, . . . . .)
![Page 3: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/3.jpg)
vs5 3
Nichtverteilter Datenbestand:
bestimmte Station/Prozess fungiert als zuständiger Verwalter (Träger, host, Anbieter, server) des Datenbestands,
nimmt von Klienten-Prozessen (clients) Nachrichten entgegen, die zum Lesen und/oder Modifizieren auffordern,
antwortet gegebenenfalls mit gelesenen Werten.
![Page 4: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/4.jpg)
vs5 4
Abstraktion: Verteiltes Objekt,bestehend aus mehreren Teilen (Fragmenten/Kopien), die auf mehrere Anbieter verteilt sind.
Operationen werden von Klienten ausgelöstdurch Nachrichten an Teil(e) des Objekts.
Verteilter Datenbestand:
![Page 5: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/5.jpg)
vs5 5
Invariante ist bedroht durch
lokale Nichtsequentialität Sperrsynchronisation/Transaktionen
verteilte Nichtsequentialität verteilter Ausschluss, verteilte Transaktionen (6)
Reine Replikation: ohne verteilte Transaktionen handhabbar
![Page 6: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/6.jpg)
vs5 6
5.1 Replikationbedeutet
Datenobjekt existiert in mehreren Kopien auf verschiedenen Stationen(copies, replicas)
Vorteile:
Kein Engpaß für zugreifende Klienten Geschwindigkeit
Eventuell sogar schneller lokaler (oder „fastlokaler“) Zugriff Gute Verfügbarkeit (availability) auch wenn eine Kopie (oder mehrere) nicht erreichbar/funktionsfähig (kein „single point of failure“) Fehlertoleranz (fault tolerance) durch „Mehrheitsentscheidung“ bei Fehlverhalten von Kopien
![Page 7: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/7.jpg)
vs5 7
Nachteile:
Die Kopien können nicht zu jedem Zeitpunkt (? keine globale Zeit!) identisch gehalten werden. Ausnahme: replizierte Konstanten, replizierter Code!
Schneller Lesezugriff – auf eine der Kopien – wird mit aufwendigerem Schreibzugriff - auf alle Kopien - erkauft.
![Page 8: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/8.jpg)
vs5 8
Terminologie:
Objekte: programmiersprachliche (z.B. abstrakte) Objekteoder Seiten, Segmente, Dateien, Tabellen in relationalen DB, . . . . .
Verwalter: (server) der Prozeß, der eine Objektkopie verwaltet;auch Replikatverwalter (replica manager)(ist u.U. nichtsequentiell (threaded) )
Verwalter ist typischerweise für mehrereObjekte eines bestimmten Typs zuständig
![Page 9: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/9.jpg)
vs5 9
(Vereinfacht – nur ein Objekt:)
Passive Replikation: Zwecks Modifikation des Objekts werdenOperationsbezeichner und etwaige Argumentean einen Verwalter geschickt, der seine Kopieentsprechend modifiziert und den neuen Wertan alle anderen Verwalter schickt.
Aktive Replikation:Zwecks Modifikation des Objekts werden Operationsbezeichner und etwaige Argumentean alle Verwalter geschickt, die ihre Kopienjeweils entsprechend modifizieren.
(Preisfrage: unter welchen Umständen ist aktiv bzw. passiv besser?)
! Bezug zu Prozeßgruppen und Gruppenkommunikation/Multicast !
![Page 10: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/10.jpg)
vs5 10
5.1.1 Konsistenz replizierter Objekte
Definition von Konsistenz (consistency):
Naive Definition: Kopien sind stets identisch
unerfüllbare Forderung
Sinnvolle Definition: unter Berücksichtigung von Datenabstraktion:Objekt verhält sich so, als sei es nicht repliziert
immer noch starke Forderung – für manche Anwendungen unnötig stark
![Page 11: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/11.jpg)
vs5 11
Konsistenz z.B. erreichbar durch
Sperren des gesamten Objekts oder
verteilte Transaktion auf den Kopien
zu restriktiv und zu aufwendig
Stattdessen:
lokale Sperrsynchronisation bei jeder Kopie(concurrency control)
plus Konsistenzerhaltung mittels geeigneter Rundrufe(consistency control)
![Page 12: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/12.jpg)
vs5 12
Wünschenswerte Eigenschaft 1: Kausalitätstreue:
Eine Folge kausal abhängiger Operationsaufrufeauf einem replizierten Objekt xhat die gleichen Effekte/Ergebnisse wie eine entsprechende sequentielle Ausführung auf einem nichtreplizierten x
(wenn sonst keine weiteren Aufrufe im Spiel sind)
![Page 13: Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.](https://reader036.fdokument.com/reader036/viewer/2022082901/570491c31a28ab14218d9b81/html5/thumbnails/13.jpg)
vs5 13
Wünschenswerte Eigenschaft 2: Unabhängigkeitstreue:
Effekt und Ergebnisse von kausal unabhängigen Operationsaufrufen auf einem replizierten Objekt x sind die gleichen wie bei einernebenläufigen Ausführung auf einem nichtreplizierten x
(z.B. bei zwei Operationen a, b auf einem serialisierbaren Objekt x:„erst a, dann b“ oder „erst b, dann a“)