Web

Neue Produkte und Initiativen für die XML-Speicherung

03.05.2001
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.

Von CW-Redakteur Wolfgang Sommergut

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.

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.

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.

Anders als Ansätze, die XML-Dokumente auf relationale Datenbanken abbilden wollen, bauen eine Reihe von kleineren Firmen spezialisierte XML-Repositories. Sie stehen dabei in Konkurrenz zu Schwergewichten wie der Software AG mit "Tamino" oder Anbietern von objektorientierten Datenbanken wie "Poet " oder "Exelon", die ihre Systeme für die XML-Speicherung erweitert haben. Allen diesen Produkten ist gemein, dass sie DOM-Bäume in ihrem nativen Format hinterlegen und Zugriffe auf spezifische Dokumentabschnitte über Xpath erlauben. Zusätzlich bieten die Hersteller meist noch Volltextsuche und Caching von Dokumenten an. Zu diesen neuen Anbietern zählt Ipedo mit der gleichnamigen Datenbank, die eben in einer Betaausführung freigegeben wurde. Das Softwarehaus brachte dabei Erfahrungen ein, die es mit dem LDAP-Directory-Cache erworben hatte. Zu den weiteren Anbietern in diesem Segment gehören Xyzfind, Pybiz mit "Xdisect" und XML Global Technologies mit "Go XML". Die beiden letztgenannten umfassen zusätzlich einen XSLT-Prozessor, der aus der Datenbank abgefragte Dokumente gleich transformieren kann.

Fraglich ist natürlich, wer von diesen Startups überleben wird, wenn die wahrscheinliche Bereinigung des Marktes für XML-Datenbanken einsetzt. Dieser drohenden Auslese möchte dbXML mit einem Open-Source-Geschäftsmodell begegnen. Die Basisversion der gleichnamigen Datenbank steht unter der "Lesser General Public License" (LGPL), Geld soll die Enterprise-Version einspielen. Sie weist höhere Skalierbarkeit und Funktionen für Management und Anwendungsentwicklung auf. Ganz dem Open-Source-Gedanken verpflichtet fühlen sich die Autoren von "Ozone". Es handelt sich dabei um eine in Java geschriebene, objektorientierte Datenbank, die auch für die Speicherung von DOM-Bäumen geeignet ist. Federführend tätig für dieses Projekt ist die Leipziger SMB GmbH.

Auch wenn die meisten Anbieter von nativen XML-Datenbanken ähnliche technische Ansätze verfolgen, so unterscheiden sie sich dennoch erheblich in den Schnittstellen, über die Dokumente abgefragt, geändert oder gespeichert werden können. Diesem Missstand will die Initiative XML:DB abhelfen, die für diesen Zweck einen Standard etablieren will. Unterstützt werden diese Bemühungen vornehmlich von kleineren Herstellern. Dazu zählen praktisch alle der weiter oben genannten XML-Datenbankanbieter. Der Erfolg dieser Initiative wird nicht zuletzt davon abhängen, ob die Großen der Branche daran teilnehmen.