Expose zur Studienarbeit Indizierung von XML-Daten mittels GRIPP



Ähnliche Dokumente
Nachtrag zu binären Suchbäumen

Netzwerkeinstellungen unter Mac OS X

EasyWk DAS Schwimmwettkampfprogramm

Kapiteltests zum Leitprogramm Binäre Suchbäume

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Arbeiten mit dem Outlook Add-In

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Updatehinweise für die Version forma 5.5.5

Update-Anleitung für SFirm 3.1

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Erstellen einer PostScript-Datei unter Windows XP

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

1 topologisches Sortieren

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Anlegen eines DLRG Accounts

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Erweiterungen Webportal

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Einrichten des Elektronischen Postfachs

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Zimmertypen. Zimmertypen anlegen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Updateanleitung für SFirm 3.1

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

GeoPilot (Android) die App

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

SJ OFFICE - Update 3.0

FlowFact Alle Versionen

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Outlook-Daten komplett sichern

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Barcodedatei importieren

proles-login. Inhalt [Dokument: L / v1.0 vom ]

Leichte-Sprache-Bilder

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Import und Export von Übergängern

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

ECO-Manager - Funktionsbeschreibung

euro-bis Import von Bestellungen aus Buch- und Aboauskunft Stand

Was meinen die Leute eigentlich mit: Grexit?

Die Online-Bestandserhebung im LSB Niedersachsen

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Internet Explorer Version 6

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Kapitel 3 Frames Seite 1

Um den chiptan-generator zu nutzen, müssen Sie zunächst Ihr Online-Banking umstellen.

Erstellen einer digitalen Signatur für Adobe-Formulare

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Kurzeinweisung. WinFoto Plus

Dieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis

Projektmanagement in Outlook integriert

Erstellen und Bearbeiten von Inhalten (Assets)

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Pflegende Angehörige Online Ihre Plattform im Internet

Synchronisations- Assistent

Anwendungsbeispiele Buchhaltung

Anleitung über den Umgang mit Schildern

Lehrer: Einschreibemethoden

DB2 Kurzeinführung (Windows)

Anleitung BFV-Widget-Generator

Elexis-BlueEvidence-Connector

Planung für Organisation und Technik

teischl.com Software Design & Services e.u. office@teischl.com

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Die Post hat eine Umfrage gemacht

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

S Sparkasse Hohenlohekreis. Leitfaden zu Secure

SANDBOXIE konfigurieren

Urlaubsregel in David

einrichtung in den kaufmännischen Programmen der WISO Reihe

Reporting Services und SharePoint 2010 Teil 1

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Powermanager Server- Client- Installation

Abwesenheitsnotiz im Exchangeserver 2010

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

Überprüfung der digital signierten E-Rechnung

Quellen prüfen und angeben

Betriebshandbuch. MyInTouch Import Tool

SICHERN DER FAVORITEN

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

GRUNDLEGENDES ZUM EINRICHTEN DES LAPTOP-ABGLEICHS

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Transkript:

Expose zur Studienarbeit Indizierung von XML-Daten mittels GRIPP Betreuer: Silke Trissl Autor: email: Florian Zipser zipser@informatik.hu-berlin.de

