Datenbanken Online Lexikon TH Köln, Campus Gummersbach
Aktuelle Änderungen - Suchen:

XML-Datenbank

Eine XML-Datenbank ist eine Datenbank, deren kleinste logische Einheit ein XML-Dokument ist, d.h. XML ist das grundlegende logische Konstrukt, auf dem die Datenbank aufgebaut ist. Dieser Datenbanktyp ist insbesondere in der Lage, XML-Dokumente gegen ein XML-Schema oder eine DTD zu validieren. Zu unterst�tzenden Sprachen sind ferner mindestens XPATH, XQUERY und XSLT.

Man unterscheidet native XML-Datenbanken von relationalen XML-Datenbanken mit XML-Zusatz. Eine relationale XML-Datenbank ist ein spezieller Typ einer objektrelationalen Datenbank, die den Datentyp XML als vordefinierten Datentyp benutzt und dem SQL-XML-Standard gen�gt.

Eine �bersicht �ber Implementierungen von XML-Datenbanken findet man z.B. in rpbourret

Warum XML-Datenbanken?

Bei �kleineren� Anwendungen k�nnen die XML-Daten als ASCII- bzw. Unicode-Datei auf der Festplatte liegen. Schwierig wird es aber bei sehr gro�en Dokumenten, bei einer Vielzahl gleichzeitiger Zugriffe, beim Wunsch einer Datenextraktion nach komplexen Bedingungen oder auch beim (maschinellen) Ver�ndern der Daten. Zudem m�ssen bei vielen Anwendungen Bedingungen wie Sicherheit, Ausfallschutz, Anfragem�glichkeiten, Integrit�tsbedingungen etc. gegeben sein. Da diese Basisfunktionalit�ten eines Datenbanksystems sind, liegt es nahe, ein Datenbanksystem, welche alle diese Anforderungen erf�llt, zur Verwaltung von XML-Dokumenten zu nutzen. XML-Datenbanken k�nnen in vielen Unternehmensbereichen eingesetzt werden. Z.B. k�nnten Portale f�r Unternehmensinformationen, Mitgliederdatenbanken, Produktkataloge, Teiledatenbanken sowie der B2B Dokumentenaustausch durch XML-Datenbanken unterst�tzt werden.

Vorteile

  • Die Dokumente werden als Ganzes gesichert und m�ssen nicht mehr in Relationale Strukturen umgewandelt werden. Somit k�nnen keine Informationen beim Umwandeln der hierarchischen XML-Daten aus ihrer Baumstruktur in flache Tabellen verloren gehen.
  • Bei nativen Datenbanken bleibt die Originaltreue der Dokumente erhalten
  • Unstrukturierte Dokumente k�nnen genauso gespeichert werden wie Strukturierte
  • Dokumentenstruktur muss nicht bekannt sein
  • Es existieren viele weit verbreitete Standards und somit gibt es viele Implementierungen zur Verarbeitung von XML Dokumenten

Nachteile

  • Bei gro�er Datenbasis sind relationale Datenbanksystem oft performanter
  • XML-Datenbanken sind noch nicht so weit verbreitet und es mangelt oft an Erfahrungen
  • XML-Datenbanken sind noch nicht so ausgereift wie relationale Datenbanken

Anforderungen an XML-Datenbanken

In diesem Abschnitt sollen die Anforderungen an ein ideales Datenbanksystem aufgezeigt werden. Reale Systeme entsprechen diesen Anforderungen mehr oder weniger. Diese Anforderungen k�nnen gleichzeitig als Bewertungsskala angesehen werden, wie gut die XML-Unterst�tzung der einzelnen Systeme tats�chlich ist. Zu den Anforderungen geh�rt unter anderem, dass die Daten nach bestimmten Kriterien durchsucht werden k�nnen, dass Daten ausgelesen werden k�nnen und das Dokumente oder Teile des Dokumentes (Elemente, Attribute?, Kommentare, Verarbeitungsanweisungen) ge�ndert werden k�nnen. Ebenso m�ssen Schema-definitionen und -�nderungen sowie ein performantes Verarbeiteten gro�er Datenmengen m�glich sein.

Allgemeine Anforderungen:

Da auch ein XML-Datenbanksystem ein Datenbanksystem ist, muss es auch alle Eigenschaften haben, die man von einem �echten� Datenbanksystem erwarten kann. Nachfolgend werden einige Eigenschaften beispielhaft genannt.

Effizienz
Die Grundvoraussetzung f�r die Akzeptanz ist die Effizienz des Datenbanksystems. D.h. Anfragen und Operationen m�ssen effizient ausgef�hrt werden. Um dies zu erm�glichen k�nne z.B. Techniken wie Caching oder Indizierung genutzt werden.

