XML-Datenbank

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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.

Vorteile[Bearbeiten]

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.

Nachteile[Bearbeiten]

  • XML-Datenbanksysteme sind bei großer Datenbasis nicht so performant wie relationale Datenbanksysteme.
  • XML-Datenbanksysteme sind häufig nicht so ausgereift, da sie meist jünger sind.
  • Es mangelt oft an Erfahrung im Vergleich zu relationalen Datenbanksystemen.

Vergleich der Technologien und Sprachen[Bearbeiten]

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.

Persistenz[Bearbeiten]

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.

Literatur[Bearbeiten]

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

Weblinks[Bearbeiten]

  • Ronald Bourret: Native XML Databases. Sehr umfangreiche Liste aller nativen XML-Datenbanksysteme. Abgerufen am 15. Oktober 2011 (englisch).
  • Diplomarbeiten. Abgerufen am 15. Oktober 2011.

Native XML-Datenbanken[Bearbeiten]

Name Stand Hersteller Kosten Produktbeschreibung
BaseX v7.9
(27.06.2014)
BaseX Team Open Source
Download
  • XQuery 3.1, XPath 2.0, XQuery Update, XQuery Full Text
  • XSLT 1.0 (integriert), XSLT 2.0 (über Saxon), JSON, HTML5, SQL
  • interaktive und benutzerfreundliche GUI
  • Interfaces: REST, WebDAV, XML:DB, XQJ, 15 weitere Programmiersprachen
  • Schwerpunkt auf Performance und Skalierbarkeit
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 v2.1
(18.07.2013)
eXist-db Team Open Source
Download
  • XQuery 1.0, XPath 2.0, teilweise XQuery 3.0 [1]
  • XSLT 1.0 (integriert), XSLT 2.0 (über Saxon)
  • HTTP-Interfaces: REST, WebDAV, SOAP, XML-RPC, and Atom Publishing Protocol
  • XML database specific:
    • XMLDB
    • XUpdate
    • XQuery Update Extension [2]
MonetDB/XQuery v2011.05.17 monetdb Team Open Source
Download
Entwicklung der XQuery Erweiterung auf dem Stand von Mai 2011 "eingefroren"[3]
Tamino  ? Software AG kostenpflichtig
Sedna v3.4
(24.09.2010)
Sedna Team Open Source Feature-List
Xindice v1.2 Dev Apache Software Foundation Open Source
Download
  • Weiterführung dbXML Core (Dez. 2001)
  • nutzt X-Path als Abfragesprache
  • XML:DB X-Update für Aktualisierungen
  • XML:DB API durch Java
  • besitzt XML-RPC API
  • wird seit August 2011 nicht mehr weiterentwickelt [4]

Einzelnachweise[Bearbeiten]

  1. http://exist-db.org/exist/apps/doc/xquery.xml?q=xquery%203.0%20feature&field=all&id=D2.2.3#current-status-of-xquery-support
  2. http://exist-db.org/exist/apps/doc/update_ext.xml
  3. http://www.monetdb.org/XQuery
  4. http://attic.apache.org/projects/xindice.html

XML-enabled Datenbanken[Bearbeiten]