34
XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Embed Size (px)

Citation preview

Page 1: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

XML und Datenbanken

Textbasierte Abbildung von XML auf Datenbanken

Sebastian Roolant

Page 2: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Gliederung

1. Einleitung2. Die Textbasierte Abbildung

2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten

3. Zusammenfassung

Page 3: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Einleitung

Warum Abbildung von XML auf Datenbanken? XML nicht nur als temporäres Austauschformat sondern dauerhafte Speicherung von XML-

Dokumenten

keine zusätzliches XML-Datenbanbanksysteme sondern Speicherung in vorhandenen relationalen

Datenbanksystemen

Page 4: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Einleitung

Unterschiede, die überwunden werden müssen:Relational Welt XML

Die Daten sind in mehreren flachen Tabellen gespeichert. In manchen Systemen sind verschachtelte Tabellen erlaubt, aber nicht in beliebiger Tiefe.

Daten liegen in einer hierarchischen, beliebig tiefen Struktur vor

Spalten haben einen einzelnen Wert. Elemente mit Werten können mehrfach auftreten.

keine Ordnung der Tabellenzeilen Elemente sind geordnet.

Schema ist verpflichtend und vollständig. Schema ist optional und kann offen sein.

Nur im Schema beschriebene Information kann gespeichert werden.

Kommentare und Verarbeitungsanweisungen sind überall im Dokument erlaubt, ohne dass sie im Schema deklariert werden müssen.

eindeutige Struktur der Daten komplexe Inhaltsmodelle wie Auswahl (choice) und gemischter Inhalt

Page 5: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Einleitung

Klassifikation der Verfahren:

Page 6: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Einleitung

Dokumentencharakter spielt beim Einsatz der Verfahren eine wichtige Rolle

Datenzentrierte XML-Dokumente Dokumentzentrierte XML-Dokumente

In erster Linie Daten von Interesse Beinhalten Daten und Struktur der Informationen

Daten sind häufig aus anderen Informationen generiert worden

Daten sind häufig bereits ursprünglich im XML-Format erstellt worden

Bsp.: elektronische Kataloge, Bestellungen …

Bsp.: wissenschaftl. Artikel, Buchinhalte

Für Anfragen ist das Erstellen von Ergebnisdokumenten notwendig

XML-Dokumente sollen bei der Speicherung als Ganzes erhalten bleiben oder originalgetreu wiedergegeben werden können

Page 7: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Gliederung

1. Einleitung2. Die textbasierte Abbildung

2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten

3. Zusammenfassung

Page 8: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Die textbasierte Abbildung

eignet sich für dokumentzentrierte XML-Dokumente

XML-Dokumente werden als Ganzes gespeichert auch opake Speicherung genannt

keine Umwandlungsoperationen notwendig

zwei Möglichkeiten der Speicherung: als Dateien im Dateisystem als CLOBs innerhalb von Datenbanksystemen

Page 9: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Speicherung

XML-Dokumente als Dateien im Dateisystem

DBS XML

Anwendung

DBS hat Zugriff über Zeiger

Zugriff auch direkt von Außen möglich

Page 10: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Speicherung

XML-Dokumente als CLOBs in DBS

DBS

Anwendung

DBS kann direkt auf XML-Daten zugreifen

Zugriff von Außen nur über DBS möglich

CLOB

Page 11: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Speicherung

Anfragen durchsuchen die XML-Dokumente sequenziell

bei großen Dokumentkollektionen sehr ineffizient

Anlegen eines Indexes notwendig Effizienzsteigerung Verringerung der Antwortzeiten

Page 12: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Gliederung

1. Einleitung2. Die textbasierte Abbildung

2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten

3. Zusammenfassung

Page 13: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Indexbildung

Klassifikation der Indexbildung

Page 14: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex

bekannt aus dem Information Retrieval (Bsp. Suchmaschinen)

3 Teilaufgaben des Information Retrieval:

A

B

C

D

E

F

Stichworte Dokumente

1

2

1

2

3

1

3

3

3

2

Dokumente Index Benutzerschnittstelle

Deskribierung

Recherche

Ergebnis- präsentation

Page 15: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex Deskribierung: Aufbereitung von Dokumenten

statisch wortbasierte Verfahren Stoppworte Streichen seltener Begriffe

linguistische Verfahren Stammwortreduktion Wortnormalisierung Erkennen von Satzzusammenhängen

wissensbasierte Verfahren Klassifikation Thesaurus Ontologien

Page 16: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex

Index wird so erstellt, dass ein schneller Zugriff auf die Informationen möglich ist

häufig mehrere Indizes für verschiedene Anfragearten

Realisierung der Indizes als invertierte Listen

Page 17: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex

Indexbildung

A

B

C

D

E

F

Stichworte Dokumente

1

2

1

2

3

1

3

3

3

22

1

3

Dokumente Stichworte

A D

B

F

C D

A C D

E

Bestimmung der Stichworte in den Dokumenten

Speicherung der Stichworte und der zugehörigen Dokumente

Page 18: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex<hotel>

<hotelname>Hotel Hübner</hotelname>

<adresse>

<plz>18119</plz>

<ort>Warnemünde</ort>

