19 Existierende Mehrrechner-Datenbanksysteme
19.3 DEC
DEC realisiert eine verteilte Transaktionsverarbeitung über seine beiden TP-Monitore ACMS und DECintact [SS91]. Insbesondere wird der Ansatz der programmierten Verteilung verfolgt, wobei durch Aufruf von Anwendungsfunktionen der Server-Rechner auf dort vorliegende Datenbanken zugegriffen wird. Die dabei verwendete Aufrufstruktur ist für ACMS in Abb. 19-4 verdeutlicht. Auf Client-Seite liegen Präsentationsdienste sowie ein ACMS-Agent vor, von dem aus sogenannte Tasks aufgerufen werden. Die ACMS-Tasks werden in einer eigenen Beschreibungssprache (task definition language) realisiert und spezifizieren den Ablauf einer verteilten Transaktion, insbesondere Transaktionsbeginn und -ende sowie welche Anwendungsfunktionen (processing procedures) auszuführen sind. Die Anwendungsfunktionen schließlich führen die DB-Zugriffe aus. Diese Modularisierung der Anwendungen gestattet hohe Freiheitsgrade für die Rechnerzuordnung der einzelnen Komponenten. ACMS kooperiert auch mit anderen TP-Monitoren (CICS, IMS TM, etc.), um auf deren Anwendungen und externe (heterogene) Datenbanken zuzugreifen. ACMS wird künftig stark auf bestehenden Standards aufbauen, insbesondere X/Open DTP (Kap. 11.4.1), MIA STDL (Kap. 11.4.2) und DCE (für Remote Procedure Calls).
Die Realisierung eines verteilten zwei-Phasen-Commit-Protokolls erfolgt durch eine spezielle Komponente des VMS-Betriebssystems DECdtm (Digital distributed transaction manager). Damit steht dieser Dienst sowohl den TP-Monitoren als auch den DBS zur Verfügung.
Abb. 19-4: Verteilte Transaktionsverarbeitung mit DEC ACMS [Tr93]
DEC bietet zwei DBS an, ein CODASYL-DBS namens VAX DBMS sowie das relationale System Rdb[88]. Rdb kann in eine verteilte DB-Verarbeitung mit DBS und Dateisystemen anderer Hersteller (DB2, Oracle, Sybase, RMS, VSAM) eingebunden werden, auf die über Gateways der Produktfamilie DB Integrator (DBI) zugegriffen wird. Rdb selbst sowie die DBI-Gateways unterstützen über spezielle Treiber Microsofts ODBC-Protokoll (Kap. 11.4.5) für Lese- und Schreibzugriffe. Eine Schnappschuß-Replikation wird mit dem Rdb-Zusatzprodukt DEC Data Distributor realisiert. Die Zieldatenbanken, welche Kopien einer gesamten DB oder Untermengen davon sein können, werden von Rdb wie reguläre Datenbanken verwaltet, können jedoch nur lesend bearbeitet werden. Als Quelldatenbanken sind auch Fremd-Datenbanken möglich, auf die über Gateways zugegriffen wird.
DECs Vax-Cluster, welche die wohl am weitesten verbreitete Shared-Disk-Hardware-Architektur repräsentieren, werden softwaremäßig von VAX DBMS und Rdb unterstützt. Beide Systeme verwenden einen gemeinsamen DBS-Kern namens KODA, der auch zur Lösung der Shared-Disk-spezifischer Aufgaben dient (Pufferverwaltung, Kohärenzkontrolle etc.). Zur Synchronisation wird dabei auf den Distributed Lock Manager des VMS-Betriebssystems zurückgegriffen, der ein verteiltes Sperrprotokoll mit dynamischer GLA-Zuordnung realisiert (Kap. 14.4). Pufferinvalidierungen werden mit einer On-Request-Invalidierung über Versionsnummern (Kap. 15.3.1) erkannt. Die Update-Propagierung erfolgte zunächst gemäß einem Force-Ansatz, wurde jedoch auf Noforce umgestellt [LARS92].
[88] Rdb wird mittlerweile von Oracle vertrieben.