Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

04.05.2001 - 

XML-Datenbanken, Standard-APIs

Produkte und Initiativen für XML-Speicherung

MÜNCHEN (ws) - 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.

Datenbankanpassung an SMLVerbunden 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" (http://www.plenix.com/dbprism) 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 das DBMS so 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.

Spezialisierte RepositoriesFür die Speicherung von auch komplexen Dokumenten in relationalen Datenbanken hat Wolfgang Meier seine freie Software "Exist" (http://spock.ifs.tu-darmstadt.de/exist/index.xml) 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 "My SQL" 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 (http://www.ipedo.com) 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 (http://www.xyzfind.com), Pybiz (http://www.pybiz.com) mit "Xdisect" und XML Global Technologies mit "Go XML".

Kampf ums ÜberlebenFraglich 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 (http://www.dbxmlgroup.com) mit einem Open-Source-Geschäftsmodell begegnen. Die Basisversion der gleichnamigen Datenbank steht unter der "Lesser General Public Licence" (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" (http://ozone-db.org). Es handelt sich dabei um eine in Java geschriebene, objektorientierte Datenbank, die auch für die Speicherung von DOM-Bäumen geeignet ist.

Auch wenn die meisten Anbieter von nativen XML-Datenbanken ähnliche technische Ansätze verfolgen, so unterscheiden sie sich erheblich in den Schnittstellen, über die Dokumente abgefragt, geändert oder gespeichert werden. Diesem Missstand will die Initiative XML:DB (http://www.xmldb.org) abhelfen, die für diesen Zweck einen Standard etablieren will. Unterstützt werden diese Bemühungen vornehmlich von kleineren Herstellern. Der Erfolg dieser Initiative wird nicht zuletzt davon abhängen, ob die Großen der Branche daran teilnehmen.

Abb: Aufbau von XML-Datenbanken

Der Aufbau von Ipedos XML-Datenbank gleicht dem von Konkurrenzprodukten. Typische Funktionen sind die native Speicherung von Dokumentenbäumen sowie XML-spezifische Abfragen und Transformationen. Quelle: IPEDO