Semistrukturierte Daten 1Semistrukturierte Daten 1
Präsentation: Anwendung von XML im Präsentation: Anwendung von XML im DatenbankbereichDatenbankbereich
Gruppe 5:Gruppe 5: Hubert Kosior (9626561)Hubert Kosior (9626561) Mikolaj Koziarkiewicz (0309169)Mikolaj Koziarkiewicz (0309169) Florian Kruse (9626012) Florian Kruse (9626012) Markus Wegscheider (0325831)Markus Wegscheider (0325831) Thomas Zwanzinger (0125069)Thomas Zwanzinger (0125069) Felix Schernhammer (0225493)Felix Schernhammer (0225493) Sebastian Kerekes (0301942)Sebastian Kerekes (0301942)
2006-01-242006-01-24 22
Wozu XML (in) Datenbanken?Wozu XML (in) Datenbanken?
Wann nutzen?Wann nutzen?
keine/sehr dynamische Strukturkeine/sehr dynamische Struktur
Daten aus verschiedenen QuellenDaten aus verschiedenen Quellen
komplexe Anfragenkomplexe Anfragen
„„Legacy Systems“Legacy Systems“
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 33
Wozu XML (in) Datenbanken?Wozu XML (in) Datenbanken?
Nachteile:Nachteile:reduzierte Effizienzreduzierte Effizienz
RDBMS „alter“ und daher sichererRDBMS „alter“ und daher sicherer
Kompromisslösung: „XML-enabled“ RDBMSKompromisslösung: „XML-enabled“ RDBMSNicht immer besser!Nicht immer besser!
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 44
XML – MappingXML – MappingUmwandlung XML – in RelationenUmwandlung XML – in Relationen
Strukturelle Analyse (mittels DTD)Strukturelle Analyse (mittels DTD)Umwandlung in Relationen (Primärschlüssel, Fremdschlüssel, Umwandlung in Relationen (Primärschlüssel, Fremdschlüssel, Beziehungen,...)Beziehungen,...)
CLOB (Character Large Object)CLOB (Character Large Object)Kompletter XML – Baum gespeichertKompletter XML – Baum gespeichertVerlust der DBMS Funktionalitäten (Anfragebearbeitung, Verlust der DBMS Funktionalitäten (Anfragebearbeitung, Transaktionen,....)Transaktionen,....)
ProblemeProblemeXML ist hierarchischXML ist hierarchischFeste Reihenfolge von ElementenFeste Reihenfolge von ElementenGemischte Inhalte möglichGemischte Inhalte möglich
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 55
Structure Mapping IStructure Mapping I
XPath TabelleXPath Tabelle
pathidpathid pathExppathExpWert (aus DTD Wert (aus DTD
ersichtlich)ersichtlich)
11 /Buchbestand/Buchbestand
22/Buchbestand//Buchbestand/
BuchBuch BuchBuch
........
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
Für jeden Endknoten spezielle Für jeden Endknoten spezielle Tabellen (Mapping von Tabellen (Mapping von Elementen/Attributen) Elementen/Attributen) Buch Buch
Struktur wird XPath kompatibel in Struktur wird XPath kompatibel in Tabelle erfasst Tabelle erfasst XPath Tabelle XPath Tabelle
BuchBuch
pathidpathid TitelTitel AutorAutor SeitenSeiten PreisPreis
22The Adventures of Huckleberry The Adventures of Huckleberry
FinnFinn Mark TwainMark Twain 336336 12.7512.75
22 In der StrafkolonieIn der StrafkolonieFranz Franz
KafkaKafka 125125 9.909.90
........
2006-01-242006-01-24 66
Structure Mapping IIStructure Mapping II
DTD für XML Strukturen wird verwendetDTD für XML Strukturen wird verwendet
DTD muss vorhanden seinDTD muss vorhanden sein
Wird eventuell adaptiertWird eventuell adaptiert
Vorteilhaft für viele gleiche DatenVorteilhaft für viele gleiche Daten
Unflexibel für stark unterschiedliche XML DatenUnflexibel für stark unterschiedliche XML Daten sehr viele Tabellen sehr viele Tabellen
Erhalt der Datentypen Erhalt der Datentypen ( int, String,...)( int, String,...)
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 77
Model Mapping IModel Mapping I
XML wird als Baum XML wird als Baum interpretiert, daher interpretiert, daher meist nur eine große meist nur eine große TabelleTabelle
Struktur und InhaltStruktur und Inhalt
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
KnotenKnoten VorgängerVorgänger ReiheReihe NameName WertWert
11 BuchbestanBuchbestan
dd
22 11 11 BuchBuch
33 22 11 TitelTitel
The The Adventures...Adventures.....
44 22 22 AutorAutor Mark TwainMark Twain
55 22 33 SeitenSeiten 336336
66 22 44 PreisPreis 12.7512.75
77 11 22 BuchBuch
88 88 11 TitelTitel In der StrafkolonieIn der Strafkolonie
99 88 22 AutorAutor Franz KafkaFranz Kafka
........
2006-01-242006-01-24 88
Model Mapping IIModel Mapping II
Freie Struktur Freie Struktur (keine DTD notwendig)(keine DTD notwendig)
Keine Datentyp ErhaltungKeine Datentyp Erhaltung
Kompakte Darstellung in DBMS Kompakte Darstellung in DBMS (u.U nur eine Tabelle)(u.U nur eine Tabelle)
Einfache Umwandlung XML Einfache Umwandlung XML RDBMS RDBMS
Sehr flexibelSehr flexibel
Schlechte Performance Schlechte Performance (Rekursionen!!)(Rekursionen!!)
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 99
CLOB (Character Large Object)CLOB (Character Large Object)
Speichern des gesamten Objektbaums als CLOBSpeichern des gesamten Objektbaums als CLOB
Bei sehr unterschiedlichen XML Dokumenten Bei sehr unterschiedlichen XML Dokumenten (Dokumenten-orientiert)(Dokumenten-orientiert)
Suchfunktionen durch DBMS vorhanden Suchfunktionen durch DBMS vorhanden (primitive Textsuche, XPath Anweisungen)(primitive Textsuche, XPath Anweisungen)
Hersteller AbhängigHersteller Abhängig
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 1010
XML native Datenbank: DefinitionXML native Datenbank: Definition
Defines a (logical) model for an XML document – as opposed to the Defines a (logical) model for an XML document – as opposed to the data in that document – and stores and retrieves documents data in that document – and stores and retrieves documents according to that model. At a minimum, the model must include according to that model. At a minimum, the model must include elements, attributes, PCDATA, and document order.elements, attributes, PCDATA, and document order.
Has an XML document as its fundamental unit of (logical) storage, Has an XML document as its fundamental unit of (logical) storage, just as a relational database has a row in a table as its fundamental just as a relational database has a row in a table as its fundamental unit of (logical) storage.unit of (logical) storage.
Is not required to have any particular underlying physical storage Is not required to have any particular underlying physical storage model. For example, it can be built on a relational, hierarchical, or model. For example, it can be built on a relational, hierarchical, or object-oriented database, or use a proprietary storage format such object-oriented database, or use a proprietary storage format such as indexed, compressed files.as indexed, compressed files.
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 1111
Typen XML nativer DatenbankenTypen XML nativer Datenbanken
Textbasierte DatenbankenTextbasierte Datenbanken XML wird als Text gespeichertXML wird als Text gespeichert Benutzen von IndizesBenutzen von Indizes
Modellbasierte DatenbankenModellbasierte Datenbanken Modell (z.B. DOM) des XML Dokuments wird gespeichertModell (z.B. DOM) des XML Dokuments wird gespeichert Schwierigkeit das Dokument wiederherzustellen (SQL Schwierigkeit das Dokument wiederherzustellen (SQL
expressivity)expressivity)
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 1212
Features von XML nativen Features von XML nativen DatenbankenDatenbanken
Document CollectionsDocument Collections
Query Sprachen: XPath (evtl. mit "Join-Erweiterung"), Query Sprachen: XPath (evtl. mit "Join-Erweiterung"), XQuery, etc.XQuery, etc.
TransactionsTransactions
Problem mit Locking (was soll blockiert werden?)Problem mit Locking (was soll blockiert werden?)
mögliche Lösung von Stijn Dekeyser, et al: annotiere mögliche Lösung von Stijn Dekeyser, et al: annotiere gesperrte Knoten mit dem Kind, das gesperrt ist.gesperrte Knoten mit dem Kind, das gesperrt ist.
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 1313
SonstigesSonstiges
Round Tripping (= ursprüngliches XML Dokument aus Round Tripping (= ursprüngliches XML Dokument aus der Datenbank wiederherstellen)der Datenbank wiederherstellen)
Normalisierung (XLink bzw. Join nicht immer vorhanden)Normalisierung (XLink bzw. Join nicht immer vorhanden)
Referentielle Integrität – nur auf Dokumentenebene Referentielle Integrität – nur auf Dokumentenebene (DTD, XSchema, ...)(DTD, XSchema, ...)
Anwendung von XML im DatenbankbereichAnwendung von XML im Datenbankbereich
MotivationMotivation
DokumentenabspeicherungDokumentenabspeicherung
XML-Native DBXML-Native DB
2006-01-242006-01-24 1414
LiteraturLiteratur
http://dx.doi.org/10.1145/383034.383038http://dx.doi.org/10.1145/383034.383038
http://csdl.computer.org/comp/proceedings/icde/2002/1531/00/15310335.pdfhttp://csdl.computer.org/comp/proceedings/icde/2002/1531/00/15310335.pdf
Enderle Jost, XML in Datenbanken, Informatik Spektrum 24.12.2001, S.357-368Enderle Jost, XML in Datenbanken, Informatik Spektrum 24.12.2001, S.357-368
Danke SchönDanke Schön