1 1 Motivation Auf dem Gebiet der relationalen Datenbanken wurden Konzepte wie Zugriffskontrollen, Backupsysteme und Steigerungen der Performance auf verschiedenen Ebenen entwickelt. Da diese Konzepte auch für die Datenspeicherung mittels XML eingesetzt werden können, ist es sinnvoll, die Vorteile relationaler Datenspeicherung mit denen der XML-Datenspeicherung zu verbinden. Um die Vorteile eines RDBMS nutzen zu können und einen schnellen Datenzugriff auf die hierarchischen Daten innerhalb der relationalen Struktur zu ermöglichen, sind geeignete Indizierungsverfahren, die auf die Struktur der zugrunde liegenden XML-Daten eingehen, notwendig. Hierfür wurde die Indizierung mittels der Pre- und Postorder bzw. stretched Pre- und Postorder (siehe [1] bzw. [2]) entwickelt. Diese bezieht sich auf die Position der einzelnen Elemente innerhalb des als Baum dargestellten XML-Dokumentes. Allerdings können damit nur XML- Dokumente indiziert werden, deren Struktur der eines Baumes entspricht. Mit der durch das W3C entwickelten Erweiterung von XML um XPointer (siehe [3]) wird diese Baumstruktur verletzt. Weiter ermöglichen es die XPointer rekursive Strukturen anzulegen. Um diese dennoch indizieren zu können, kann die für die Indizierung von Graphen entwickelte Methode GRIPP (siehe [4]) auf XML-Dokumente angewandt werden. GRIPP basiert auf der Indizierung durch Pre- und Postorder. Um die Lücke zwischen Bäumen und Graphen zu schließen, bildet GRIPP einen gegebenen Graphen auf einen Baum ab, indem es Kanten, die nicht zum spannenden Baum gehören, entfernt und stattdessen künstliche Knoten anlegt. Diese künstlichen Knoten werden als Hopknoten bezeichnet und enthalten einen Verweis auf den Zielknoten der Kante. Die Suche innerhalb des so entstandenen Baumes kann also mittels der Pre- und Postorder erfolgen, solange kein Hopknoten zur Quellknotenmenge der Anfrage gehört. Ist dieses aber der Fall, so erweitert sich die Suche auf die Zielknoten der entsprechenden Hopknoten. Hier ist es möglich, mittels Pruningstrategien einen Performancegewinn zu erzielen. Wie bereits erwähnt wurde, basieren XML-Dokumente auf einer Baumstruktur und nur die Erweiterung um XPointer verstößt gegen diese. Daher ist es möglich, die Knoten des XML- Dokumentes ohne die XPointer als spannenden Baum anzusehen und jeden XPointer als Hopknoten zu verstehen. Diese enthalten wie die ursprünglichen XPointer als Ziel den Knoten, auf den sie verweisen. So ist es möglich, das Prinzip von GRIPP auf XML-Daten zu übertragen. 2 Zielsetzung Das Ziel dieser Studienarbeit ist es, die Performance der Indizierung von relational gespeicherten XML-Dokumenten mittels GRIPP zu testen. Die Ergebnisse sollen anschließend mit denen nativer XML-Datenbanken oder relationaler Datenbanken, mit der Möglichkeit, XML-Daten zu speichern, verglichen werden. Es ist auch ein Ziel dieser Arbeit einen Vergleichspartner für die GRIPP Methode zu finden, der in der Lage, ist XML-Daten mit XPointern korrekt und vollständig zu beantworten.

2 3 Herangehensweise Um die Zielsetzung zu erreichen, gliedert sich diese Studienarbeit in vier Bereiche: 1. Datenbeschaffung Zunächst müssen hinreichend große XML-Dokumente, auf denen die Indizierung laufen soll, beschafft werden. Die Basis dieser Dokumente sollen einerseits natürliche, also reale Daten und andererseits generierte Daten sein. 2. Daten einlesen Weiter muss ein Parser entwickelt werden, der diese Daten in eine relationale Datenbank einliest und dabei die Indizierung vornimmt. 3. Anfragen Abschließend sind Anfragen über die in 1 gefundenen XML-Daten zu entwickeln, die mit Hilfe der Indizierungsmethode GRIPP zu beantworten sind. 4. Vergleichspartner Es muss ein DBMS gefunden werden, das in der Lage ist, Anfragen auf den beschafften Daten zu beantworten und dabei XPointer zu verfolgen. Wird ein solches DBMS gefunden, so sind die in 3 entwickelten Anfragen auch mit diesem System zu beantworten. Anschließend wird die Performance zwischen dem gefundenen System und der GRIPP-Methode verglichen. 3.1 Datenbeschaffung Für die späteren Performancetests der GRIPP Indexstruktur werden zwei unterschiedliche Datenarten benötigt, einerseits sind dies reale Daten und andererseits generierte Daten. Ein Teil der Daten der realen Welt stammt aus dem Projekt DBLP der Universität Trier (siehe [5]) und liegt in Form eines ca. 330 MB großen XML-Dokumentes vor. Das Dokument beinhaltet Informationen über wissenschaftliche Publikationen wie den Titel, den Autor, das Erscheinungsjahr, die Erscheinungsform u.ä.. Weitere Datenquellen könnten die Filmdatenbanken Gios Movie (siehe [6]), oder auch IMDB (siehe [7]) stellen. Die Generierung der künstlichen Daten soll mittels eines XML-Generators erfolgen. Dieser soll es möglich machen, große XML-Daten automatisch zu generieren. Wichtig ist hierbei die Möglichkeit, die zu erzeugenden Daten variabel gestalten zu können, beispielsweise durch Angabe eines XML-Schemas. Weiterhin ist es von Vorteil, wenn der Generator in der Lage ist, XPointer automatisch in den erzeugten Dokumenten unterzubringen. Wird kein Generator gefunden, der automatisch XPointer erzeugt, so ist ein Programm zu schreiben, das nachträglich diese Aufgabe erledigt. 3.2 Daten einlesen Der zweite Bereich beschäftigt sich mit dem Einlesen der zuvor gewonnenen XML-Dokumente in eine relationale Datenbank. Hierfür ist ein Programm in Java zu entwickeln, das die XML- Dokumente parst und modellbasiert in die relationale Datenbank schreibt. Außerdem ist die

