XML–Speicherungsmethoden - eine Klassifikation Motivation

Werbung
XML–Speicherungsmethoden eine Klassifikation
Meike Klettke
Universität Rostock
Fachbereich Informatik
[email protected]
www.xml-und-datenbanken.de
1
Motivation
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
■
■
XML-Dokumente können für sehr verschiedene
Anwendungen eingesetzt werden
Aussehen der Dokumente unterscheidet sich stark
Vielzahl von Methoden zur Speicherung existiert
Mehrere Varianten zur Modellierung von XML-Dokumenten
und deren Struktur
Klassifikation und
Einordnung bekannter Methoden
Meike Klettke
2
1
Inhalt
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
3-Ebenen von Datenbanken
3-Ebenen in der Dokumentverarbeitung ?
3-Ebenen für XML-Anwendungen ??
■
■
■
– Logische Ebene
– Physische Ebene
– Konzeptelle Ebene
Reihenfolge entspricht
der historischen
Entwicklung
Klassifikation von Speicherungsverfahren
– Grundprinzip, Vor- und Nachteile, Verwendung
■
Meike Klettke
3
Drei-Ebenen Architektur von
Datenbanken
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
konzeptuelle
Ebene
■
■
■
logische
Ebene
physische
Ebene
Konzeptueller Entwurf: ERM
Logische Ebene: Relationenmodell, relationale Algebra
Physische Ebene: interne Speicherung, Indizierung,
Transaktionsverarbeitung, Anfrageoptimierung
Meike Klettke
4
2
Drei-Ebenen Architektur in der
Dokumentverarbeitung
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
konzeptuelle
Ebene
■
■
■
logische
Ebene
physische
Ebene
Konzeptueller Entwurf: Editoren
Logische Ebene: Dokumentenmodell
Physische Ebene: interne Speicherung, Indizierung,
Anfragerealisierung
Meike Klettke
5
Drei-Ebenen Architektur für XMLAnwendungen
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Konzeptueller
Entwurf von XMLDokumenten
?
<..>
<..>
<..>
konzeptuelle
Ebene
■
</..>
</..>
</..>
logische
Ebene
?
physische
Ebene
XML-Dokumente
– Anfragen, Updates ?
– Speicherung ?
– Modellierung ?
Meike Klettke
6
3
Unterteilung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Datenzentrierte Dokumente
(strukturiert, regulär
Beispiele: Produktkataloge, Bestellungen,
Rechnungen)
Dokumentzentrierte Dokumente
(unstrukturiert, irregulär
Beispiele: wissenschaftliche Artikel,
Bücher, E-Mails, Webseiten)
Semistrukturierte Dokumente
(datenzentrierte und dokumentenzentrierte
Anteile
Beispiele: Veröffentlichungen, Amazon)
<order>
<customer>Meyer</customer>
<position>
<isbn>1-234-56789-0</isbn>
<number>2</number>
<price currency=„Euro“>30.00</price>
</position>
</order>
<content>
XML builds on the principles of two existing
languages, <emph>HTML</emph> and
<emph>SGML</emph> to create a simple
mechanism ..
The generalized markup concept ..
</content>
<book>
<author>Neil Bradley</author>
<title>XML companion</title>
<isbn>1-234-56789-0</isbn>
<content>
XML builds on the principles of two existing
languages, <emph>HTML</emph> and ..
</content>
</book>
Meike Klettke
7
Bedeutung des Dokumentcharakters
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
Sehr verschiedene Arten von
XML-Dokumenten auf logischer
Ebene
<..>
<..>
<..>
</..>
</..>
</..>
logische
Ebene
Das heißt:
– Nicht nur eine Methode für Anfragen, zur internen
Speicherung, zur konzeptuellen Modellierung, ...
– sondern jeweils ganze Bandbreite
Meike Klettke
8
4
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
<..>
<..>
<..>
</..>
</..>
</..>
logische
Ebene
datenzentriert semistrukturiert dok-zentriert
Logische Ebene
Dokumentmodell
Anfragen/Updates an
Struktur und Inhalt
XML, SGML
XQuery, XPath, DOM,
IR-Anfragen
Daten- und Dokumentmodell
Anfragen/Updates an
Struktur und Inhalt
XML, OEM
XQuery, Lorel
Datenmodell
Anfragen/Updates an
Inhalt
XML, RDBM, OODBM
XQuery, SQL, OQL
Meike Klettke
9
Realisierungen für die logische Ebene
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Dokumentzentrierte XML-Dokumente:
■
Darstellung: XML, SGML
■
Anfragen: XQuery, XPath, DOM, IR-Anfragen
Semistrukturierte XML-Dokumente:
■
Darstellung: XML, OEM
■
Anfragen: XQuery, Lorel
Datenzentrierte XML-Dokumente:
■
Darstellung: XML, rel. DM, oo. DM
■
Anfragen: XQuery, SQL, OQL
Meike Klettke
10
5
Anforderungen an die Speicherung
von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
Nach (Fiebig, Kanne, Moerkotte)
??
physische
Ebene
physische
Effektive Speicherung
Effizienter Zugriff auf XML-Dokumente
Ebene
oder Teile davon
– Transaktionsverwaltung
– Unterstützung von XPath und XQuery
– Unterstützung von SAX und DOM für Anwendungen
Wiederherstellbarkeit der Dokumente
Meike Klettke
11
Realisierungen für die physische
Ebene
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung der XML-Dokumente als Ganzes
und Indizierung (textbasiert native)
– Volltextindex
– Volltext- und Strukturindex
physische
Ebene
Speicherung der Graphenstruktur
(modellbasiertes natives Verfahren)
– generische Graphspeicherung
– Speicherung der DOM-Informationen
strukturierte Abbildung auf Datenbanken
– relationale Datenbanken
– objekt-orientierte und objekt-relationale Datenbanken
– Einsatz von benutzerdefinierten Mappingverfahren
Meike Klettke
12
6
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Konzeptueller
Entwurf von XMLDokumenten
??
konzeptuelle
Ebene
konzeptuelle
Ebene
datenzentriert semistrukturiert dok-zentriert
Konzeptuelle Ebene
Modellierung von
Struktur und Inhalt
baumbasierte
XML-Editoren
Modellierung von
Struktur und Inhalt
??
Modellierung von
Struktur
ER UML ORM
Meike Klettke
13
Realisierungen für die konzeptuelle
Modellierung
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Dokumentzentrierte XML-Dokumente
– Graphische Editoren
– Visualisierung von Baum- und Graphstruktur
Semistrukturierte XML-Dokumente
– ??
Konzeptueller
Entwurf von XMLDokumenten
konzeptuelle
Ebene
Datenzentrierte XML-Dokumente
– Erweiterung von ER
– Erweiterung und Einschränkung von UML
– Erweiterung von ORM
Hier werden in Zukunft noch weitere Forschungsansätze und
Tools dazukommen
Meike Klettke
14
7
Zusammenfassung: XML-Architektur
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Dokumentverarbeitung
XML
Konzeptueller
Entwurf von XMLDokumenten
<..>
<..>
<..>
</..>
</..>
</..>
Datenbanken
konzeptuelle
Ebene
logische
Ebene
Meike Klettke
physische
Ebene
15
Speicherungsmethoden
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
Vorstellung von Methoden
– Grundprinzip
– Eigenschaften
■
Dabei Klassifikation bekannter Methoden
Meike Klettke
16
8
Bedeutung des Dokumentcharakters
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
■
XML-Dokumente können die ganze Bandbreite von Daten
bis zu Volltextdokumenten einnehmen
(dokumentzentriert, semistrukturiert, datenzentriert)
Entsprechend eignen sich auch Speicherungsverfahren von
der Dokumentenverarbeitung bis zur Datenbanktechnologie
Weiterhin: Neuentwicklung von Methoden
Keine optimale Lösung für alle Anwendungen,
Dokumentcharakter spielt entscheidende Rolle
Meike Klettke
17
Meike Klettke
dok-zentriert
physische
Ebene
Struktur auf Werteebene
Struktur auf Schemaund Werteebene
datenzentriert
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
semistrukturiert
Architektur: physische Ebene
Dateien
Volltextindex, Strukturindex
generische Speicherung von
Graphen oder
DOM-Informationen
Struktur auf Schemaebene
relationale, objekt-relationale
oder objekt-orientierte
Datenbanken
18
9
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung
als Ganzes
strukturierte
Speicherung
in Datenbanken
Speicherung der
Dokumentstruktur
Volltext- und
XML-Index
Volltextindex
Information Retrieval
Suchmaschinen
Text Extender
- Oracle Text
- DB2 Text Extender
- Informix Text Data Blades
Meike Klettke
19
Grundprinzip der invertierten Liste
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Dokumente
Stichworte
1
A
2
B
3
A
D
C
C
Stichworte
F
D
D
E
Dokumente
A
1
B
2
C
2
3
D
1
2
E
3
F
1
3
3
Invertierte Speicherung:
Bestimmung der Stichworte
der Dokumente
Meike Klettke
Speicherung der Stichworte und
der zugehörigen Dokumente
20
10
Volltext-Index
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Begriff
hotel
Warnemünde
Rostock
ort
anreisebeschreibung
Verweis
<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>
- bekannte Methode (älter als relationale Datenbanken)
- Boolsches Retrieval (AND, OR, NOT)
Meike Klettke
21
Eigenschaften des Volltext-Indexes
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
■
Schemabeschreibung
– nicht erforderlich
Dokumentrekonstruktion
– Dokumente bleiben im Original erhalten
Anfragen
– Anfragen des Information Retrieval
Weitere Besonderheiten
– Volltextfunktionen (SQL-MM)
– keine Auswertung des XML-Markups
Einsatz
– für dokumentzentrierte XML-Anwendungen
Meike Klettke
22
11
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung
als Ganzes
strukturierte
Speicherung
in Datenbanken
Speicherung der
Dokumentstruktur
Volltext- und
XML-Index
Volltextindex
DB2 Text Extender
Oracle Text
Informix Verity Text
Search Data Blade
Meike Klettke
23
Kombinierter Volltext- und XMLIndex
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Volltext-Index
Term
Verweis
Element
Warnemünde
Seestraße
Rostock
<hotel>
<hotelname>Hotel Hübner</hotelname>
<adresse>
<plz>18119</plz>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
</adresse>
<anreisebeschreibung>
Aus Richtung Rostock kommend fahren Sie auf der
Stadtautobahn bis nach Warnemünde
<anreisebeschreibung>
</hotel>
...
XML-Index
Element Verweis Vorgänger
hotel
adresse
ort
strasse
anreisebeschreibung
- XML - Struktur kann in Anfragen ausgewertet werden
Meike Klettke
24
12
Eigenschaften des des kombinierten
Volltext- und XML-Indexes
■
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Schemabeschreibung
– nicht erforderlich
■
Dokumentrekonstruktion
■
Anfragen
– Dokumente bleiben im Original erhalten
– Anfragen des Information Retrieval
– Auswertung des Markup in den Anfragen
– XML-Anfragen möglich
■
Weitere Besonderheiten
■
Einsatz
– Volltextfunktionen (SQL-MM)
– für dokumentzentrierte XML-Anwendungen
– auch für semistrukturierte Anwendungen
Meike Klettke
25
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung
als Ganzes
Speicherung der
Dokumentstruktur
Abbildung der
Graphstruktur
strukturierte
Speicherung
in Datenbanken
Speicherung der
Informationen
des DOM
Neil Bradley
Florescu/Kossmann
Shimura/Yoshikawa/Uemura
Meike Klettke
26
13
Speicherung der Graphstruktur
Elements:
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Element
Type
Value
plz
int
18119
ort
string
Warnemünde
strasse
string
Seestrasse
Descendant-of
hotel
adresse
Attributes:
Element Attribute Type
Value
url
string
www...
autor
string
Müller
• generische Speicherung der Struktur des XML-Dokumentes
Meike Klettke
27
Eigenschaften der Speicherung der
Graphenstruktur
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
Schemabeschreibung
– Zur Speicherung nicht erforderlich
■
Dokumentrekonstruktion
■
Anfragen
– Möglich, aber sehr auswändig
– XML-Anfragen möglich
– Angepasste Datenbankanfragen
■
Weitere Besonderheiten
■
Einsatz
– Anfragen über vielen Elementen/Attributen sind aufwändig
– für daten- und dokumentzentrierte, sowie semistrukturierte
XML-Anwendungen
Meike Klettke
28
14
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung
als Ganzes
strukturierte
Speicherung
in Datenbanken
Speicherung der
Dokumentstruktur
Abbildung der
Graphstruktur
Speicherung der
Informationen
des DOM
Richard Edwards
infonyte
eXcelon XIS
(POET)
Meike Klettke
29
Speicherung des DOM / 1
DOMImplementation
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
Informationen des
Document Object Models
werden in Datenbanken
gespeichert
Node
NodeList
NamedNodeMap
Attr
CharacterData
Comment
Text
CDataSection
■
■
Verwendung relationaler
oder objekt-orientierter
Datenbanken oder
Entwicklung eigener
Speicherungsstrukturen
Document
DocumentFragment
DocumentType
Element
Entity
EntityReference
Notation
ProcessingInstruction
Meike Klettke
30
15
Speicherung des DOM / 2
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Methoden der Klasse Node:
- getChildren()
- getFirstChild()
- getNextSibling()
- getNodeType()
- getParentNode()
- getPreviousSibling()
- hasChildren()
NodeID
NodeType
PreviousSibling
Methoden der Klasse Element:
- getAttributes()
- getElementsByTagName(String)
- getTagName()
Methoden der Klasse Attribut:
- getName()
- getValue()
NodeID
DocID
ParentNode
NextSibling
FirstChild
NodeID
ElementID
TagName
AttributName
AttributValue
Meike Klettke
31
Eigenschaften der Speicherung von
DOM
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
■
Schemabeschreibung
– Zur Speicherung nicht erforderlich
Dokumentrekonstruktion
– Möglich, aber auswändig
Anfragen
– XML-Anfragen möglich
– Angepasste Datenbankanfragen
Weitere Besonderheiten
– Standardisierte und allgemein akzeptierte Schnittstelle
Einsatz
– für daten- und dokumentzentrierte, sowie
semistrukturierte XML-Anwendungen
Meike Klettke
32
16
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung
als Ganzes
strukturierte
Speicherung
in Datenbanken
Speicherung der
Dokumentstruktur
Vollständiges
(+automatisches)
Mapping
Benutzerdefiniertes
Mapping
Shanmugasundaram et al.
(Ronald Bourret)
(Deutsch/Fernandez/
Suciu : Stored)
Klettke/Meyer
POET
Meike Klettke
33
Abbildung der XML- Struktur auf
Struktur relationaler Datenbanken
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
XML-Dokument
<hotel url="www.hotel-huebner.de">
<hotelname>Hotel Hübner</hotelname>
<adresse>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
...
</adresse>
<preise>
<einzelzimmer>198</einzelzimmer>
...
</preise>
</hotel>
Hotel:
Adresse:
Preise:
HotelID
Hotelname
Adresse
Preise
H0001
Hotel Hübner
A0001
P0001
AdresseID
Ort
Strasse
A0001
Warnemünde
Seestraße
PreiseID
Einzelzimmer
P0001
198
...
...
- DTD ist erforderlich
- Anfragen verwenden SQL - Funktionalität
- Datentypen
Meike Klettke
34
17
Abbildung der XML- Struktur auf
objekt-orientierte Datenbanken
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
XML-Dokument
Hotel:
<hotel url="www.hotel-huebner.de">
<hotelname>Hotel Hübner</hotelname>
<adresse>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
...
</adresse>
<preise>
<einzelzimmer>198</einzelzimmer>
...
</preise>
</hotel>
HotelID
H0001
-
Hotelname
Hotel Hübner
Adresse
Ort
Strasse
Warnemünde
Seestraße
Preise
...
einzelzimmer
...
198
DTD ist erforderlich
Anfragen verwenden SQL - Funktionalität
Datentypen
Datenbanken mit vielen Nullwerten
Meike Klettke
35
Strukturierte Speicherung in
Datenbanken
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
■
Schemabeschreibung
– Zur Speicherung erforderlich
Dokumentrekonstruktion
– Nur eingeschränkt möglich (Protokollierung des
Abbildungsprozesses)
Anfragen
– Datenbankanfragen
– XML-Anfragen möglich
Weitere Besonderheiten
– Föderationen mit bestehenden Datenbanken möglich
Einsatz
– für datenzentrierte XML-Anwendungen
Meike Klettke
36
18
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Speicherung
als Ganzes
strukturierte
Speicherung
in Datenbanken
Speicherung der
Dokumentstruktur
Vollständiges
(+automatisches)
Mapping
Benutzerdefiniertes
Mapping
Deutsch/Fernandez/
Suciu : Stored
Ronald Bourret
DB2 XML Extender
Meike Klettke
37
Benutzerdefiniertes Mapping
XML-Dokument
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Mapping Vorschrift
<hotel url="www.hotel-huebner.de">
<hotelname>Hotel Hübner</hotelname>
<adresse>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
...
</adresse>
<preise>
<einzelzimmer>198</einzelzimmer>
...
</preise>
</hotel>
Datenbank
<ClassMap>
<ElementType Name="hotel"/>
<ToClassTable>
<Table Name="Hotelpreise"/>
</ToClassTable>
<PropertyMap>
<Attribute Name="url"/>
<ToColumn>
<Column Name="Hotel_URL"/>
</ToColumn>
</PropertyMap>
<PropertyMap>
<ElementType Name="hotelname"/>
<ToColumn>
<Column Name="Name"/>
</ToColumn>
</PropertyMap>
...
</Classmap>
Hotelpreise
Hotel_URL
Name
www.hotel-huebner.de
Hotel Hübner
Einzelzimmer
198
- Flexible Methode
- Integration von XML-Dokumenten in existierende Datenbanken
- Ein Mapping muss von Benutzer spezifiziert werden
Meike Klettke
38
19
Eigenschaften der Speicherung
mittels benutzerdefiniertem Mapping
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
■
■
■
■
Schemabeschreibung
– Zur Speicherung erforderlich
Dokumentrekonstruktion
– Meist nicht möglich (Voraussetzung: Protokollierung des
Abbildungsprozesses, vollständige Abb.)
Anfragen
– Datenbankanfragen
– XML-Anfragen in Ausnahmefällen möglich
Weitere Besonderheiten
– Integration in bestehende Datenbanken möglich
Einsatz
– für datenzentrierte XML-Anwendungen
Meike Klettke
39
Hybride Ansätze
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Auswahl
unterschiedlicher
Speicherungsmethoden
für verschiedene
Dokumentanteile
<hotel>
<hotelname>Strand Hotel Hübner</hotelname>
<adresse>
<plz>18119</plz>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
<nummer>12</nummer>
<telefon>0381/5434-0</telefon>
</adresse>
<hausbeschreibung> Sie finden unser elegant und
komfortabel eingerichtetes 4-Sterne Hotel
direkt an der Strandpromenade von Warnemünde
mit Blick auf Leuchtturm, Hafeneinfahrt
und Ostsee. </hausbeschreibung>
</hotel>
Sie finden unser elegant und
komfortabel eingerichtetes 4-Sterne Hotel
direkt an der Strandpromenade von Warnemünde
mit Blick auf Leuchtturm, Hafeneinfahrt
und Ostsee.
Hotel
Strand Hotel Hübner
Meike Klettke
Ort
Warnemünde
Strasse
Seestraße
Telefon
0381/5434-0
40
20
Speicherung von XML-Dokumenten
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
Als Dateien /
Clobs
Speicherung der
Dokumentstruktur
Strukturierte
Speicherung
in Datenbanken
Volltextindex
Abbildung der
Graphstruktur
Vollständiges
Mapping
Volltextindex
und XML-Index
Abbilden des
DOM-Modells
Benutzerdefiniertes
Mapping
Für dokument-zentrierte XML-Dokumente
Für semistrukturierte XML-Dokumente
Für daten-zentrierte XML-Dokumente
Meike Klettke
41
Zusammenfassung
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
■
XML-Datenbanken
– Vielzahl von Verfahren und Techniken existieren
nebeneinander
– oft aus den Bereichen Datenbanken und
Dokumentverarbeitung
– generell: es gibt keine „beste Lösung“ für alle XMLDokumente
– geeignetste Lösung ist abhängig von konkreten
Erfordernissen
– vieles ist noch in der Entwicklung
Meike Klettke
42
21
Literatur / 1
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
– Neil Bradley, The XML companion, Addison Wesley, 1998
– Yoshikawa, M., Amagasa, T., Shimura, T., Uemura, S., XRel: A PathBased Approach for Storage and Retrieval of XML Documents Using
Relational Databases: ACM Transactions on Internet Technology,
Volume 1, Nummer 1, S. 110-141, 2001
– Daniela Florescu, Donald Kossmann, Storing and Querying XML Data
Using an RDBMS, Bulletin of the Technical Committee on Data
Engineering, volume 22, number 3, September 1999, pp. 27-34
– Jayaval Shanmugasundaram, Kristin Tufte, Gang He, Chun Zhang,
David DeWitt, Jeffrey Naughton, Relational Databases for Querying
XML Documents - Limitations and Opportunities, Proceedings of the
25th VLDB Conference, Edinburgh, Scotland, 1999, pp. 302-314
– Meike Klettke, Holger Meyer, XML and Object-Relational Databases Enhancing Structural Mappings Based on Statistics, WebDB 2000,
Mai 2000
Meike Klettke
43
Literatur / 2
Einleitung
Anwendung
Datenbanken
XML
XML-Prozessoren
XML-Generierung
Architektur
Modellierung
XML-Speicherung
Indizierung
XML-Anfragen
Systeme
– Ronald Bourret, C. Bornhövd, A.P. Buchmann, A Generic Load/
Extract Utility for Data Transfer between XML Documents and
Relational Databases, Second International Workshop on Advanced
Issues of E-Commerce and Web-based Information Systems,
WECWIS'00
– Ronald Bourret, XML-DBMS - Middleware for Transferring Data
between XML Documents and Relational Databases,
http://www.rpbourret.com/xmldbms/index.htm
– Alin Deutsch, Mary F. Fernandez, Dan Suciu, Storing Semistructured
Data with STORED, SIGMOD 1999, Proceedings ACM SIGMOD
International Conference on Management of Data, June 1999,
Philadephia, Pennsylvania, USA, ACM Press, 1999, pp. 431-442
– Meike Klettke, Holger Meyer, XML and databases,
http://www.xml-und-datenbanken.de
Meike Klettke
44
22
Herunterladen