Vert. Systeme | Kap 1-4
Lösungen der Kapitelfragen aus Schill/Springer - Verteilte Systeme, 2. Auflage, Springer Vieweg
Lösungen der Kapitelfragen aus Schill/Springer - Verteilte Systeme, 2. Auflage, Springer Vieweg
-
- 1 / 8
-
Lernkarten
Kap4 Aufgabe 7: Warum müssen die Sperren abgeschlossener Teiltransaktionen bei geschachtelten verteilten Transaktionen bis zum Abschluss der Gesamttransaktion gehalten werden?
Bei geschachtelten verteilten Transaktionen besteht auch für bereits erfolgreich abgeschlossene Teiltransaktionen noch die Möglichkeit des Zurückrollens, etwa aufgrund eines Fehlers in einer weiteren Teiltransaktion, der das Zurückrollen der gesamten Transaktion auslösen kann. Werden Sperren nicht bis zum Abschluss der Gesamttransaktion aufrechterhalten, könnten andere Transaktionen auf die Ergebnisse bereits abgeschlossener Teiltransaktionen anderer verschachtelter Transaktionen zugreifen und diese auch modifizieren. Müssen nun mit der Gesamttransaktion auch erfolgreich abgeschlossene Teiltransaktionen zurückgerollt werden, kann dies ein kaskadiertes Zurückrollen zur Folge haben, da andernfalls die Eigenschaft der Isolation nicht für die Gesamttransaktion gewahrt werden würde.
Kap4 Aufgabe 2:
Welche entscheidenden Einschränkungen gelten für JDBC im Vergleich zu einem voll ausgebauten Transaktionsmonitor?
JDBC ist eine Java-basierte Lösung für den entfernten Datenbankzugriff. In der Regel kann jedoch nur jeweils eine Datenbank in die Transaktionen einbezogen werden, es ist keine Abstimmung zwischen verteilten Transaktionsteilnehmern möglich. Außerdem werden nur datenbankinterne Operationen in Transaktionen einbezogen, nicht aber die Verarbeitung, etwa bestimmte Methoden. Darüber hinaus gilt die Beschränkung auf Java-basierte Umgebungen.
Kap4 Aufgabe 1: Nennen Sie die grundlegenden Eigenschaften einer Transaktion! Müssen diese Eigenschaften auch in vollem Umfang für verteilte Transaktionen gelten?
Mit Hilfe von Transaktionen können für komplexe Operationen zur Bearbeitung persistenter Daten die so genannten ACID-Eigenschaften sichergestellt werden. Dies sind Atomizität, Konsistenz, Isolation und Dauerhaftigkeit.
Verteilte Transaktionen stellen diese Eigenschaften für Operationen in Verteilten Systemen sicher, die auch im verteilten Fall in vollem Umfang erfüllt werden müssen.
Kap4 Aufgabe 3: Zum Abschluss verteilter Transaktionen wird das Zwei-Phasen-Commit-Protokoll eingesetzt.
b. Wie wird auf den Ausfall eines Teilnehmers reagiert, wenn dieser bereits erfolgreich eine Ready-Nachricht versendet hat und alle weiteren Teilnehmer sowie der Koordinator ebenfalls mit Ready geantwortet haben?
Fällt ein Teilnehmer aus, nachdem dieser bereits eine Ready-Nachricht versendet hat, kann der Koordinator die Transaktion mit Commit erfolgreich abschließen, wenn alle anderen Teilnehmer mit Ready geantwortet haben und auch beim Koordinator alles erfolgreich verlaufen ist. Daraufhin versendet der Koordinator an alle Teilnehmer eine Commit-Nachricht, die daraufhin die Transaktion erfolgreich abschließen, Sperren freigeben und Zwischenstände von Daten verwerfen können. Damit ist ein Rollback nicht mehr möglich. Der ausgefallene Teilnehmer stellt nun nach dem Wiederanlaufen fest, dass die zugehörige Transaktion noch nicht abgeschlossen wurde und ein Commit bzw. Rollback des Koordinators noch aussteht. Deshalb fragt der Teilnehmer beim Koordinator nach dem Zustand der Transaktion. Dieser teilt den erfolgreichen Abschluss der Transaktion mit, worauf der Teilnehmer die Transaktion ebenfalls abschließen kann.
Kap4 Aufgabe 4: Erläutern Sie, warum auf der Basis verteilter Transaktionen eine exactly-once RPC-Semantik erzielt werden kann!
Die exactly-once RPC-Semenatik fordert, dass ein RPC-Aufruf genau einmal ausgeführt wird und das Ergebnis dann beim Client vorliegt. Dies wird durch die ACID-Eigenschaften, insbesondere die Atomizität, verteilter Transaktionen sichergestellt. Die übergreifende Konsistenz wird dabei durch das Zwei-Phasen-Commit-Protokoll sichergestellt. Nachrichtenverluste und duplizierte Nachrichten können etwa durch entsprechende Timeouts sowie Sequenznummern erkannt und behandelt werden. Ausfälle der Rechner verschiedener Teilnehmer können durch das Aufgreifen des lokalen Zustands der Transaktion nach einem Wiederanlaufen des Rechners kompensiert werden.
Kap4 Aufgabe 5: Welche Vor- und Nachteile besitzen optimistische gegenüber pessimistischen Sperrverfahren?
Pessimistische Verfahren gehen von häufigen Konflikten beim Datenzugriff paralleler Transaktionen aus und vermeiden diese durch die Verwendung von Sperren. Damit wird die Parallelität von Transaktionen eingeschränkt. Zu- dem können durch wechselseitig gesperrte Daten Verklemmungen zwischen Transaktionen auftreten. Optimistische Verfahren verwenden keine Sperren wodurch Daten für alle Transaktionen zugreifbar sind. Im Gegenzug müssen aber für den Konfliktfall Vorkehrungen getroffen werden. Zum einen müssen Konflikte erkannt, zum anderen müssen Transaktionen abgebrochen werden, wenn ein Konflikt vorliegt. Damit ist eine höhere Parallelität im System möglich, Verklemmungen können nicht auftreten und müssen damit nicht behandelt werden. Treten im System jedoch häufig Konflikte auf, muss eine Vielzahl von Transaktionen abgebrochen werden, wobei auch kaskadierte Abbrüche notwendig sein können.
Kap4 Aufgabe 6: Welche Vorteile besitzen geschachtelte verteilte Transaktionen gegenüber einfachen Transaktionen?
Geschachtelte verteilte Transaktionen erlauben das Festschreiben von Teilergebnissen von Transaktionen und damit ein feingranulareres Zurücksetzen im Fehlerfall. Dies ist vor allem sinnvoll, wenn Transaktionen länger andauernde bzw. komplexe Operationen beinhalten, um die Ergebnisse dieser Operationen nach Möglichkeit beizubehalten. Außerdem können Teiltransaktionen parallel ausgeführt werden.