Ein System zusammengeschlossener Datenbanken ist ein Datenbankverwaltungssystem (DBMS), das Anwendungen und Benutzer unterstützt, die mit SQL-Anweisungen arbeiten, in denen auf zwei oder mehr Datenbankverwaltungssysteme oder Datenbanken in einer einzelnen Anweisung verwiesen wird. Ein Beispiel hierfür ist eine Verknüpfung zwischen Tabellen in zwei unterschiedlichen DB2-Datenbanken. Diese Anweisungsart wird als eine verteilte Anforderung bezeichnet.
Ein System zusammengeschlossener Datenbanken unter DB2 Universal Database unterstützt verteilte Anforderungen über Datenbanken und Datenbankverwaltungssysteme hinweg. Sie können z. B. eine UNION-Operation zwischen einer DB2-Tabelle und einer Oracle-Sicht ausführen. Zu den unterstützten Datenbankverwaltungssystemen gehören DB2, Produkte der DB2-Produktfamilie (wie z. B. DB2 für OS/390 und DB2 für IBM AS/400) und Oracle.
In DB2-Systemen zusammengeschlossener Datenbanken besteht für Datenbankobjekte Positionstransparenz. Wenn Informationen (in Tabellen und Sichten) versetzt werden, können Verweise auf diese Informationen (sogenannte Kurznamen) ohne Änderung an den Anwendungen, die die Informationen anfordern, aktualisiert werden. DB2-Systeme zusammengeschlossener Datenbanken bieten eine Kompensation für Datenbankverwaltungssysteme, die nicht das gesamte SQL von DB2 oder bestimmte Optimierungsfunktionen unterstützen. Operationen, die auf einem solchen Datenbankverwaltungssystem nicht ausgeführt werden können (z. B. rekursives SQL), werden unter DB2 ausgeführt.
Ein DB2-System zusammengeschlossener Datenbanken arbeitet halbautonom: DB2-Abfragen, die Verweise auf Oracle-Objekte enthalten, können übergeben werden, während Oracle-Anwendungen auf denselben Server zugreifen. Ein DB2-System zusammengeschlossener Datenbanken hat weder den alleinigen Zugriff auf Oracle oder andere DBMS-Objekte noch beschränkt es ihn (abgesehen von den Einschränkungen wegen der Integrität und durch Sperren).
Ein DB2-System zusammengeschlossener Datenbanken besteht aus einem Exemplar unter DB2 UDB, einer Datenbank, die als zusammengeschlossene Datenbank dient, und einer oder mehreren Datenquellen. Die zusammengeschlossene Datenbank enthält Katalogeinträge, die die Datenquellen und ihre Kenndaten angeben. Eine Datenquelle besteht aus einem DBMS und Daten. Anwendungen stellen eine Verbindung zur zusammengeschlossenen Datenbank her, wie zu jeder anderen DB2-Datenbank. In Abbildung 20 ist eine Umgebung zusammengeschlossener Datenbanken dargestellt.
Abbildung 20. Ein System zusammengeschlossener Datenbanken
Die Katalogeinträge der zusammengeschlossenen DB2-Datenbank enthalten Informationen zu Datenquellenobjekten: den Namen dieser Objekte, die in diesen Objekten enthaltenen Informationen und die Bedingungen für die Verwendung der Objekte. Da dieser DB2-Katalog Informationen zu Objekten in vielen Datenbankverwaltungssystemen speichert, wird er auch globaler Katalog genannt. Objektattribute werden in dem Katalog gespeichert. Die tatsächlichen Datenbankverwaltungssysteme, auf die verwiesen wird, Module, die für die Kommunikation mit der Datenquelle verwendet werden, und DBMS-Datenobjekte (wie z. B. Tabellen), auf die zugegriffen wird, befinden sich außerhalb der Datenbank. (Eine Ausnahme: Eine zusammengeschlossene Datenbank kann eine Datenquelle für das System zusammengeschlossener Datenbanken sein.) Sie können zusammengeschlossene Objekte mit Hilfe der Steuerzentrale oder mit Hilfe von DDL-Anweisungen in SQL erstellen. Folgende Objekte sind für zusammengeschlossene Datenbanken erforderlich:
Sie können je nach Bedarf zusätzliche Objekte erstellen:
Wenn ein System zusammengeschlossener Datenbanken eingerichtet ist, kann auf die Informationen an Datenquellen zugegriffen werden, so als ob diese sich in einer einzigen großen Datenbank befänden. Benutzer und Anwendungen senden Abfragen an eine zusammengeschlossene Datenbank, die dann Daten von Systemen der DB2-Produktfamilie und Oracle-Systemen nach Bedarf abruft. Benutzer und Anwendungen geben in Abfragen Kurznamen an. Diese Kurznamen stellen Verweise auf Tabellen und Sichten bereit, die sich in Datenquellen befinden. Aus der Perspektive eines Endbenutzers sind Kurznamen mit Aliasnamen vergleichbar.
Es gibt viele Faktoren, die sich auf die Leistung eines Systems zusammengeschlossener Datenbanken auswirken. Der wichtigste Faktor ist, sicherzustellen, daß korrekte und aktuelle Informationen zu Datenquellen und ihren Objekten im globalen Katalog der zusammengeschlossenen Datenbank gespeichert werden. Diese Informationen werden vom DB2-Optimierungsprogramm verwendet und können entscheidend dafür sein, daß Auswertungsoperationen auf die ferne Quelle der zu bearbeitenden Daten ausgelagert und dort ausgeführt werden. Im Handbuch Systemverwaltung: Optimierung finden Sie zusätzliche Informationen zur Leistung von Systemen zusammengeschlossener Datenbanken.
Der Betrieb eines DB2-Systems zusammengeschlossener Datenbanken unterliegt einigen Einschränkungen. Verteilte Anforderungen sind auf Lesezugriffsoperationen beschränkt. Außerdem können Sie die Dienstprogrammoperationen (LOAD, REORG, REORGCHK, IMPORT, RUNSTATS usw.) nicht für Kurznamen ausführen.
Sie können allerdings eine Durchgriffsfunktion verwenden, um DDL- und DML-Anweisungen direkt an Datenbankmanager zu übergeben, die die SQL-Programmversion verwenden, die dieser Datenquelle zugeordnet ist.
Systeme zusammengeschlossener Datenbanken tolerieren parallele Umgebungen. Leistungsvorteile sind in dem Maße begrenzt, in dem eine Abfrage einer zusammengeschlossenen Datenbank semantisch in Verweise auf lokale Objekte (Tabellen, Sichten) und Verweise auf Kurznamen aufgesplittet werden kann. Anforderungen für Kurznamendaten werden sequentiell verarbeitet. Lokale Objekte können parallel verarbeitet werden. Zum Beispiel würde in einer Abfrage SELECT * FROM A, B, C, D, in der A und B lokale Tabellen, C und D aber Kurznamen sind, die auf Tabellen in Oracle-Datenquellen verweisen, ein möglicher Plan die Tabellen A und B mit einer parallelen Verknüpfung verknüpfen. Die Ergebnisse würden anschließend sequentiell mit den Kurznamen C und D verknüpft.