OLTP MIT UNIX Transaktionsverarbeitung als neues Unix-Standbein

11.06.1993

In den letzten zehn Jahren hat sich Unix einen dominierenden Platz vor allem im Markt der Midrange-Systeme erobert. Diese Marktposition verdankt das Betriebssystem seiner Unabhaengigkeit von spezifischen Architekturen und Herstellern sowie der Offenheit seines Schnittstellen-Konzepts. Nun ist das Betriebssystem dabei, sich klassische Mainframe-Domaenen wie die Online- Transaktionsverarbeitung (Online Transaction Processing ; OLTP) zu erobern. Die Reife der unter Unix laufenden OLTP-Produkte laesst sich nicht zuletzt an den intensiven Standardisierungsbemuehungen der Branche ablesen, die Gabriel Thorma* beschreibt.

*Gabriel Thorma ist Systemverantwortlicher fuer OLTP-Produkte bei der

Siemens-Nixdorf Informationssysteme AG, Muenchen.

Von der Struktur her ist Unix ein Multitasking-System und damit auf die gleichzeitige Bearbeitung mehrerer Auftraege ausgelegt. Es ist sowohl fuer Multiusing (gleichzeitig mehrere Benutzer) als auch fuer Multiprocessing (gleichzeitig mehrere Anwendungen) praedestiniert. Die moegliche Anzahl der zugleich aktiven Anwender wuchs in den letzten Jahren in dem Masse, wie die Leistungsfaehigkeit der Unix-Systeme zunahm.

In der Praxis findet man heute in der oberen Leistungsklasse von Unix bereits Installationen mit mehreren hundert Benutzern. Mit diesen Zahlen haben die grossen Unix-Systeme den klassischen Midrange-Sektor verlassen und erreichen ein Niveau, das bisher den Grossrechnern mit bis zu einigen zehntausend gleichzeitigen Benutzern vorbehalten war. In diesem Einsatzbereich, der hoechste Ansprueche an Leistungsfaehigkeit und Betriebssicherheit der Systeme stellt, dominiert eine bestimmte Verarbeitungsform: das Online Transaction Processing (OLTP).

Von OLTP-Betrieb spricht man, wenn eine grosse Zahl von Anwendern gleichzeitig im Dialog mit gemeinsamen zentralen Datenbestaenden arbeitet. Die vielen Benutzer greifen dabei auf die zentralen Daten nicht nur lesend, sondern auch aendernd zu, und die Geschaeftsvorfaelle (Transaktionen), die bearbeitet werden, koennen auch mehrere Datenzugriffe umfassen. Systemseitig umfassen OLTP- Anwendungen grundsaetzlich zwei Basiskomponenten:

- ein Datenhaltungssystem zur Verwaltung der gemeinsamen Datenbasis (hier haben sich relationale Datenbanksysteme durchgesetzt) und

- ein Kommunikationssystem zur Koordinierung der zahlreichen Anwender; hier kommen vorwiegend Transaktionsmonitore zum Einsatz, die solche Koordinierungsarbeiten effizient und sicher abwickeln.

Datenbanksysteme sind auf Unix-Rechnern bereits seit vielen Jahren verbreitet. Sie bieten gesicherte Transaktionsverarbeitung und gewaehrleisten die Konsistenz der zentralen Datenbestaende sowohl waehrend des regulaeren Betriebs als auch in allen moeglichen Ausfallsituationen von Hardware und Software. Funktionalitaet und Leistungsfaehigkeit der Datenbanksysteme unter Unix haben inzwischen annaehernd die der Mainframe-Systeme erreicht. Die langjaehrigen Erfahrungen im Grossrechner-Bereich haben jedoch gelehrt, dass effizienter OLTP-Betrieb neben einem Datenbanksystem auch einen Transaktionsmonitor benoetigt.

Leistungsfaehige Transaktionsmonitore wie UTM von Siemens-Nixdorf oder CICS von IBM bieten in der Regel folgende Funktionen:

- Transaktions-Management: Geschaeftsvorfaelle werden gesichert abgewickelt. Kann eine Transaktion nicht beendet werden oder treten Unregelmaessigkeiten bei der Verarbeitung auf, werden die Transaktion und alle betroffenen Ressourcen zurueckgesetzt. Dies gilt auch fuer Geschaeftsvorfaelle, die sich ueber mehrere Dialogschritte erstrecken. Bei Fehlern wird eine solche Mehrschritt-Transaktion ebenfalls bis zum Zustand vor dem ersten Dialogschritt zurueckgefahren. Neben Dialogtransaktionen koennen auch gesicherte Batch-Transaktionen angestossen werden.

- Anwendungssteuerung: Der Transaktionsmonitor verwaltet beliebig viele Anwendungen gleichzeitig. Bei wachsender Last koennen Anwendungen vervielfacht werden, so dass durch Parallelverarbeitung das Antwortzeitverfahren optimiert wird.

