Produkte und Initiativen für XML-Speicherung

14.05.2001
Von 
Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.
MÜNCHEN (COMPUTERWOCHE) - Eine Reihe kleinerer Firmen und Open-Source-Projekte bringen Produkte auf den Markt, die den spezifischen Anforderungen bei der Speicherung und Abfrage von XML-Dokumenten gerecht werden sollen. Unabhängige Initiativen bemühen sich zudem um die Definition von Standard-Schnittstellen.

Über die richtige Speicherung von XML-Daten lässt sich trefflich streiten, zumindest zeigen dies die Marketing-Kämpfe zwischen Anbietern relationaler und objektorientierter Datenbanken. In der Praxis freilich sieht es so aus, als gebe es dafür kein Patentrezept, vielmehr hängt der richtige Weg von der Art der Daten ab. Als Hauptargument gegen relationale Datenbanken wird ins Feld geführt, dass die Abbildung von hierarchisch aufgebauten Dokumentbäumen, wie sie bei XML vorliegen, auf Tabellen Schwierigkeiten bereitet. Verbunden damit seien geringe Flexibilität, beispielsweise bei häufigen Schemaänderungen, sowie schlechte Performance. Andererseits erweitern Hersteller wie Oracle ihre objektrelationalen Datenbanken um Funktionen, die XML-Dokumente als eigenen Datentyp betrachten und darin in gewissen Grenzen auch Zugriffe auf Teilbäume erlauben.

Kaum Probleme bei flacher Struktur

Geringe Probleme bereitet die Umsetzung von XML-Informationen auf Tabellen meistens dann, wenn sie eine flache Struktur mit wenig verschachteltem Markup aufweisen. Dies trifft häufig dann zu, wenn XML als Austauschformat zwischen Applikationen genutzt wird - nicht selten werden dann die XML-Daten ohnehin aus relationalen Systemen generiert. Für diese relativ unproblematische Aufbereitung von tabellarischen Daten mit XML-Markup bieten die DBMS-Hersteller durchwegs selbst Zusatz-Tools an. Für Oracle existiert darüber hinaus mit "DB Prism" ein Open-Source-Produkt, das über den Funktionsumfang von Oracles "XSQL Servlet" hinausgeht. Bei der freien Software handelt es sich ebenfalls um ein Java-Servlet, das aber als Cartridge innerhalb der Datenbank ablaufen kann. Es versetzt so das DBMS in die Lage, auf SQL-Abfragen direkt XML-Daten zurückzugeben. In einer alternativen Betriebsweise kann DB Prism in Apaches XML-Publishing-Framework "Cocoon" integriert werden, wo es Daten aus relationalen Systemen im XML-Format zur Weiterverarbeitung an den XSLT-Prozessor oder "FOP" übergibt.

Komplexe Strukturen übersetzen

Für die Speicherung von auch komplexen Dokumenten in relationalen Datenbanken hat Wolfgang Meier seine freie Software "Exist" entwickelt. Der Autor verfolgt dabei nach eigenen Angaben einen hybriden Ansatz, bei dem ein DOM-Baum auf eine flachere Struktur übersetzt wird. Die ursprüngliche Position eines Knotens kann über eindeutige IDs rekonstruiert werden, die von der Software erzeugt werden. Exist erlaubt neben der Volltextsuche auch Abfragen, die sich an Vorschlägen für eine XML Query Language (XQL) orientieren und dabei die Xpath-Syntax nutzen. Die Software wurde ursprünglich für "MySQL" geschrieben, unterstützt nun aber auch Oracle.