Objektorientierte Datenbanken/Der Umbruch am Datenbankmarkt: Objekte versus Relationen

Absehbare Standards werden Defizite der OODBMS beheben

19.01.1996

Relationale Datenbanksysteme zerlegen, wie der Name schon sagt, die zu speichernden Informationsstrukturen in Relationen, die in Tabellen abgespeichert werden. Auf dieser Basis lassen sich nahezu beliebige Zusammenhaenge zwischen den gespeicherten Informationen abfragen. Der grosse Vorteil der relationalen Datenbanktechnologie liegt in der theoretischen Untermauerung, durch die zentrale Eigenschaften der mengenorientierten Systeme mathematisch bewiesen werden koennen.

In der Praxis sind jedoch fuer die effiziente Handhabung grosser Datenmengen auch Abweichungen von den theoretischen Grundlagen notwendig. Komplexe Abfragen lassen sich nur mit Hilfe ausgekluegelter Optimierungstechniken bearbeiten. Und mit steigender Menge der Daten ist eine Anpassung des Datenbankdesigns an die haeufigsten Abfragen meist unumgaenglich.

Objektorientierte Datenbanksysteme bauen dagegen auf den objektorientierten Programmiersprachen auf, die unabhaengige Objekte zueinander in Beziehung setzen. Diese Objektstrukturen werden nahezu eins zu eins auf Massenspeichermedien ausgelagert; manche Systeme verschmelzen diese Vorgehensweise vollstaendig mit der virtuellen Speicherverwaltung. Die zum Teil extrem kurzen Zugriffszeiten objektorientierter Datenbanken resultieren somit aus der an die jeweiligen Anwendungen angepassten Speicherung und Zugriffssteuerung.

Strenggenommen erlauben Objektdatenbanken keine beliebigen Abfragen, da dies einem der Grundprinzipien der Objektorientierung, der Kapselung der Informationseinheiten, widersprechen wuerde. Die meisten OODBMS-Produkte ueberlassen diese Entscheidung aber pragmatischerweise dem Entwickler. Den objektorientierten Datenbanken fehlt zwar das theoretische Fundament ihrer relationalen Verwandten, sie haben sich aber in der Praxis zu den Werkzeugen der Wahl fuer objektorientierte Anwendungen entwickelt.

Waehrend relationale Datenbanksysteme in der Lage sind, saemtliche mathematisch moeglichen Zusammenhaenge zwischen den zugrundeliegenden Daten herzustellen, konzentrieren sich objektorientierte Systeme auf die Optimierung vorgegebener Zugriffsstrukturen. Dementsprechend sind relationale Datenbanken fuer die flexible Analyse von Datenstrukturen bis mittlerer Komplexitaet geeignet, waehrend objektorientierte Datenbanken komplexeste Datenstrukturen abbilden koennen.

Die Einsatzbereiche sind unterschiedlich

Aus diesem Grund waren objektorientierte Datenbanken zunaechst vor allem in technischen Einsatzbereichen wie den CAx-Technologien (CAD, CAE, CASE, ...) vertreten. In juengster Zeit dringen Objektdatenbanken aber immer weiter in wirtschaftliche Anwendungsbereiche und damit in die Stammdomaene der relationalen Datenbanken vor. Dabei ersetzen objektorientierte Systeme in seltensten Faellen relationale, sondern werden fuer neue, zum Teil extrem komplexe und organisationsspezifische Anwendungen eingesetzt. Entsprechende Beispiele sind hochspezifische Broking- Systeme fuer den Wertpapierhandel, aber auch komplexe Kontakt- Management-Systeme zur Pflege der Kundenbindungen.

Angesichts der wachsenden Konkurrenz - so koennte man meinen - haben sich die Hersteller relationaler Datenbanksysteme einen neuen Absatzmarkt geschaffen: Online Analytical Processing (Olap). Unter diesem auch als Data-Warehousing bezeichneten Konzept versteht man die systematische Analyse sehr grosser Mengen von Unternehmensdaten nach verschiedenen wirtschaftlichen Kriterien wie Deckungsbeitrag oder Kernmarktbezug.

Fuer solche weitgespannten Analysen, die sich meist ueber eine Vielzahl von Datenbanken erstrecken, sind relationale Systeme bestens geeignet. Objektorientierte hingegen werden sich in diesem Feld kaum einsetzen lassen, da die Zugriffsstrukturen meist zu heterogen sind und in den seltensten Faellen objektorientierte Systeme zugrunde liegen.

Als Moeglichkeit, das Beste aus beiden Welten zu vereinigen, werden mitunter hybride Datenbanktechnologien angepriesen, die sowohl aus relationalen als auch aus objektorientierten Elementen bestehen. Diese objektrelationalen Datenbanken sind jedoch kein Allheilmittel, da weder die Umsetzung von Objekten in Relationen noch die Spiegelung von Relationen als Objekte sonderlich schnell vor sich geht. Lediglich Entwicklungswerkzeuge, die auf der Ebene der Anwendungsentwicklung eine weitgehend transparente Wahl ermoeglichen, erscheinen als sinnvolle Alternative.

