Mehrrechner-Datenbanksysteme

7 Transaktionsverwaltung in Verteilten Datenbanksystemen

Die in Kap. 2.1.3 eingeführten ACID-Transaktionseigenschaften müssen natürlich auch von Verteilten Datenbanksystemen gewährleistet werden. Dies ist Aufgabe der Transaktionsverwaltung, bestehend aus Komponenten für Logging/Recovery, Synchronisation (Concurrency Control) und Integritätssicherung. Die verteilte Ausführung von Transaktionen führt zu einigen neuen Problemen, die bei der Realisierung dieser Funktionen zu lösen sind. Weiterhin erhöhen sich im verteilten Fall die Fehlermöglichkeiten (Verbindungsausfall, Nachrichtenverlust, Ausfall einer Teilmenge der Knoten etc.), auf die reagiert werden muß. Ein besonderes Problem bilden sogenannte Netzwerk-Partitionierungen. Bei ihnen entstehen aufgrund von Fehlern im Kommunikationssystem disjunkte Teilnetze oder Partitionen, so daß Rechner verschiedener Partitionen nicht mehr miteinander kommunizieren können.

Wir behandeln die Transaktionsverwaltung in drei Kapiteln. In Kap. 8 steht die Synchronisation in Verteilten DBS im Mittelpunkt; Kap. 9 widmet sich der Behandlung replizierter Datenbanken. Nachfolgend führen wir zunächst einige Begriffe ein und präzisieren die Struktur verteilter Transaktionen. Danach stellen wir verschiedene verteilte Commit-Protokolle vor (Kap. 7.2), deren Aufgabe die Einhaltung der Atomarität ist. Dies ist im verteilten Fall ein zentrales Problem, dessen Lösung die wichtigste Erweiterung hinsichtlich Logging und Recovery gegenüber zentralisierten DBS darstellt. In Kap. 7.3 betrachten wir dann noch notwendige Erweiterungen zur Integritätssicherung.

7.1 - Struktur verteilter Transaktionen
7.2 - Commit-Behandlung
7.3 - Integritätssicherung
Übungsaufgaben