Transaktionsf�higkeit
Normalerweise arbeiten viele Benutzer gleichzeitig an einem Datenbanksystem. Das bedeutet, dass viele �nderungsoperationen, Anfragen usw. parallel zueinander bearbeitet werden m�ssen. Hierzu ist es erforderlich, dass das Datenbanksystem ein Transaktionskonzept unterst�tzt.

Skalierbarkeit
Nat�rlich muss auch eine XML Datenbank skalierbar sein. Bei XML ist jedoch nicht nur die Anzahl der Nutzer zu betrachten, sondern auch die unterschiedliche Gr��e der Dokumente. Gro�e Dokumente m�ssen ebenso performant verarbeitet werden wie kleinere.

Berechtigungskonzept
Ebenso m�ssen Zugriffsrechte f�r Daten definiert werden k�nnen. Z.B. sollen bestimmte Daten nur von bestimmten Benutzern eingesehen bzw. bearbeitet werden d�rfen. Aus diesem Grund sollte auch ein Zugangsschutz, bestehend aus Authentisierung und Autorisierung, vorhanden sein.

XML-Spezifische Anforderungen

Neben den allgemeinen Anforderungen ergeben sich bei XML-Datenbanken weitere Anforderungen, da das Datenbanksystem XML speichern k�nnen soll.

Standartkonformit�t
XML Datenbanken sollten die wichtigsten XML Empfehlungen und Standards ber�cksichtigen und unterst�tzen.

Dokumentenbehandlung
Wenn Daten gespeichert werden, die zwischen Anwendungen oder firmen�bergreifend ausgetauscht werden sollen sind das meist ganze XML Dokumente. Deshalt m�ssen vollst�ndige Dokumente verwaltet werden k�nnen. Diese Dokumente m�ssen dann auch vollst�ndig und unver�ndert wieder geliefert werden k�nnen. Man spricht in diesem Fall von Originaltreue der Dokumente

Schema-Unabh�ngigkeit
XML-Dokumente k�nnen eine schematische Beschreibung haben m�ssen aber nicht. Eine XML-DB muss die Dokumente deswegen speichern k�nnen unabh�ngig davon ob das Schema nun bekannt ist oder nicht. Wenn das Schema bekannt ist, pr�ft das DBS die �bereinstimmung der Dokumente mit dem Schema

Strukturunabh�ngigkeit
XML-Dokumente k�nnen rekursive Typdefinitionen haben, die beliebig tiefe Elementverschachtelungen in den Dokumenten erlauben. Ein XML-Datenbanksystem muss solche XML-Dokumente ohne Einschr�nkungen speichern k�nnen.

Web-Anbindung
Da XML zum Austauschformat im Intranet und Internet geworden ist, ist eine HTTP Anbindung des XML Datenbanksystems eigentlich zwingend notwendig. Dabei sollen die Dokumente genauso leicht referenzierbar sein als ob sie in dem Dateisystem liegen. Es sollen auch komplexere Datenbankoperationen m�glich sein.

Kodierung und Internationalisierung
Der XML Prozessor muss verschiedene Kodierungen verstehen, weil oft dokumente in nationalen Codierungen vorliegen(US-ASCII) Diese muss der Prozessor verstehen und verarbeiten k�nnen. Mindestens sollten jedoch die Kodierungen UFT-8 und 16 unterst�tzt werden. Ebenfalls muss die XML Datenbank auf die nationalen Eigenheiten reagieren k�nnen. Dazu geh�rt beispielsweise, dass Fehlermeldungen in der jeweiligen Sprache des Anwenders ausgegeben werden. Oder das die Sortierung nationalspezifisch erfolgt. (in Schweden wird das � z.B. hinter dem Z sortiert und in Deutschland entweder wie O oder Oe).

XML-spezifische Schnittstelle
Die Anfragesprache, die ein XML-Datenbanksystem unterst�tzt, muss die XML spezifischen Bed�rfnisse abdecken. Dazu geh�rt z.B., dass das Ergebnis einer Anfrage wohlgeformtes XML ist. Zu einem muss das Datenbanksystem in der Lage sein ein ganzes Dokument zu liefern oder aber z.B. aggregierte Daten aus mehreren Dateien zu liefern. (etwa eine Liste der Geh�lter einer Abteilung). Neben der Anfrage-Funktionalit�t muss es auch eine XML-Spezifische Schnittstelle zum Einf�gen, �ndern, und L�schen geben.

