Relationale Datenbanken und XML

23.10.2002
Von 
Ludger Schmitz ist freiberuflicher IT-Journalist in Kelheim. Er ist spezialisiert auf Open Source und neue Open-Initiativen.

Zunächst schien es unausweichlich, dass es für die neuen Datentypen entsprechender spezieller Methoden zu ihrer Speicherung und Analyse bedürfe, nämlich nativer XML-Datenbanken. Unter den diversen Angeboten ist „Tamino“ das weltweit mit Abstand erfolgreichste Produkt. Und dem Anbieter, der Darmstädter Software AG, verspricht es rosige Zeiten. Das Marktforschungsunternehmen IDC rechnet für das Segment der XML-Datenbanken mit jährlich rund 130 Prozent Wachstum und einem Marktvolumen von rund 700 Millionen Dollar im Jahr 2004. IDC-Analyst Anthony Picardi sah bereits zwei parallele Datenbankwelten entstehen: „XML-Datenbanken werden die relationalen ergänzen. Erstere eignen sich besser für die Speicherung von Dokumenten und Letztere für Texte und Zahlen.“

Doch die neuen Marktchancen wollten sich auch die Anbieter von relationalen Datenbanken nicht entgehen lassen. Schon 1999 stellten IBM und Oracle erstmals Zusatzfunktionen beziehungsweise Versionen ihrer Produkte vor, die - wenn auch noch arg begrenzt - XML-Dokumente speichern konnten. Das zugkräftige Argument der Branchengrößen lautet seither: Es ist ökonomischer, alles in einer Datenbank zu haben, als zwei Systeme nebeneinander pflegen, aufeinander abstimmen und miteinander integrieren zu müssen. Außerdem böten sich die relationalen Datenbank-Management-Systeme (RDBMS) als verlässliche und skalierbare Speicher für Informationen an, während die Dokumente nicht mehr seien als ein Präsentationsformat.

Diese oberflächliche Sichtweise hat sich geändert. In allen Verlautbarungen der RDBMS-Anbieter dieses Jahres stehen nicht funktionale Optimierungen ihrer relationalen Systeme im Vordergrund, sondern deren - angeblich bis zur Perfektion - verbesserten XML-Fähigkeiten. Im Prinzip aber hat sich nicht viel geändert: XML-Dokumente werden zwar als neue Datentypen angesehen, die sich ansonsten aber wie relationale Daten oder Objekte behandeln lassen. Wie das geschieht, stellt eine Untersuchung der Butler Group „Database Management Systems - Managing Relational and XML Data Structures“ dar. Auf dieser Analyse basiert weitgehend die folgende Zusammenfassung. Sie konzentriert sich dabei auf die am weitesten fortgeschrittenen XML-Integrationsansätze in IBMs DB2-Version 7 mit dem Zusatz „XML-Extender“, Oracle 9i und Microsofts SQL Server 2000.

Große Objekte in flachen Tabellen

Die einfachste Methode, ein XML-Dokument in eine relationale Datenbank zu übernehmen, besteht darin, es komplett als „Character Large Object“ (Clob) oder „Binary Large Object“ (Blob) in deren Tabellenstruktur abzubilden. Dabei lassen sich die Zusatzinformationen eines Dokuments, etwa die Definition seines Layouts, noch separat ablegen, um Such- und Sortieroperationen nicht zu aufwändig zu gestalten.