<strasse>Seestraße</strasse>

<nummer>12</nummer>

</adresse>

<anreisebeschreibung>

Aus Richtung Rostock kommend…

</anreisebeschreibung>

</hotel>

Begriff Verweis

hotel

Warnemünde

Rostock

ort

anreisebeschreibung

Page 19: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex

Verfahren zur Recherche:

boolesche Retrieval

Vektorraummodell

prohabilistische Modell

Page 20: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex

Ranking

A

B

C

D

E

F

Stichworte Dokumente

3

2

2

3

3

1

1

1

2

32

1

3

Dokumente Stichworte

A D

B

F

C D

A C D E

Bestimmung der Stichworte der Dokumente und der Häufigkeit ihres Auftretens

Speicherung der Stichworte und der zugehörigen Dokumente, sortiert nach Häufigkeit des Auftretens

Page 21: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltextindex

Anfragen des booleschen Retrievals sind möglich AND, OR und NOT über Index realisierbar

Information Retrieval Anfragen Wortstammreduktion, Ähnlichkeitssuche, Phrasensuche…

Ranking der Ergebnismengen Auftretenshäufigkeit, Position

Page 22: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltext- und Strukturindex

nur Volltextindex: keine Berücksichtigung der XML-Strukur

bei vielen Anfragen ist die Struktur aber notwendig

daher: Index wird erweitert um die hierarchische Struktur der XML-Dokumente

Page 23: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

<hotel> <hotelname>Hotel Hübner</hotelname> <adresse>

<plz>18119</plz><ort>Warnemünde</ort><strasse>Seestraße</strasse><nummer>12</nummer>

</adresse> <anreisebeschreibung> Aus Richtung Rostock kommend… </anreisebeschreibung></hotel>

Term Verweis

Warnemünde

Seestraße

Rostock

Element

Element Verweis

hotel

adresse

ort

Ordnung Vorgänger

strasse

anreisebeschreibung

1

2

2

3

3

Volltext-Index

XML-Index

Page 24: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltext- und Strukturindex

Anfragen des booleschen Retrievals sind möglich AND, OR und NOT über Index realisierbar

Information Retrieval Anfragen Wortstammreduktion, Ähnlichkeitssuche, Phrasensuche…

Auswertung der XML-Tagstruktur

XML-Anfragesprachen einsetzbar, um die im Index gespeicherten Informationen auszuwerten

Page 25: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Volltext- und Strukturindex

XML‘

XPath

Anfrageauswertung

XPath

Funktionsaufruf

XML‘

DBS

XML

Index

Einsatz von Anfragesprachen

Page 26: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Gliederung

1. Einleitung2. Die textbasierte Abbildung

2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten

3. Zusammenfassung

Page 27: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Umsetzung in Produkten

alle Hersteller großer kommerzieller relationaler Datenbanksysteme unterstützen die Speicherung von XML

Lösungen variieren zwischen den Systemen

ein neuer Teil des SQL-Standards als Teil 14 wird XML-Funktionalität in SQL standardisiert Name: SQL/XML definiert u.a. einen eigenen Typ zur Speicherung von XML

Page 28: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Umsetzung in Produkten

DB2 UDBXML-Extender Speicherung als „XML Column“ (ADT), d.h. XML-

Dokument als Wert einer Spalte Typen dieser Spalte:

XMLVarchar für kürzere Dokumente XMLCLOB für größere Dokumente XMLFILE, um Dokumente außerhalb der Datenbank zu

speichernKontrolle durch Datenbank

Page 29: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Umsetzung in Produkten

DB2 UDB

Beispiel für Tabellendefinition:

CREATE TABLE Hoteluebersicht (id INTEGER NOT NULL PRIMARY KEY, Hotels db2xml.xmlclob);

Page 30: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Umsetzung in Produkten

Oracle Database

mit Oracle 9i wurde eine neuer systemdefinierter Objekttyp eingeführt: XMLType es kann zwischen zwei Realisierungen gewählt

werden In einer Realisierung entspricht XMLType dem

CLOB

Page 31: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Umsetzung in Produkten

Oracle Database

Tabelle mit einer Spalte vom Type XMLType:CREATE TABLE Hoteluebersicht

(Hotels SYS.XMLType);

elegantere Möglichkeit (keine benannten Spalten):CREATE TABLE Hoteluebersicht OF XMLTYPE;

Fkt. value(Hoteluebersicht) um Zeilen anzusprechen

Page 32: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Gliederung

1. Einleitung2. Die textbasierte Abbildung

2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten

3. Zusammenfassung

Page 33: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Zusammenfassung

Methode der opaken Speicherung ermöglicht, Dokumente im Original zu erhalten

keine Umformung und somit keine Rekonstruktion der Dokumente notwendig

Index wird außerhalb der Dokumentenkollektion gespeichert, verändert die Dokumente also nicht

Page 34: XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant

Zusammenfassung

Anfragen, die das gesamte Dokument liefern, lassen sich gut ausführen

anders bei Anfragen, bei denen nur ein Ausschnitt aus einem Dokument ausgegeben werden sollen gesamte Dokument muss geparst werden

geeignet für dokumentzentrierte XML-Anwendungen