3 Indexstruktur während des Parsens mit zu generieren, das heißt, neben den enthaltenen Daten müssen Positionsinformationen der XML-Elemente wie die Pre- und Postorder generiert und mitgespeichert werden. Die Behandlung von XPointern in einem Dokument stellt hier eine Schwierigkeit dar, da ein XPointer auf ein Element zeigen kann, das bisher noch nicht eingelesen wurde. Aus diesem Grund muss eine geeignete Struktur entwickelt werden, mit solchen XPointern umzugehen. Aufgrund der Größe der XML-Dokumente scheint es sinnvoll, als geeigneten XML-Prozessor die Simple API for XML (SAX) zu wählen. Diese liest ein gegebenes XML Dokument sequentiell ein, ohne den Inhalt, z.b. in Form einer Baumstruktur, zu speichern. Das bietet den Vorteil eines im Vergleich zu DOM wesentlich geringeren Hauptspeicherbedarfs während des Parsens. 3.3 Anfragen Anschließend werden Anfragen für die im ersten Bereich gewonnenen XMLDokumente entwickelt. Diese Anfragen sollen Grundlage eines Vergleiches zwischen der Anfragebeantwortung einer relationalen Datenbank mit dem Indizierungsverfahren GRIPP und einer in Bereich 3.4 gefundenen Datenbank sein. Hierbei handelt es sich um die in [4] beschriebenen Erreichbarkeitsanfragen. Um die Indexstruktur GRIPP bei der Anfragebearbeitung der relationalen Datenbank nutzen zu können, müssen geeignete Funktionen geschrieben werden, die sich in die relationale Zieldatenbank einbetten lassen. Hierfür bietet sich die Sprache PL/SQL an. 3.4 Vergleichspartner Ein DBMS wird gesucht, das in der Lage ist, XML-Daten zu speichern und die für die Daten entwickelten Anfragen korrekt und vollständig zu beantworten. Wird ein solches System gefunden, dann werden die in Bereich 3.3 erarbeiteten Anfragen auch in dem System getestet. Dabei spielt es keine Rolle, ob es sich um ein natives XML-Datenbanksystem oder um ein RDBMS mit XML-Erweiterung handelt. Um dieses System anschließend mit GRIPP vergleichen zu können, muss es jedoch in der Lage sein, XPointern zu folgen. Mögliche Datenbanksysteme für diesen Vergleich sind: Tamino, exist, Natix, dbxml, xhive, DB2 sowie Oracle mit XML-Erweiterung. Literatur 1. T. Grust and M. van Keulen. Tree Awareness for Relational DBMS Kernels: Staircase Join. Intelligent Search on XML Data, pages 231 245, 2003. 2. Torsten Grust, Maurice van Keulen, and Jens Teubner. Accelerating XPath evaluation in any RDBMS. ACM Trans. Database Syst., 29:91 131, 2004. 3. XML Pointer Language (XPointer). Technical report, January 2001. 4. Silke Trissl and Ulf Leser. Efficient Execution of Reachability Queries on Very Large Graphs. Technical report. 5. Michael Ley. DBLP - Digitales Bibliographie und Bibliotheksprojekt. http://www.informatik.unitrier.de/ ley/db/.

4 6. Gio Wiederhold. Gio s Movie. http://www-db.stanford.edu/pub/movies/doc.html. 7. Internet Movie Database Inc. IMDB - Earths Biggest Movie Database. http://german.imdb.com/.