Eine Spielart der relationalen Datenbanken sollte nicht mit hybriden Systemen verwechselt werden. Binary Large Objects (BLOBs) sind eine rein relationale Technik, um grosse binaere Informationseinheiten wie Echtfarbgrafiken, Videosequenzen oder Sound-Files speichern zu koennen. Diese Art der Objekte hat keinen unmittelbaren Bezug zur objektorientierten Technologie.

Waehrend die Sicherheit der Datenhaltung objektorientierter Datenbanken durch ein sorgfaeltiges Transaktions-Management gewaehrleistet ist, blieb die Datenverfuegbarkeit bei diesen Systemes bis zur juengsten Generation hinter der der relationalen Produkte zurueck. Seit nicht allzu langer Zeit garantieren nun auch die meisten objektorientierten Datenbanksysteme Verfuegbarkeit rund um die Uhr.

Dass diese Leistung nicht leicht zu erbringen ist, zeigt ein Blick auf die Anforderungen. Nicht nur Standardarbeiten wie Backup und Recovery, sondern auch saemtliche Wartungstaetigkeiten muessen sich online durchfuehren lassen, ohne dass es zu Beeintraechtigungen des laufenden Betriebes kommt. Insbesondere bei den in objektorientierten Systemen mitunter notwendigen Aufraeumarbeiten, auch Garbage Collection genannt, stellte dies eine hohe Huerde dar, die erst in juengster Zeit genommen wurde.

Eine Eigenschaft, in denen die objektorientierten Datenbanken den relationalen Systemen voraus sind, ist die Verteilung von Datenbestaenden. Vor allem unternehmensweite Informationssysteme bedingen oft eine Speicherung der Daten an verschiedenen Standorten. Objektorientierte Datenbanksysteme loesen diese Problematik, indem sie Kopien der beteiligten Objekte an den verschiedenen Orten anlegen und Veraenderungen zwischen diesen Kopien koordinieren. Diese Technik der Replikation ist bei relationalen Datenbanken wesentlich aufwendiger, da nicht nur die anwendungsspezifischen, sondern saemtliche theoretisch moeglichen Beziehungen zwischen den einzelnen Dateneinheiten zu beruecksichtigen sind.

Standard von der ODMG verabschiedet

Dem urspruenglichen Wildwuchs der Systeme bei den objektorientierten Datenbanken, der zum grossen Teil aus den unterschiedlichen zugrundeliegenden Sprachen resultierte, sind die Datenbankhersteller frueh entgegengetreten. Die Object Database Management Group (ODMG), ein Zusammenschluss aller wichtigen Hersteller objektorientierter Datenbanken, hat bereits Ende 1993 einen Standard verabschiedet, der eine gemeinsame Definitions- und eine Abfragesprache fuer Objekte definiert sowie deren Anwendung in den wichtigsten Programmiersprachen wie C++ und Smalltalk.

Keine Abloesung, sondern Ergaenzung

Die Object Definition Language (ODL) legt die notwendigen Objektdefinitionen sprachunabhaengig fest, bevor sie in die jeweilige Programmiersprache uebertragen werden. Mit der Object Query Language (OQL) lassen sich Datenbankabfragen ebenfalls systemunabhaengig definieren, bevor sie ueber standardisierte Smalltalk- beziehungsweise C++-Bindings ausgefuehrt werden.

Der ODMG-Standard besteht seit Ende 1995 in der Version 1.2 und wird 1996 mit der Version 2.0 in verschiedenen Bereichen erweitert werden. Insbesondere eine Integration mit dem durch die Object Management Group (OMG) spezifizierten Persistency-Service bietet sich an. Dieser OMG-Standard definiert unter anderem eine architekturunabhaengige Repraesentation fuer Objekte, die dem ODMG- Standard bislang fehlt.

Objektorientierte Datenbanken werden die relationalen Datenbanken nicht ersetzen, sondern ergaenzen. Sie werden in dem Masse weitere Verbreitung finden, wie objektorientierte Techniken in der Anwendungsentwicklung insgesamt zum Einsatz kommen. Ob sie damit auf lange Sicht die relationalen Systeme einholen oder gar dominieren werden, muss die weitere Marktentwicklung zeigen.

*Michael Wagner ist als Berater und Publizist in Muenchen taetig.

Kurz & buendig

Der Wettstreit zwischen relationalen und objektorientierten Datenbanksystemen gestaltet sich als Glaubenskrieg zwischen den Anhaengern. Dem leidenschaftslosen Beobachter bleibt hingegen als Fazit auf die Frage nach der besseren Technologie nur ein entschiedenes Sowohl-Als-auch. Objektorientierte Datenbanken holen insbesondere durch internationale Standardisierung einige Vorzuege der etablierten relationalen Systeme auf. Insgesamt wird die Konkurrenz nicht auf einen Verdraengungswettbewerb hinauslaufen. Zu unterschiedlich sind naemlich die Einsatzbereiche, fuer die sich die Produkte eignen.