11 Verteilte Transaktionssysteme

11.1 Transaktionsverarbeitung in Client/Server-Systemen

Traditionellerweise erfolgte die Transaktionsverarbeitung (Online Transaction Processing, OLTP) zentralisiert auf allgemeinen Großrechnern, auf die über einfache Terminals zugegriffen wurde. Die Datenbank- und Anwendungsverarbeitung erfolgte - unter Kontrolle von DBS und TP-Monitor - vollständig auf dem Mainframe, ebenso Präsentationsdienste zur Ein-/Ausgabe mit dem Benutzer (Maskenverwaltung, Formatkonversionen, etc.).

Solche zentralisierten Transaktionssysteme (Kap. 2.1.4) werden jedoch zunehmend durch Client/Server-Transaktionssysteme abgelöst. Dabei erfolgt eine Zerlegung der Funktionen in Client- und Server-Komponenten, die unterschiedlichen Rechnern zugeordnet werden können. Als Client-Rechner fungieren dabei meist leistungsfähige PCs und Workstations, die fast an jedem Arbeitsplatz verfügbar sind und die einfachen Terminals weitgehend abgelöst haben. Damit lassen sich eine Reihe wesentlicher Vorteile erreichen:

Für die Aufteilung der zur Transaktionsverarbeitung benötigten Funktionen der Präsentation, Anwendungsprogramme (Transaktionsprogramme) und DB-Verarbeitung bestehen im wesentlichen vier Alternativen, die in Abb. 11-2 dargestellt sind. Jede dieser Verteilungsformen geht einher mit einem unterschiedlichen Aufrufgranulat zwischen Client- und Server-System:

Abb. 11-2: Aufgabenteilung in Client/Server-Transaktionssystemen

Da der erste Ansatz ganze Transaktionsaufträge als Verteileinheiten benutzt und der letzte zu den Mehrrechner-DBS zählt, bestehen im wesentlichen die Alternativen der programmierten Verteilung und der Verteilung von DB-Operationen zur verteilten Transaktionsausführung. Beide Ansätze gestatten den Zugriff auf mehrere heterogene Datenbanken in einer Transaktion und werden im nächsten Abschnitt näher untersucht.

Zuvor sei jedoch noch auf einige Probleme von Client/Server-Transaktionssystemen hingewiesen. Zunächst ergeben sich natürlich Schwierigkeiten durch die Notwendigkeit der Interoperabilität mit mehreren heterogenen DBVS und der Integration bestehender Anwendungen und Datenbanken. Darauf wird im folgenden noch näher eingegangen. Einen Nachteil gegenüber zentralisierten Transaktionssystemen stellt die weitaus komplexere Administration dar. So sind meist sehr viele Client-Rechner zu verwalten, die jeweils eigene System- und Anwendungs-Software ausführen, die auf einem aktuellen und miteinander verträglichen Stand zu halten sind. Die Client-Rechner selbst sind als inhärent unzuverlässig einzustufen, da sie z.B. vom jeweiligen Benutzer abgeschaltet werden können u.ä. Daher sollten kritische Daten (Log-Daten, nicht-private Datenbanken) und Funktionen (Commit-Koordinierung) nur auf zuverlässigen Server-Rechnern vorgehalten werden. Entscheidend für die Zuverlässigkeit des gesamten Systems ist die Unterstützung der transaktionsbasierten Verarbeitung, da sie eine weitgehende Fehlerisolation Anwendungen gegenüber ermöglicht und die Konsistenz der Daten auch im Fehlerfall gewahrt bleibt.