Objektrelationale Datenbanken

Verschmelzung zweier Welten

09.10.1998

Relationale Datenbanksysteme

- sind das Ergebnis langjähriger Entwicklung und hoher Investitionen der führenden Anbieter wie IBM, Informix, Sybase oder Oracle;

- eignen sich ideal für die Verarbeitung einer großen Menge weniger komplexer Transaktionen aus einfachen, zeichenorientierten und numerischen Daten;

- bieten die Flexibilität für das Handling von Ad-hoc-Abfragen und neuen Datenbeziehungen;

- werden hohen Anforderungen an Datenintegrität, Verfügbarkeit und Multiuser-Unterstützung gerecht.

Sie sind aber derzeit noch nicht in der Lage, komplexe Daten- typen wie Bilder, Dokumente, Video, Audio, Animation, Zeitreihen etc. effizient zu unterstützen.

Objektdatenbanken

- erlauben dem Anwender, über das objektorientierte Softwaredesign "eigene" Modelle zu erstellen, die seinen spezifischen Anforderungen entsprechen;

- ermöglichen die wirklichkeitsnahe Unternehmensmodellierung;

- unterstützen das Konzept des Polymorphismus und der Vererbung und steigern dadurch sowie über die Wiederverwendbarkeit der Software die Qualität und den Nutzen der Anwendungen;

Sie werden aber bei geringer Marktakzeptanz erst seit wenigen Jahren von kleineren Anbietern wie Object Design, Objectivity, Ontos, Poet oder Servio vermarktet. Sie bieten keine bewährte Abfragesprache und unterstützen weder SQL noch Multiuser-Umgebungen.

Objektrelationale Datenbanken

- bieten erweiterbare Datentypen aus einer viel breiteren Palette als das RDBMS, zum Beispiel Gesamtmengen aus Gruppen von Daten und Objekten, Sätzen, Listen, benutzerdefinierten Datentypen und Objekthierarchien;

- bieten erweiterbare, benutzerdefinierte Funktionen, die nicht nur Client-seitig, sondern über den Server ausgeführt werden können;-bieten erweiterbare Datenzugriffsmethoden, die benutzerdefinierte Zugriffsmethoden und damit mehr Performanz beim Zugriff auf benutzerdefinierte Datentypen ermöglichen;

- erlauben navigierenden in Ergänzung zu wertbasiertem Datenzugriff. Objekte haben einzigartige OIDs, über die die Navigation durch die Objekte stattfindet. Dies erlaubt eine neue Art der Datenindizierung und des effizienten Zugriffs auf denormalisierte Daten.

- erlauben die Abfrage nach Inhalten, führen so zu einem besseren Verständnis der Inhalte komplexer Datentypen und gestatten deren Manipulation. Der Anwender sucht nach Informationen mit Befehlen wie "Finde alle Bilder von Häusern, die aussehen wie dieses". Das traditionelle RDBMS kann heute diese Abfrageanforderungen und Applikationen mit derartigen Datentypen nicht unterstützen.

- bieten logische Integrität auf der Objektmodellebene. Wird ein Objekt gelöscht, werden auch alle anderen Objekte, die von diesem Objekt abhängen, entfernt, was dem Entwickler die Wartung deutlich erleichtert.

- unterstützen SQL und relationale Tabellen, was für die Akzeptanz in bestehenden RDBMS-Umgebungen erfolgskritisch ist.

- bieten mehrere Schnittstellen zu Datenbanken, so daß Entwickler und Tools auf verschiedene Arten (Call-Level-Interface, Embedded-SQL-Precompiler, C++, Smalltalk, ODBC) auf den Server zugreifen können.

- verfügen über robuste Datenbank-Management-Funktionen wie Sicherheit, Integrität, Verfügbarkeit, Backup/Recovery und unterstützen verteilte Datenbanken, Datenreplikation, Parallelverarbeitung etc.

- erlauben heterogenen Datenzugriff, der für jede Organisation zur Nutzung der bestehenden unterschiedlichen Datenquellen erfolgskritisch ist

- erlauben die Nutzung von Tools, die am Markt etabliert und dem Anwender vertraut sind. ODBMS-Hersteller verwenden hier überwiegend Eigenentwicklungen, die nicht mit der relationalen Welt und anderen Datenquellen kompatibel sind.