Speicherung von Nicht-XML-Daten
Auch wenn es auf den ersten Blick merkw�rdig erscheint, ist es w�nschenswert, dass ein XML-Datenbanksystem auch Daten speichern kann, die nicht als XML vorliegen, also etwa Bilder im GIF-Format. Aus XML Dokumenten kann �ber Referenzen auf solche Daten verwiesen werden. Daher macht es Sinn, wenn diese auch in der Datenbank gesichert werden k�nnen.

Anbindung anderer Datenquellen
Oft kommt es vor, dass zwar Datenaustausch �ber XML abgewickelt wird und auch die Datenhaltung sowie neue Anwendungen auf XML basieren aber auch Altsysteme vorhanden sind, die wichtige Aufgaben erf�llen und nicht abgel�st werden k�nnen. In solchen F�llen m�ssen oft die Daten zwischen den einzelnen Systemen ausgetauscht werden. Daf�r ben�tigt man Schnittstellen welche dies erm�glichen. Zudem besteht dann auch die M�glichkeit integrierte Anfragen zu stellen, die �ber Daten beider Systeme gehen.

Anfragetypen

Eine XML Anfragesprache, wie z.B. XQUERY, XPATH als die bekanntesten Vertreter, sollte m�glichst viel Arten von Anfragetypen unterst�tzen (XQUERY unterst�tzt alle aufgef�hrten Anfragetypen). Nachfolgend werden aus den XML-Charakteristika einige Anfragetypen abgeleitet.

Wertorientierte Anfragen:
- Anfragen an die Werte der Felder. Dazu geh�rt der Zeichenkettenvergleich und der numerische Vergleich
- Alle Personen mit dem Nachnamen 'M�ller'
- Alle Geh�lter kleiner als 2000

Textorientierte Anfragen:
- Suchfunktionalit�ten f�r lange Texte
- Enth�lt ein bestimmtes Wort bzw. enth�lt es in einem bestimmten Abstand zu einem anderen Wort
- Suchen �hnlicher Worte

Strukturorientierte Anfragen:
- Suche orientiert sich an Struktur des Dokumentes
- Das Element Buch hat ein Attribut ISBN

Verweisorientierte Anfragen:
- Anfrage an die Verweisstruktur zwischen Dokumenten
- Welche Dokumente zeigen auf eine Stelle?
- Welche anderen Dokumente werden aus einem Dokument referenziert?

Metadatenorientierte Abfragen:
- Anfragen an die Metadaten der Dokumente
- Welche Dokumente wurden seit dem 1.1.2002 ge�ndert?
- Welche Dokumente wurden von Hans Meier gespeichert?

Kombinierte Abfragen:
- Kombination der verschiedenen Abfragen
- Alle B�cher die weniger als 50 � kosten und im Titel den Begriff "XML" enthalten.

Anfrage-Ergebnisse

Als Ergebnis einer Anfrage sollte das XML-Datenbanksystem wieder XML liefern. M�gliche Ergebnisse einer Abfrage k�nnen z.B. sein:

  • Ein einzelnes Dokument so wie es gespeichert wurde
  • Menge von Dokumenten
  • XML-Fragmente (z.B. ein einzelnes Element mit seinen Kindern)
  • Werte ( z.B. ein Attributwert, ein Funktionsergebnis etc.)
  • Attribute ( ein Paar aus Name und Wert)
  • Verarbeitungsanweisungen

Native XML-Datenbank vs. relationalen XML-Datenbanken mit XML-Zusatz

 XML-f�hige RDBMSNative XML DB
DatenhaltungAls Eintr�ge in relationalen TabellenAls XML Dokumente
Originaltreue von DokumentenBleibt nur bei opaker Speicherung erhaltenBleibt immer erhalten
Indizierung von InformationenGrunds�tzlich m�glich, aber nur ganze ZellenWertindex, Textindex, Strukturindex
AnfragesprachenSQLXQuery, XNode, XPath
SchnittstellenODBC / JDBCXML: DB-API
Wiederfinden von DatenDurch IndexDurch XML-Baum
DokumentstrukturMuss bekannt seinMuss nicht bekannt sein

Quellen:

  • Bourret, Ronald: "XML and Databases", http://www.rpbourret.com/xml/XMLAndDatabases.htm
  • Sch�ning, Harald: "XML und Datenbanken", Hanser-Verlag, 2003, ISBN 3-446-22008-9
  • Seeman, Michael: �Native XML-Datenbanken im Praxiseinsatz�, Software- und Support-Verlag, 2003, ISBN 3-935042-35-3

siehe auch: XML?

Kategorie: Objektrelationale DB, NoSQL, XML, X