Publikationsserver der Universitätsbibliothek Marburg

Titel:Basiskomponenten von XML Datenbanksystemen
Autor:Schneider, Martin
Weitere Beteiligte: Seeger, Bernhard (Prof.)
Veröffentlicht:2004
URI:https://archiv.ub.uni-marburg.de/diss/z2005/0323
DOI: https://doi.org/10.17192/z2005.0323
URN: urn:nbn:de:hebis:04-z2005-03239
DDC:004 Informatik
Titel (trans.):Generic Building Blocks for XML Database Systems
Publikationsdatum:2005-06-08
Lizenz:https://rightsstatements.org/vocab/InC-NC/1.0/

Dokument

Schlagwörter:
Objektrelationales Datenbanksystem, XML, XML 1.1, Semi-strukturiert, Softwarebibliothek, Semi-structured, Nonstandard-Datenbanksyste, XML-Schema, JAXP, XPath 2.0, XPath, Software library, Relationales Datenbanksystem

Zusammenfassung:
Für die Entwicklung von vielen kleinen und großen Softwaresystemen reichen herkömmliche (objekt-)relationale Datenbanksysteme nicht mehr aus. Viele interessante Daten sind in der Praxis nicht voll strukturiert und somit nicht effektiv mit einem Standarddatenbanksystem zu verwalten. Es werden deshalb neuartige standardisierte Systeme für unstrukturierte bzw. semi-strukturierte Daten benötigt. Diese Lücke wird nun von nativen XML Datenbanksystemen geschlossen, die als Datenformat das vom W3C standardisierte XML verwenden. XML Datenbanksysteme unterstützen außerdem viele weitere XML Standards, wie beispielsweise XSchema für Grammatiken, XPath und XQuery für die Anfrageverarbeitung, XSLT für Transformationen und DOM und SAX für die Applikationsanbindung. In dieser Arbeit werden Grundlagen von nativen XML Datenbanksystemen betrachtet, sowie neue Strukturen vorgeschlagen und alte Strukturen optimiert. Es wird auf eine solide Basis zum Testen von Algorithmen Wert gelegt. Hierzu wurde ein Testframework innerhalb der Java-Bibliothek XXL implementiert und anschließend verwendet. Die XXL Bibliothek enthielt bereits vor dieser Arbeit einige Komponenten, die für die Implementierung von Datenbanksystemen eingesetzt werden konnten, beispielsweise eine generische Anfrageverarbeitung und Indexstrukturen. Zusätzlich zu den vorhandenen Komponenten wurden nun neue hinzugefügt, so z.B. eine Komponente für den direkten Festplattenzugriff, ein frei konfigurierbarer Recordmanager, sowie ein Datenbank-Framework. Das zentrale Anliegen der Arbeit ist die Optimierung der Speicherungsebene von nativen XML Datenbanksystemen. Wichtig ist, dass bei der Abbildung von XML Dokumenten auf den Externspeicher die Baumstruktur erhalten bleibt und somit eine performante Anfragenverarbeitung mit wenigen Externspeicherzugriffen möglich wird. Ähnlich wie bei R-Bäumen, können für XML Speicherungsstrukturen verschiedene Splitalgorithmen angegeben werden, die gewisse Heuristiken verfolgen. Hier zeigte sich der neu entwickelte, so genannte OneCutSplit mit Scaffold als klar überlegen gegenüber den bisher bekannten Splitalgorithmen aus der Literatur. Für das Einfügen von Dokumenten wurde weiterhin ein Bulkloading Mechanismus implementiert. Es konnte gezeigt werden, dass die Speicherstruktur für die hiermit erzeugten Dokumente deutlich besser war als bei der Benutzung von Splitalgorithmen. Dies macht sich erheblich in den Antwortzeiten von Anfragen bemerkbar. Zur Beschleunigung der Anfrageverarbeitung sind in nativen XML Datenbanksystemen Indexstrukturen unverzichtbar. Zu diesem Zweck wurde ein neuartiger Signaturindex entwickelt und in die XML Speicherungsstruktur unter Verwendung von Aggregaten integriert. Die Evaluierung des Indexes zeigte einen deutlichen Vorteil bei der Auswertung von XPath-Ausdrücken. Weiterhin konnten erstmals durch die Benutzung des Datenbank-Frameworks von XXL native Speicherungsverfahren für XML mit solchen verglichen werden, die auf relationalen Datenbanksystemen aufsetzen. Hierbei zeigte sich, dass nativer XML Speicher auch bei einfachen XPath-Anfragen gute Leistungswerte besitzt. Bei Navigations- und Änderungsoperationen ist der native XML Speicher den relationalen Verfahren deutlich überlegen. In der Anfrageverarbeitung auf XML Daten spielen allerdings nicht nur XPath und XQuery eine Rolle. Für die Bearbeitung von großen Mengen von XML Dokumenten sind Operatoren sinnvoll, welche eine Verarbeitung durch Abbildung von XML Dokumenten auf neue XML Dokumente realisieren. Dies ist analog zur relationalen Algebra, in der allerdings der Grunddatentyp Tupel Verwendung findet. Im Vergleich zum relationalen Modell werden für XML jedoch viele verschiedene Operatoren benötigt, die nicht auf wenige Grundoperationen zurückgeführt werden können. In dieser Arbeit werden einige neue Operatoren vorgestellt, die nicht nur für die Anfrageverarbeitung innerhalb von XML Datenbanksystemen, sondern auch für Anfragen im Internet geeignet sind. Durch das entwickelte Framework soll es Anwendern in Zukunft auf einfache Art und Weise möglich sein, Internetquellen in eigene Anfragen einzubauen.


* Das Dokument ist im Internet frei zugänglich - Hinweise zu den Nutzungsrechten