Objektorientierte Datenbank

Ein Bauteil mit Unterbaugruppen, Materialien und Prüfprotokollen zerfällt in einer Tabellenstruktur in ein Dutzend Zeilen. Eine objektorientierte Datenbank speichert es so, wie das Programm es ohnehin im Kopf hat.
Eine Programmiererin schaut sich eine objektorientierte Datenbank auf einem Bildschirm an.
© Friends Stock

Was eine objektorientierte Datenbank ist

Eine objektorientierte Datenbank speichert Daten als Objekte, also als Einheiten aus Eigenschaften und zugehörigen Verhaltensweisen, wie sie eine objektorientierte Programmiersprache kennt. Verwaltet wird sie von einem Objektdatenbankmanagementsystem, kurz ODBMS, das Objekte samt ihren Verweisen aufeinander dauerhaft ablegt und wieder herausgibt. Eine Zerlegung in Tabellen mit Zeilen und Spalten entfällt. In der Datenbankentwicklung fällt die Entscheidung für dieses Modell früh und lässt sich später nur mit erheblichem Aufwand korrigieren.

Darin liegt der eigentliche Zweck. Zwischen der Welt der Objekte im Programm und der Welt der Tabellen in einer Datenbank besteht ein Bruch, der jedes Mal überbrückt werden muss. Genau diesen Übersetzungsschritt spart eine Objektdatenbank ein. Ein Objekt wird gespeichert und später unverändert zurückgeholt, samt Verschachtelung und Verweisen. Für Entwicklungsteams entfällt damit ein ganzer Arbeitsschritt und mit ihm eine verbreitete Fehlerquelle.

Funktionsweise

Jedes Objekt erhält eine eindeutige, dauerhafte Kennung, über die andere Objekte darauf zeigen. Eine Beziehung ist damit ein direkter Verweis und keine Verknüpfung über gemeinsame Schlüsselfelder. Das macht das Nachverfolgen tiefer Strukturen schnell und das Auswerten über sehr viele gleichartige Datensätze hinweg vergleichsweise langsam. Eine objektorientierte Datenbank tauscht damit Auswertbarkeit gegen Navigierbarkeit.

Einsatzfelder und Grenzen

Ein typisches Objektdatenbank Beispiel ist die Konstruktion, wo ein Bauteil aus Baugruppen besteht, die selbst wieder aus Teilen bestehen. Ähnlich liegt der Fall bei Geodaten, Simulationen, Telekommunikationsnetzen und wissenschaftlichen Messreihen mit komplexem Aufbau. Gemeinsam ist diesen Fällen, dass die Struktur tief verschachtelt und je Datensatz unterschiedlich ist. Je gleichförmiger die Daten, desto geringer der Vorteil.

Für Buchhaltung, Warenwirtschaft oder Kundendaten trifft das nicht zu, dort sind gleichförmige Tabellen die passendere Form. Nische geblieben ist der Ansatz, weil ihm eine gemeinsame Abfragesprache fehlt. Wo eine relationale Datenbank mit SQL einen anerkannten Standard hat, unterscheiden sich Objektdatenbanken von Produkt zu Produkt, was Wissen und Werkzeuge schwer übertragbar macht.

Was heute an ihre Stelle tritt

In der Praxis lösen zwei Wege dasselbe Problem häufiger. Zum einen Zuordnungsschichten, die Objekte automatisch auf Tabellen abbilden und den Bruch verdecken, statt ihn aufzulösen. Zum anderen dokumentenorientierte Systeme, die verschachtelte Datensätze am Stück ablegen. Beide Wege sind verbreiteter und finden leichter Personal. Die klassische Gegenform beschreibt die relationale Datenbank. Welche Aufgaben die verwaltende Software dabei übernimmt, unabhängig vom Modell, ordnet das DBMS ein.

Aktuelle Themen