11.3 Realisierungsaspekte
Zur Angleichung dieser Unterschiede, wie sie beim integrierten Zugriff auf DBVS mehrerer Hersteller erforderlich wird, werden DB-Gateways eingesetzt. Das Einsatzprinzip von DB-Gateways ist in Abb. 11-3 veranschaulicht. Dabei soll im Client-Programm (Anwendung oder Tool, z.B. Spreadsheet-Programm) auf SQL-Datenbanken der Hersteller A und B zugegriffen werden. Wenn der Client als Anfragesprache den SQL-Dialekt des Herstellers A (SQL-A genannt) verwendet, ist für den Zugriff auf dessen DBVS keine Konversion erforderlich. Für den Zugriff auf das DBVS des Herstellers B dagegen erfolgt eine Anpassung der SQL-Befehle und Datenformate an die von Hersteller B unterstützte Schnittstelle SQL-B. Umgekehrt transformiert das Gateway Ausgabedaten sowie Fehler-Codes in das Format von Hersteller A, das vom Client erwartet wird.
Ein Gateway kann prinzipiell entweder auf dem Client- oder dem Server-Rechner laufen. Generell führt der Gateway-Einsatz natürlich zu einer Erhöhung der Bearbeitungszeiten im Vergleich zum direkten DBVS-Zugriff. Ferner können Gateways leicht zu Durchsatz-Engpässen werden, insbesondere auf Server-Seite.
Die Mehrzahl von DB-Gateways unterstützt den Zugriff auf SQL-DBVS, da hier aufgrund der weitgehenden Übereinstimmung in der Funktionalität verschiedener Systeme eine relativ einfache Realisierung möglich wird. Es wird jedoch i.a. lediglich "dynamisches SQL" unterstützt, wobei Anfragen erst zur Ausführungszeit übersetzt und optimiert werden. Dies kann vor allem für vorgeplante Anwendungsfunktionen eine erhebliche Performance-Einbuße bedeuten. Einige Gateway-Anbieter (DBVS-Hersteller) unterstützen SQL-Zugriffe auch auf Dateisysteme sowie nicht-relationale DBVS wie IMS, die selbst kein SQL anbieten. In diesem Fall wird das Gateway um die DBVS-Funktionalität des jeweiligen Herstellersystems erweitert und das nicht-relationale System lediglich als weitere Dateizugriffsschnittstelle aufgefaßt [SB90]. Es läßt sich dabei jedoch i.a. nur ein beschränkter Befehlsumfang von SQL realisieren.