- Ressourcen-Management: Bei der Parallelverarbeitung mehrerer Transaktionen derselben Anwendung (Multithreading) werden die anwenderspezifischen Variablen automatisch verwaltet und bei Freiwerden der Systemressourcen dem Anwenderprozess wieder zur Verfuegung gestellt. Durch diese Technik laesst sich bei simultanem Multiusing die Zahl der gleichzeitig ablaufenden Prozesse und damit die Belastung des Systems drastisch verringern.

- Bildschirmformate: Formatgeneratoren erlauben die flexible Gestaltung von Bildschirmmasken auf vielen unterschiedlichen Endgeraeten sowohl fuer Alpha- als auch fuer Grafikoberflaechen.

- Dialogsteuerung: Der Transaktionsmonitor uebernimmt alle Kommunikationsaufgaben mit den Benutzern. Ein Warteschlangen- Management sorgt fuer die effiziente Abwicklung aller Auftraege und fuer hohen Durchsatz.

- Koordination mit dem Datenbanksystem: Die Transaktionen des Datenbanksystems und des Transaktionsmonitors werden automatisch synchronisiert. Dadurch wird die Konsistenz zwischen den Datenbestaenden und der Verarbeitungslogik sichergestellt.

- Bildschirmwiederanlauf: Nach Ausfaellen wird beim Wiederanlauf allen Anwendern der letzte Bildschirminhalt wieder

ausgegeben, so dass beim Weiterarbeiten ein definiertes Aufsetzen moeglich ist.

- Verteilte Anwendungen: In einem Verbund mehrerer Rechner koennen Transaktionen ueber verschiedene Geraete verteilt werden. Der gesicherte Betrieb ist hier ebenfalls gewaehrleistet, da bei Ausfaellen auch die verteilten Transaktionen im Rechnernetz komplett zurueckgesetzt werden (hierzu dient die Funktion des Two- Phase-Commit).

Die umfangreiche Funktionalitaet des Transaktionsmonitors reduziert den Programmieraufwand gesicherter Dialoganwendungen erheblich, zumal die beschriebenen Funktionen in einer kompakten und komfortablen Programm-Schnittstelle angeboten werden.

Moderne Transaktionsmonitore gestatten neben der Verwendung einfacher Terminals auch die Nutzung von PCs und Workstations als Dialogstationen fuer die OLTP-Verarbeitung (auch im gemischten Betrieb). Auf diese Weise koennen Client-Server-Architekturen mit Hilfe von Transaktionsmonitoren realisiert werden: Spezielle Front-end-Bausteine erlauben eine Auslagerung der grafischen Praesentation, die dabei an den Transaktionsmonitor im zentralen Rechner gekoppelt sind, auf dem die eigentliche Verarbeitung erfolgt.

Sicher liegt es an der umfangreichen Funktionalitaet der Transaktionsmonitore, dass mit dem Anwachsen der Leistungsfaehigkeit und der Anwenderzahlen bei groesseren Unix-Systemen das Interesse fuer diese Moeglichkeiten in letzter Zeit sprunghaft angestiegen ist. Analysten sagen fuer die naechsten Jahre ein rasantes Wachstum voraus. Die Gartner Group gibt das weltweite Marktvolumen von Unix-TP-Monitoren (Software und Hardware) fuer 1992 mit 190 Millionen US-Dollar an, 1995 sollen es zirka drei Milliarden Dollar sein.

Trotz der heute erreichten Resultate bleibt bei den Unix- Transaktionsmonitoren auch in Zukunft noch eine Menge zu tun. So hat die X/Open als massgebliche Standardisierungsorganisation fuer die Welt der offenen Systeme ein Referenzmodell fuer die verteilte Transaktionsverarbeitung aufgestellt, in dem auch Schnittstellen fuer das Transaktions-Management festgelegt werden.

X/Open definiert die

Anwenderschnittstelle TX

Als erstes wurde das XA-Interface definiert, ueber das sich Transaktions-Manager mit Datenbanksystemen wie Oracle oder Informix Online synchronisieren koennen. Zur Zeit definiert X/Open die Anwender-Schnittstelle TX fuer die Transaktionssicherung. Ferner wird das CM-Interface fuer die Kommunikation beschrieben, das auch in einer Auspraegung fuer den Peer-to-peer-Betrieb existiert.

Ein weiteres Entwicklungsvorhaben ist die Implementierung des OSI-TP-Protokolls der internationalen Standardisierungsorganisation ISO, dessen Freigabe noch 1993 erfolgen soll. OSI-TP regelt die verteilte Transaktionsverarbeitung zwischen unterschiedlichen Transaktionsmonitoren. Dieses Protokoll ist auch ein Bestandteil des Referenzmodells von X/Open.

Auf mittleren und grossen Unix-Systemen etablieren sich Transaktionsmonitore zunehmend. Diese Entwicklung steht zwar erst am Anfang, es ist aber schon heute zu erkennen, dass sie zur Verbreitung und Popularitaet von Unix einen wichtigen Beitrag leisten werden.