XML-Datenbank
Als XML-Datenbank werden Datenbanken oder Datenbankverwaltungssysteme bezeichnet, die Daten im XML-Format speichern oder anderweitig mit XML-Daten umgehen können. Man kann daher XML-Datenbanksysteme in zwei Kategorien unterteilen:
- XML-enabled: Herkömmliche Datenbanksysteme (z. B. Relationale Datenbanksysteme, ...) die ein Mapping auf oder ins XML-Format erlauben. Man bezeichnet diese Vorgehensweise als datenorientiert.
- Native XML-Datenbanksysteme: Diese Systeme speichern die Information, ähnlich wie bei der Speicherung von XML-Dokumenten im Dateisystem, direkt als XML-Dokumente ab. Sie werden daher auch als dokumentenorientiert bezeichnet.
Inhaltsverzeichnis |
[Bearbeiten] Vorteile
Durch die weit verbreitete Verwendung von XML in Anwendungen (vor allem in Webanwendungen) ist die Nutzung von XML-Datenbanksystemen naheliegend, da somit der Umwandlungsprozess (z. B. von Relational auf XML) hinfällig wird.
Neben diesem Vorteil ergeben sich zusätzliche Vorteile durch das XML-Format:
- Da XML-Dokumente einen baumartigen Aufbau haben, können hierarchische Datenstrukturen besonders einfach serialisiert werden. XML-Datenbanksysteme können beispielsweise verwendet werden, um strukturierte Dokumente zu speichern.
- Da XML und verwandte Auszeichnungssprachen weit verbreitete, "offene Standards" des W3Cs sind und viele Implementierungen (meist Open Source) dieser Standards vorhanden sind, ist ein reiches Instrumentarium zur Verarbeitung von XML verfügbar.
[Bearbeiten] Nachteile
- XML-Datenbanksysteme sind bei großer Datenbasis nicht so performant wie relationale Datenbanksysteme.
- XML-Datenbanksysteme sind meist nicht so ausgereift, da sie meist jünger sind.
- Es mangelt oft an Erfahrung im Vergleich zu relationalen Datenbanksystemen.
[Bearbeiten] Vergleich der Technologien und Sprachen
Was in relationalen Datenbanksystemen SQL (zur Abfrage und Manipulation) ist, ist bei XML-Datenbanken vor allem XPath, XQuery und XUpdate. Die aus den relationalen Datenbanksystemen bekannten Fremdschlüssel können hier durch XPointer realisiert werden. Zur Transformation und Darstellung der XML-Daten kann XSL (XSLT, XSL-FO) verwendet werden.
[Bearbeiten] Persistenz
Eine übliche Methode zur Speicherung von XML-Daten, bei der XPath-Anfragen effizient ausgeführt werden können, ist die Verwendung einer Pre-Post-Tabelle. Dabei werden die Knoten des XML-Baumes einmal in Pre-Order-Reihenfolge (Tiefensuche, Dokumentordnung) und einmal in Post-Order (Breitensuche) nummeriert. Die Nummerierungen lassen sich als Koordinaten in der Ebene auffassen, in die ein XML-Baum gelegt wird.
[Bearbeiten] Literatur
- Bastian Gorke: XML-Datenbanken in der Praxis. Ein praktischer Einblick in die Welt der XML-Datenbanken und ihrer Verwendung in Programmiersprachen. bomots Verlag, Saarbrücken 2006, ISBN 3-939316-19-9.
- Uwe Hess: XML und Datenbanken. Die Schnittstellen von Access und SQl-Server professionell nutzen. Markt-und-Technik-Verlag, München 2002, ISBN 3-8272-6304-2.
- Wassilios Kazakos, Andreas Schmidt, Peter Tomczyk: Datenbanken und XML. Konzepte, Anwendungen, Systeme. Springer, Berlin u. a. 2002, ISBN 3-540-41956-X.
- Meike Klettke, Holger Meyer: XML & Datenbanken. Konzepte, Sprachen und Systeme. dpunkt-Verlag, Heidelberg 2003, ISBN 3-89864-148-1.
- Harald Schöning: XML und Datenbanken. Konzepte und Systeme. Hanser, München u. a. 2002, ISBN 3-446-22008-9.
- Michael Seeman: Native XML-Datenbanken im Praxiseinsatz. Software- und Support-Verlag, Frankfurt am Main 2003, ISBN 3-935042-35-3.
- Michael Wagner: SQL/XML:2006. Evaluierung der Standardkonformität ausgewählter Datenbanksysteme. Diplomica-Verlag, Hamburg 2010, ISBN 978-3-8366-9609-8.
[Bearbeiten] Weblinks
- Ronald Bourret: Native XML Databases. Sehr umfangreiche Liste aller nativen XML-Datenbanksysteme. Abgerufen am 15. Oktober 2011 (englisch).
- Diplomarbeiten. Abgerufen am 15. Oktober 2011.
[Bearbeiten] Native XML-Datenbanken
| Name | Stand | Hersteller | Kosten | Produktbeschreibung |
|---|---|---|---|---|
| BaseX | v7.1.1 (19.02.2012) |
BaseX Team | OpenSource Download |
|
| Berkeley DB XML | v2.5.16 (14.07.2011) |
Oracle | kostenlos Download |
… |
| DB2 9 with pureXML technology | DB2 Express-C v9.74 |
IBM | (no charge Edition) Download |
… |
| eXist | v1.41 (12.07.2011) |
eXist-db Team | OpenSource Download |
|
| MonetDB/XQuery | v2011.05.17 | monetdb Team | OpenSource Download |
… |
| Tamino | ? | Software AG | kostenpflichtig | … |
| Sedna | v3.4 (24.09.2010) |
Sedna Team | Open Source | Feature-List |
| Xindice | v1.2 Dev | Apache Software Foundation | OpenSource Download |
|