Transaktionale DB-Verarbeitung von XML-Dokumenten
Final Report Abstract
Das Thema „XML und Datenbanken“ hat im Bereich der Datenbank- und Informationssysteme die Forschungsschwerpunkte „Objekt-Relational und Erweiterbarkeit“ abgelöst. Die klassische relationale DB-Verarbeitung wurde zu eng: Nachrichten sind auch Daten, die zunehmend als XML-Strukturen anfallen, Dokumente müssen zwischen heterogenen Systemen ausgetauscht werden, was durch Standardformate mit Selbstbeschreibung erheblich vereinfacht wird, usw. Synchronisations- und Recovery-Verfahren für die kollaborative Verarbeitung von XML-Dokumenten waren zu Projektbeginn kaum erforscht. Aktualisierungsoperationen waren in dem fast „flächendeckend“ standardisierten Bereich von XML und zusammenhängenden Technologien mit über 200 Einzelstandards nicht zu finden. Erst in jüngerer Zeit wurden die XQuery Update Facility in den Standard aufgenommen. Obwohl alle großen DBMS-Hersteller inzwischen native XML-DBMS oder entsprechende Erweiterungen in ihren relationalen Systemen realisiert haben, war der gesamte Bereich der XML-Transaktionsverwaltung kaum wissenschaftlich untersucht. Das Hauptziel des Projektes war deshalb die Entwicklung und Optimierung von transaktionsunterstützenden Konzepten, die auf die Anforderungen von XDBMS zugeschnitten sind. Die Konzepte sollten für einzelne XML-Sprachmodelle (APIs), aber auch für den gemeinsamen Einsatz mehrerer Sprachmodelle, die nagivierende und deskriptive Operationen umfassen, geeignet sein. Die betreffenden Synchronisations- und Recovery-Verfahren mussten wegen der Strukturvielfalt von XML-Dokumenten wesentlich mehr Flexibilität und Anpassungsvermögen bieten, um feinkörnige und auf die Anwendungsbedürfnisse zugeschnittene Synchronisation zu erzielen. Neue Herausforderungen lagen in der Deklarativität, der Mengenorientierung und den Navigationskonzepten heutiger XML-Sprachen begründet, deren Synchronisation wegen der Komplexität der Zugriffsmuster mit der benötigten Genauigkeit nur experimentell optimiert werden konnte. Mit der taDOM- Protokollfamilie entwickelten wir eine leistungsfähige Lösung für die XML-Synchronisationsproblematik. Sie gestattet vielfältige Strukturanpassungen, Erweiterungen und Optimierungen verschiedenster Art. Empirische Untersuchungen haben eine Reihe von Konzepten und Mechanismen identifiziert, die als die leistungsbestimmende Einflussgrößen für XML-Synchronisationsprotokolle (real performance drivers) gelten können. Eine geeignete Abstraktion bei den XML-Zugriffsmodellen und eine verstärkte Kapselung der wesentlichen transaktionsunterstützenden Verfahren führte zu Lösungen auf „Metaebene“, die einerseits eine isolierte Realisierung von speziellen Verfahren erlauben und andererseits einen leichten (kosteneffektiven) Austausch konkurrierender Protokolle und Methoden ermöglichen, um dadurch in derselben Ablaufumgebung alternative Lösungen auch hinsichtlich ihrer Leistungsfähigkeit detailliert vergleichen zu können. Als Antwort auf die immer stärker dominierenden Mehrkern-Prozessoren wurde begonnen, Formen und Nutzungsmöglichkeiten von intratransaktionaler Parallelität in XML-DBMS-Architekturen zu untersuchen. Als Voraussetzung dazu wurde mit Brackit eine Compiler-Plattform entwickelt, die XQuery-Anweisungen auf parallele Threads abbilden kann, um so den systeminternen Ressourcen-Wettbewerb bei inter- und intratransaktioner, paralleler XQuery-Verarbeitung untersuchen und verstehen zu können. Aus Aufwandsgründen konnte die Optimierung der taDOM-Protokolle auf Mehrkern-Prozessoren nicht mehr erfolgen. Das Projekt brachte wesentliche Synergieeffekte hervor, indem es verschiedene Aspekte weiterer Forschungsarbeiten zu bündeln erlaubte. So entstanden in einem erweiterten Projektrahmen Arbeiten zu Speicherungs- und Indexstrukturen für XML-Dokumente, Self-Tuning-Mechanismen, kostenbasierte XQuery-Optimierung usw., die wiederum die Ergebnisse zur „Transaktionalen DB-Verarbeitung von XML-Dokumenten“ wesentlich beeinflussten und deren Qualität erheblich verbesserten. Durch diese Bündelung profitierten alle Arbeiten hinsichtlich Genauigkeit der bereitgestellten/untersuchten Funktionalität, des erreichten Optimierungsgrades und der jeweiligen Reduktion des Aufwands.
Publications
- Contest of XML Lock Protocols, in: Proc. VLDB Conf., 1069-1080, 2006
Haustein, M. P., Härder, T., and Luttenberger, K.
- Locking-Aware Structural Join Operators for XML Query Processing, in: Proc. SIGMOD Conf., 467-478, 2006
Mathis, Ch., Härder, T., and Haustein, M.
- An Efficient Infrastructure for Native Transactional XML Processing, Data & Knowledge Engineering 61:3, 500-523, Elsevier, 2007
Haustein, M. P. and Härder, T.
- Node Labeling Schemes for Dynamic XML Documents Reconsidered, Data & Knowledge Engineering 60:1, 126-149, Elsevier, 2007
Härder, T., Haustein, M. P., Mathis, C., and Wagner, M.
- Optimizing Lock Protocols for Native XML Processing, Data & Knowledge Engineering 65:1, 147-173, Elsevier, 2008
Haustein, M. P. and Härder, T.
- XTCcmp, XQuery Compilation on XTC, in: Proc. VLDB Conf. (PVLDB 1:2), 1400-1403, 2008
Mathis, C., Weiner, A., Härder, T., and Hoppen, C. F.
- Implementing and Optimizing Fine-Granular Lock Management for XML Document Trees, in: Proc. DASFAA Conf., LNCS 5463, 631-645, 2009
Bächle, S., Härder, T., and Haustein, M. P.
- Storing and Indexing XML Documents Upside Down, Computer Science - Research and Development 24: 1-2, 51-68, Springer, 2009
Mathis, C., Härder, T., and Schmidt, K.
- The Real Performance Drivers Behind XML Lock Protocols, in: Proc. DEXA Conf., LNCS 5690, 38-52, 2009
Bächle, S., Härder, T.
- A Scalable Framework for Serializable XQuery (keynote paper), in: Proc. NDT Conf., CCIS 88, 683-698, Springer, 2010
Bächle, S. and Härder:, T.
- Essential Performance Drivers in Native XML DBMSs, in: Proc. SOFSEM Conf., LNCS 5901, 29-46, 2010
Härder, T., Mathis, C., Bächle, S., Schmidt, K., and Weiner, A.
- Advanced Cardinality Estimation in the XML Query Graph Model, in: Proc. BTW Conf., LNI P - 180, 207-226, 2011
Weiner, A. M.
- Lightweight Performance Forecasts for Buffer Algorithms, in: Proc. BTW Conf., LNI P - 180, 147-166, 2011
Bächle, S. and Schmidt, K.
- S3: Processing tree-pattern XML queries with all logical operators, Data & Knowledge Engineering 72: 31-62, Elsevier, 2012
Izadi, K., Haghjoo, M., and Härder, T.
- XML Indexing and Storage: Fulfilling the Wish List, Computer Science - Research and Development 27(2), Springer, 2012
Mathis, C., Härder, T., Schmidt, K., and Bächle, S.