Die API XML:DB für native XML-Datenbanken und ihre Implementierung in Apache Xindice

Ein Vorteil des Speicherns von Daten in nativen XML-Datenbanken besteht darin, dass man ineffiziente und unnötig speicherintensive halbstrukturierte Daten vermeiden kann. Diese weisen zwar eine reguläre Struktur auf, die jedoch so unterschiedlich ist, dass beim Mapping in eine relationale Datenbank entweder zahlreiche Spalten mit Nullwerten (unnötige Speicherbelegung) oder zahlreiche Tabellen (ineffiziente Anordnung) erstellt werden. Zwar können halbstrukturierte Daten in objektorientierten und hierarchischen Datenbanken gespeichert werden, doch ist es weitaus praktischer, sie in Form von XML-Dokumenten in einer nativen XML-Datenbank zu speichern.

Ein weiterer Grund, der für das Speichern in nativen XML-Datenbanken spricht, ist die Abrufgeschwindigkeit. Abhängig von den physikalischen Speichermethoden der nativen XML-Datenbank kann die Abrufgeschwindigkeit der Daten sehr viel schneller sein als bei einer relationalen Datenbank. Das liegt daran, dass einige der von XML-Datenbanken verwendeten Speicherstrategien ganze Dokumente physikalisch zusammen speichern oder physikalische (statt logische) Zeiger zwischen den Dokumententeilen einsetzen. So können Dokumente entweder ohne Verknüpfungen oder über physikalische Verknüpfungen abgerufen werden – beides ist schneller als die bei relationalen Datenbanken verwendeten logischen Verknüpfungen.

Ein weiteres Argument ist die mögliche Nutzung von XML-spezifischen Fähigkeiten wie dem Ausführen von XML-Anfragen. Angesichts der Tatsache, dass nur wenige datenzentrierte Anwendungen dies heute noch brauchen und dass relationale Datenbanken zunehmend XML-Abfragesprachen implementieren, tritt dieses Argument jedoch in den Hintergrund.

Apache Xindice

Apache Xindice ist eine native Datenbank, die speziell auf komplexe XML-Strukturen ausgelegt ist, die mit strukturierteren Datenbanken nur schwer bzw. gar nicht zu mappen wären.

Derzeit verwendet Xindice XPath als Anfragesprache und XML:DB XUpdate als Update-Sprache. Xindice bietet eine Implementierung der API XML:DB in Java und kann auch über andere Sprachen mit XML-RPC genutzt werden.

Die native XML-Datenbanktechnologie ist ein sehr neuer Bereich und Xindice stellt praktisch ein noch in der Entwicklung befindliches Projekt dar. Der Server unterstützt derzeit die Speicherung von gut aufgebauten XML-Dokumenten. Das heißt, dass kein Schema besteht, das die Zusammensetzung einer Dokumentensammlung einschränkt. Das macht Xindice zwar zu einer halbstrukturierten Datenbank mit enormer Flexibilität bei der Datenspeicherung, gleichzeitig muss man jedoch auf einige gängige Datenbankfunktionen wie Datentypen verzichten.

Xindice bietet derzeit drei API-Ebenen zum Programmieren von Anwendungen:

  • Mit der XML Database API XML:DB können Xindice-Anwendungen in Java entwickelt werden.
  • Über die CORBA API kann mit anderen Sprachen als Java auf Xindice zugegriffen werden.
  • Die Core Server API ist die interne Java-API der Core Database Engine. Das ist die API der untersten Ebene, die nur für Software verfügbar ist, die in der gleichen Java-VM-Umgebung wie die Datenbank-Engine selbst läuft.

Themenseiten: Big Data, Datenbank, Software, XML

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Die API XML:DB für native XML-Datenbanken und ihre Implementierung in Apache Xindice

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *