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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

HostPress für Agenturen und E-Commerce-Betreiber

Höchste Performance-Standards für Webseiten und ein persönlicher, kundenorientierter Premium Support.

6 Tagen ago

V-NAND: Samsung steigert Bit-Dichte um 50 Prozent

Die neue V-NAND-Generation bietet die derzeit höchste verfügbare Bit-Dichte. Samsung steigert auch die Geschwindigkeit und…

6 Tagen ago

Bericht: Google entwickelt App-Quarantäne für Android

Die Sicherheitsfunktion taucht in einer Beta eines kommenden Android-Updates auf. Die Quarantäne beendet unter anderem…

7 Tagen ago

Kostenloser Kurs zum Ausbau von Low-Code-Programmierung

Die OutSystems Developer School hilft Entwicklern, in 2 Wochen komplexe reaktive Anwendungen mit der Low-Code-Plattform…

7 Tagen ago

Cloudflare: DNS-basierte DDoS-Angriffe steigen im ersten Quartal um 80 Prozent

Das Jahr 2024 beginnt laut Cloudflare mit einem Paukenschlag. Die automatischen Systeme des Unternehmens wehren…

7 Tagen ago

Roblox: 34 Millionen Zugangsdaten im Darknet

Laut Kaspersky nehmen Infostealer gerade auch Spieleplattformen ins Visier. Neue Studie untersucht Angriffe zwischen 2021…

7 Tagen ago