Gruppe 5

Werbung
Semistrukturierte Daten 1
Präsentation: Anwendung von XML im
Datenbankbereich
Gruppe 5:
 Hubert Kosior (9626561)
 Mikolaj Koziarkiewicz (0309169)
 Florian Kruse (9626012)
 Markus Wegscheider (0325831)
 Thomas Zwanzinger (0125069)
 Felix Schernhammer (0225493)
 Sebastian Kerekes (0301942)
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Wozu XML (in) Datenbanken?
Wann nutzen?
keine/sehr dynamische Struktur
Daten aus verschiedenen Quellen
komplexe Anfragen
„Legacy Systems“
2006-01-24
2
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Wozu XML (in) Datenbanken?
Nachteile:
reduzierte Effizienz
RDBMS „alter“ und daher sicherer
Kompromisslösung: „XML-enabled“ RDBMS
Nicht immer besser!
2006-01-24
3
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
XML – Mapping
Umwandlung XML – in Relationen
Strukturelle Analyse (mittels DTD)
Umwandlung in Relationen (Primärschlüssel, Fremdschlüssel,
Beziehungen,...)
CLOB (Character Large Object)
Kompletter XML – Baum gespeichert
Verlust der DBMS Funktionalitäten (Anfragebearbeitung,
Transaktionen,....)
Probleme
XML ist hierarchisch
Feste Reihenfolge von Elementen
Gemischte Inhalte möglich
2006-01-24
4
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Structure Mapping I
Für jeden Endknoten spezielle
Tabellen (Mapping von
Elementen/Attributen)  Buch
XPath Tabelle
pathid
Struktur wird XPath kompatibel in
Tabelle erfasst  XPath Tabelle
pathExp
1
/Buchbestand
2
/Buchbestand/Buch
Wert (aus DTD
ersichtlich)
Buch
....
Buch
pathid
Titel
Autor
Seiten
Preis
2
The Adventures of Huckleberry Finn
Mark Twain
336
12.75
2
In der Strafkolonie
Franz Kafka
125
9.90
....
2006-01-24
5
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Structure Mapping II
DTD für XML Strukturen wird verwendet
DTD muss vorhanden sein
Wird eventuell adaptiert
Vorteilhaft für viele gleiche Daten
Unflexibel für stark unterschiedliche XML Daten
 sehr viele Tabellen
Erhalt der Datentypen ( int, String,...)
2006-01-24
6
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Model Mapping I
XML wird als Baum
interpretiert, daher
meist nur eine große
Tabelle
Struktur und Inhalt
Knoten
Vorgänger
Reihe
1
Name
Wert
Buchbestand
2
1
1
Buch
3
2
1
Titel
The Adventures....
4
2
2
Autor
Mark Twain
5
2
3
Seiten
336
6
2
4
Preis
12.75
7
1
2
Buch
8
8
1
Titel
In der Strafkolonie
9
8
2
Autor
Franz Kafka
....
2006-01-24
7
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Model Mapping II
Freie Struktur (keine DTD notwendig)
Keine Datentyp Erhaltung
Kompakte Darstellung in DBMS (u.U nur eine Tabelle)
Einfache Umwandlung XML  RDBMS
Sehr flexibel
Schlechte Performance (Rekursionen!!)
2006-01-24
8
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
CLOB (Character Large Object)
Speichern des gesamten Objektbaums als CLOB
Bei sehr unterschiedlichen XML Dokumenten
(Dokumenten-orientiert)
Suchfunktionen durch DBMS vorhanden
(primitive Textsuche, XPath Anweisungen)
Hersteller Abhängig
2006-01-24
9
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
XML native Datenbank: Definition
Defines a (logical) model for an XML document – as opposed to the
data in that document – and stores and retrieves documents
according to that model. At a minimum, the model must include
elements, attributes, PCDATA, and document order.
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
unit of (logical) storage.
Is not required to have any particular underlying physical storage
model. For example, it can be built on a relational, hierarchical, or
object-oriented database, or use a proprietary storage format such
as indexed, compressed files.
2006-01-24
10
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Typen XML nativer Datenbanken
Textbasierte Datenbanken


XML wird als Text gespeichert
Benutzen von Indizes
Modellbasierte Datenbanken


Modell (z.B. DOM) des XML Dokuments wird gespeichert
Schwierigkeit das Dokument wiederherzustellen (SQL
expressivity)
2006-01-24
11
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Features von XML nativen
Datenbanken
Document Collections
Query Sprachen: XPath (evtl. mit "Join-Erweiterung"),
XQuery, etc.
Transactions
Problem mit Locking (was soll blockiert werden?)
 mögliche Lösung von Stijn Dekeyser, et al: annotiere
gesperrte Knoten mit dem Kind, das gesperrt ist.
2006-01-24
12
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Sonstiges
Round Tripping (= ursprüngliches XML Dokument aus
der Datenbank wiederherstellen)
Normalisierung (XLink bzw. Join nicht immer vorhanden)
Referentielle Integrität – nur auf Dokumentenebene
(DTD, XSchema, ...)
2006-01-24
13
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
Oracle XML DB
Früher 2 Möglichkeiten:


Mit dem Oracle XML Developer's Kit (XDK) – ohne XML-Struktur
Direkt als:
Character Large Object (CLOB)
Binary Large Object (BLOB)
Binary File (BFILE)
VARCHAR
Heute: Abspeichern von XML als XMLType



XML Datentyp
XML Tabelle
Oracle XML DB Repository
2006-01-24
14
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
XMLType
Seit Oracle9i release 1 (9.0.1)
Darstellung der XML Dokumente als Instanz (von XMLType) in SQL
Built-in Member Funktionen (z.B. extract() – gibt aus einen oder
mehrere Knoten)
API für PL/SQL und Java
Typ für PL/SQL, SQL, C, Java (JDBC) und Oracle Data Provider for
.NET (ODP.NET)
Basiert auf XML Standards: XML Parser, XML DOM, and XML
Schema Validator
2006-01-24
15
Anwendung von XML im Datenbankbereich
Motivation
Dokumentenabspeicherung
XML-Native DB
XML Features in Oracle
XML Storage in Oracle XML DB
Vor und Nachteile von LOB bzw. XMLType:
Feature
LOB Storage
(mit Oracle Text Index)
Strukturiertes Storage
(mit B*Tree Index)
Schemaflexibilität
Sehr flexibel bei Schemaänderungen
Limitierte Flexibilität
Datenintegrität
und Genauigkeit
Behält ursprünglichen XML Inhalt
unverändert
XML Inhalt durch parsen nicht mehr ident mit
dem Original, jedoch bez. DOM-Model
unverändert
Performance
Mittelmäßig
Hervorragendes DML Performance
Verwendung in
SQL
Manche SQL Features
Viele SQL Features, z.B.: Constraints,
Indexen
Speicherplatz
Kann viel Speicherplatz gebrauchen
Benötigt weniger Speicherplatz
2006-01-24
16
Literatur
http://dx.doi.org/10.1145/383034.383038
http://csdl.computer.org/comp/proceedings/icde/2002/1531/00/15310335.pdf
Enderle Jost, XML in Datenbanken, Informatik Spektrum 24.12.2001, S.357-368
Oracle® XML DB Developer's Guide 10g Release 1 (10.1)
http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10790/toc.htm
2006-01-24
17
Danke Schön
Herunterladen