Erhard Rahm
Das vorliegende Buch behandelt erstmalig diese unterschiedlichen Ansätze im Rahmen eines Lehrbuchs. Es basiert auf mehreren an der Universität Kaiserslautern gehaltenen Vorlesungen sowie auf langjähriger Erfahrung und Forschungsarbeit auf dem Gebiet der Mehrrechner-Datenbanksysteme. Es ist gleichermaßen als Begleitbuch zu Informatik-Vorlesungen im Hauptstudium als auch zum Selbststudium geeignet. Zum besseren Verständnis werden zahlreiche Abbildungen und Beispiele verwendet. Zudem bieten Übungsaufgaben die Gelegenheit, den Stoff zu vertiefen, wobei die vollständige Angabe der Aufgabenlösungen eine Selbstkontrolle ermöglicht.
Ausgangspunkt der Darstellung ist eine umfassende Klassifikation von Mehrrechner-Datenbanksystemen, die eine Definition und Abgrenzung der einzelnen Realisierungsalternativen gestattet. Die Beschreibung der einzelnen Systemklassen legt danach den Schwerpunkt darauf, grundlegende Konzepte zu vermitteln und die wichtigsten Implementierungsansätze aufzuzeigen. Dabei wird auch versucht, eine Brücke zwischen Praxis und Forschung zu schlagen, indem die wichtigsten Ansätze aus beiden Bereichen Berücksichtigung finden. So werden etwa neuere Forschungsergebnisse aus den Gebieten der föderativen und Parallelen Datenbanksysteme präsentiert. Der hohe Praxisbezug zeigt sich u.a. an der Behandlung von Verteilten Transaktionssystemen[1], wichtiger Standardisierungsansätze zur Transaktions- und Datenbankverarbeitung in heterogenen Systemen (X/Open DTP, RDA, ODBC, DRDA etc.) sowie von in existierenden Mehrrechner-DBS eingesetzten Implementierungstechniken. Daneben wird ein Überblick zu zahlreichen kommerziell verfügbaren Mehrrechner-Datenbanksystemen gegeben, darunter aktuelle Entwicklungen wie IBM Parallel Sysplex, DB2 Parallel Query Server und Sybase Navigational Server.
Das Buch gliedert sich in sieben Teile und 21 Kapitel. Der einleitende Teil I faßt nach einer Einführung Grundlagen von zentralisierten Datenbanksystemen (DBS) sowie Rechnernetzen zusammen, die für das weitere Verständnis des Buches hilfreich sind. In Kapitel 3 folgt dann eine Klassifikation von Mehrrechner-Datenbanksystemen sowie ein qualitativer Vergleich zwischen den wichtigsten Architekturtypen. Verteilte Datenbanksysteme stellen demnach geographisch verteilte, homogene Mehrrechner-DBS dar. Parallele Datenbanksysteme sind ebenfalls homogen, basieren jedoch auf einer lokalen Verteilung der Prozessoren (z.B. innerhalb eines Parallelrechners). Zur Realisierung Paralleler DBS bestehen neben Multiprozessor-DBS ("Shared Everything") vor allem die Alternativen "Shared Disk" und "Shared Nothing". Föderative DBS eignen sich zur Unterstützung unabhängiger, heterogener Datenbanken, während Workstation/Server-DBS v.a. für nicht-konventionelle Datenbankanwendungen im Einsatz sind.
Teil II behandelt Verteilte Datenbanksysteme. Dazu werden zunächst (Kapitel 4) die Schemaarchitektur sowie Alternativen zur Katalog- und Namensverwaltung diskutiert. Kapitel 5 befaßt sich mit dem fundamentalen Problem der Datenverteilung, welches die Teilaufgaben der Fragmentierung und Allokation umfaßt. Danach werden die wichtigsten Ansätze zur verteilten Anfragebearbeitung (Kap. 6), Commit-Behandlung (Kap. 7), Synchronisation (Kap. 8) sowie zur Wartung replizierter Datenbanken (Kap. 9) beschrieben.
Teil III widmet sich heterogenen Datenbanken, die von unabhängigen DBS verwaltet werden. Hierzu werden die beiden wesentlichen Realisierungsalternativen, Verteilte Transaktionssysteme (Kap. 11) sowie föderative DBS (Kap. 12), behandelt. Ferner werden wichtige Standards zur Unterstützung von Interoperabilität und Portabilität erörtert.
Parallele Datenbanksysteme sind Gegenstand von Teil IV und Teil V. In Teil IV wird der in der Praxis bedeutsame Shared-Disk-Ansatz vorgestellt, bei dem alle Rechner Zugriff auf alle Platten haben, so daß eine Partitionierung der Datenbank entfällt. Dafür stellen sich v.a. die Probleme der Synchronisation und Kohärenzkontrolle, auf die in Kap. 14 und Kap. 15 ausführlich eingegangen wird. Im Mittelpunkt von Teil V steht die Realisierung von Intra-Transaktionsparallelität, mit der für komplexe und datenintensive Transaktionen bzw. Anfragen kurze Antwortzeiten erreicht werden sollen. Hierzu werden eine geeignete Datenverteilung (Kap. 17), v.a. in Shared-Nothing-Systemen, sowie parallele Algorithmen zur Anfrageverarbeitung (Kap. 18) benötigt.
In Teil VI werden kommerziell verfügbare Mehrrechner-DBS von 12 Herstellern überblicksartig vorgestellt. Teil VII (Anhang) enthält eine vollständige Zusammenstellung der Aufgabenlösungen sowie Literaturverzeichnis und Index.
Mehrere Personen haben wesentliche Teile des Buchmanuskripts gelesen und zahlreiche Korrektur- und Verbesserungsvorschläge gemacht. Zu Dank verpflichtet bin ich hierfür u.a. Herrn Prof. Dr. T. Härder, Herrn M. Jaedicke sowie meinen Mitarbeitern Dr. D. Sosna und T. Stöhr. Zahlreiche Herstellerfirmen von Datenbanksystemen stellten mir bereitwillig Unterlagen für ihre Produkte zur Verfügung. Besonders hilfreich waren hierbei Mitarbeiter der Firmen IBM (insbesondere Frau I. Stelkens sowie die Herren Dr. K. Küspert, H. Baisch und E. Hechler) und Tandem. Die Fa. IBM informierte mich bereits vor der offiziellen Ankündigung über ihre neuen Produkte, im Rahmen eines eigens veranstalteten Seminars. Dem Vieweg-Verlag danke ich für die Einwilligung, einige Abbildungen aus meinem Buch "Hochleistungs-Transaktionssysteme" [Ra93a] verwenden zu können.
Für Hinweise auf Fehler, Unklarheiten und Verbesserungsmöglichkeiten bin ich sehr dankbar. Sie können an die unten angegebene Adresse bzw. an den elektronischen Briefkasten rahm@informatik.uni-leipzig.de gerichtet werden.
Institut für Informatik
Universität Leipzig
Augustusplatz 10-11
04109 Leipzig