Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Baldhild Boff Geändert vor über 10 Jahren
1
vs61 6 Verteilte Datenverwaltung
2
vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, 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,...)
3
vs63 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.
4
vs64 Abstraktion:Verteiltes Objekt, bestehend aus mehreren Teilen (Fragmenten/Kopien), die auf mehrere Anbieter verteilt sind. Operationen werden von Klienten ausgelöst durch Nachrichten an Teil(e) des Objekts. Verteilter Datenbestand:
5
vs65 Konsistenz ist bedroht durch lokale Nichtsequentialität (z.B. nebenläufiger Server) Sperrsynchronisation/Transaktionen verteilte Nichtsequentialität verteilter Ausschluss ( 5.4) verteilte Transaktionen ( 7)
6
vs66 6.1 Replikation bedeutet: Datenobjekt existiert in mehreren Kopien auf verschiedenen Stationen (copies, replicas) Vorteile: Kein Engpass für zugreifende Klienten Geschwindigkeit, Skalierbarkeit 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
7
vs67 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.
8
vs68 Terminologie: Objekte:programmiersprachliche Objekte oder Seiten, Segmente, Dateien, Tabellen in relationalen DB,..... Verwalter:(server) der Prozess, der eine Objektkopie verwaltet; auch Replikatverwalter (replica manager) (ist u.U. nichtsequentiell (threaded) ) ist typischerweise für mehrere Objekte eines bestimmten Typs zuständig
9
vs69 Passive Replikation:Bei Änderung einer Kopie wird der neue Wert an alle anderen Verwalter geschickt. Aktive Replikation:Bei Änderung einer Kopie wird der Operations- bezeichner samt Parametern an alle Verwalter geschickt, und diese führen die Operation lokal aus. Kriterien: Objekt- vs. Parametergröße Rechenaufwand der Operation
10
vs610 6.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
11
vs611 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)
12
vs612 Wünschenswerte Eigenschaft 1: Kausalitätstreue: Eine Folge kausal abhängiger Operationsaufrufe auf einem replizierten Objekt x hat die gleichen Effekte/Ergebnisse wie eine entsprechende sequentielle Ausführung auf einem nichtreplizierten x (wenn sonst keine weiteren Aufrufe im Spiel sind)
13
vs613 321321 2121 client pop 3 top 2 nicht repliziert 321321 clientcopy pop 3 client top 3 copy 321321 2121 repliziert
14
vs614 Wünschenswerte Eigenschaft 2: Unabhängigkeitstreue: Effekt und Ergebnisse von kausal unabhängigen Operationsaufrufen auf einem replizierten Objekt x sind die gleichen wie bei einer nebenlä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)
15
vs615 2121 client pop 2 1 nicht repliziert 2121 pop 1 2 oder: 2121 clientcopy pop 2 client pop 2 copy 2121 repliziert 11
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.