Folien

Werbung
Hauptseminar XML-Datenbanken
XML-Systeme
Schwerpunkt Native XML-DBMS
Prof. R. Bayer, Ph. D.
Prof. Dr. D. Kossmann
Betreuer:
Bearbeiter:
Termin:
Frank Ramsak
Hicham Loukili
05.07.2001
Hauptseminar
Page 1
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Gliederung
§ XML Systeme im Überblick
§ Produktkategorien
§ Anforderungen an XML-Datenbanken
§ Native XML-Datenbanken (XML-DBMS)
§ Produktevaluation
§ eXcelon Server
§ Gemeinsamkeit der Produkte
§ Zusammenfassung
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 2
1
Motivation
§ Einsatzgebiete von XML
§
§
§
§
§
Website-Management
Dokumentenverwaltung / content management
Universelles Datenaustauschformat
Anbindung von Electronic-Business-Anwendungen
...
§ Daten müssen aber nicht nur ausgetauscht, sondern auch
gespeichert werden:
§ Unterschiedliche Lösungsansätze: relational vs. „native“
§ Unterschiedliche Anwendungsgebiete: Application Server, ContentManagement-Systeme
à Vielzahl von XML-Systemen
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 3
Produktkategorien-Übersicht
Eine zentrale Anlaufstelle im Internet zum Thema XML und Datenbanken ist
die Sammlung von R. Bourret :
http://www.rpbourret.com/xml/XMLDatabaseProds.htm
Produkte werden in folgende Kategorien eingeteilt:
§ Middleware
§ XML-Enabled Datenbanken
§ Native XML Datenbanken
§ XML Server
§ XML Applikation Server
§ Content Management Systeme
Die Grenzen zwischen einigen dieser Kategorien sind schwammig
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 4
2
Data-Centric vs. Dokument-Centric
Es gibt zwei Arten von XML-Dokumenten:
§ Datenorientierte (Data-Centric)
§ Schwerpunkt auf Inhalt der einzelnen Struktur, d.h. der einzelnen
Attribute/Elemente
§ i.d.R. feste Struktur für eine große Anzahl von Dokumenten
à Dokumente unterscheiden sich nur in den Daten
Beispiel: Bestellformulare
§ Dokumentorientierte (Document-Centric)
§ Dokument samt Struktur wird betrachtet
à Struktur enthält Informationen
Beispiel: Datenbankpublikationen in DBLP
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 5
Data-Centric vs. Document-centric
Beispiel
§ Data-centric Dokumente sind strukturierter
<Memo>
<MeetingTime>10:30AM</MeetingTime>
<Purpose>Discuss Budget</Purpose>
<Location>ninth floor</Location>
</Memo>
§ Document-centric Dokument:
<Memo>
Please make sure you are at the
<Location>ninth floor</Location>by
<MeetingTime>10:30 AM</MeetingTime>
to<Purpose>discuss the budget</Purpose>
</Memo>
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 6
3
Kategorie:
Middleware
Sind Software Produkte:
§ Die bei Data-Centric Anwendungen benutzt werden
§ Sie dienen zur Übertragung der Daten zwischen XMLDokumenten und Datenbanken.
Beispiel: XML SQL Utility für Java (Oracle)
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 7
Middleware (Beispiel)
XML SQL Utility für
Java besteht aus
mehreren Klassen,
welche:
§ SQL Abfragen
ausführen
§ XML-Dokumente
als Resultat
zurückgeben
§ XML Daten in DB
speichern
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 8
4
Middleware (Beispiel)
§ Struktur des Resultats basiert auf der internen
Struktur des Datenbankschemas
SELECT EMPNO, ENAME FROM EMP WHERE EMPNO = 7654;
<?xml version="1.0"?>
<ROWSET>
<ROW id="1">
<EMPNO>7654</EMPNO>
<ENAME>MARTIN</ENAME>
</ROW>
</ROWSET>
§ Jeder Attributname bildet ein neues Tag; Attributwerte
werden damit getagt.
§ Extraelement zur Zusammenfassung aller Attribute eines
Tupels.
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 9
Kategorie:
XML-Enabled Datenbanken
Sind Datenbanken:
§ mit zusätzlichen Komponenten zur Verarbeitung von XMLDokumenten:
§ verwalten den lesenden und zum Teil schreibenden Zugriff auf XMLDaten
§ Die Abspeicherung (und damit die Transformation) der Daten
unterscheidet sich je nach Lösung
§ Der Zugriff und die Bearbeitung der Daten erfolgt entweder
durch standardisierte XML-Technologie (XPath, DOM und
SAX) oder mittels SQL.
§ Einsatz: Data-Centric Anwendungen
§ Beispiel für XEDs ist der DB2 XML Extender von IBM.
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 10
5
XML-Enabled Datenbanken
(Beispiel)
§ XML Extender ermöglicht
Extraktion, Ablegen und
Zugriff auf XML-Dokumente
in DB2
§ Transformation zwischen XML
und rel. Daten möglich
§ Im Document Access Definition File (DAD) wird festgehalten, wie
strukturierte XML Dokumente abgelegt oder erstellt werden.
§ XML Column (komplette Dokument wird eine Spalte abgelegt)
§ XML Collection (XML Daten werden auf eine Menge von rel. Tab
abgebildet)
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 11
Kategorie:
XML-Server
§ i.d.R. für Data-Centric Anwendungen
§ XML-Server bieten nicht nur eine Datenbank mit XML-Fähigkeiten,
sondern ein meist komplexes System bestehend aus Werkzeugen und
einer (XML-) Datenbank.
§ Nach Ansicht der Giga-Analysten lassen sich XML-Server in vier
funktionelle Segmente einteilen:
§ Formatierung und Präsentation von XML-Dokumenten
§ Ausführung von Geschäftslogik
§ Langfristige und kurzfristige Speicherung
§ Verbindung zu bestehenden Informationssystemen
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 12
6
XML-Server
(Beispiel- Bluestone Server von HP)
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 13
Kategorie:
XML-Applikation Server
§ XML-Appliktionen Server sind Web-Applikationen.
§ Sie verarbeiten, sowohl „Data-Centric“ als auch
„Document-Centric“ Dokumente.
§ Sie dienen zur Einbindung von DB in den Webauftritt
§ Sie verwenden eingebettete SQL-Anweisungen innerhalb einer
Skriptsprache um Daten abzufragen und XML-Dokumente
dynamisch zu generieren.
§ Die Trennlinie zwischen XML-Server und XMLApplikation Server ist vage.
§ Beispiel: Cocoon von Apache.org
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 14
7
Kategorie:
Content Management Systeme (CMS)
Document-Centric Anwendungen
Definition:
Der Begriff CMS beinhaltet die Integration, Persistenz und
Verteilung von Informationen verschiedenen Typs eines
begrenzten Themenbereich, wie z.B. Produktinformationen
§ Integration von Inhalten aus
unterschiedlichen Datenquellen
§ Persistente Speicherung dieser
Inhalte
§ Aufbereitung der Inhalte für die
Ausgabe auf unterschiedlichen
Endgeräten bzw. unterschiedliche
Medien
Content Integration
of different Sources
Persistent Content Storage
Content Mediation
for different Devices
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 15
Kategorie:
Native XML-DBMS
§ Motivation:
Die Speicherung von XML-Objekten mittels RDBMS oder
ODBMS ist zwar möglich, aber nicht optimal.
→ Deshalb sind neue Datenbanksysteme („native“ XMLDBMS) entwickelt worden, die ganz speziell auf die
Speicherung von XML-Strukturen ausgerichtet sind.
§ Definition:
XML-DBMS sind Datenbanken, die XML-Dokumente in ihren
echten („native“) Format speichern und verarbeiten können.
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 16
8
Anforderungen an
XML-DBMS
§ Speicherung von XML-Dokumenten als XML
§ Unterstützung XML-spezifischer Anfragesprachen:
z.B. XML-QL, XQL, XPath, QUILT
à liefert XML als Ergebnis
§ Effiziente Unterstützung struktur-, wert- und
textbasierter Anfragen
§ Unterstützung von daten- und dokumentorientierten
XML-Dokumenten
§ erlaubt eine schematische Beschreibung der
Dokumente
§ ...
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 17
Technologie: DOM vs. TEXT
Bei XML-DBMS gibt es zwei Speicherungsarten:
§ Text-basierte Speicherung:
§ gesamte Dokument wird in Textform gespeichert
à „Verlust“ der Struktur
§ Zugriff auf Struktur wird über verschiedene Indexierungstechniken realisiert
§ Modell-basierte Speicherung:
§ Dokument wird samt seiner Struktur gespeichert (z.B. als
DOM).
§ DOM wird auf rel. Tabellen abgebildet oder in preparsed Form gespeichert
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 18
9
XML-DBMS vs. XML-Enabled-DB
Ÿ XML-DBMS können sowohl die physikalische Struktur als auch
Kommentare, DTDs, etc. erhalten.
Ÿ XML-DBMS können XML-Dokumente speichern ohne deren Schema (DTD)
zu kennen, angenommen sie haben überhaupt eines. XML-Enabled
Datenbanken könnten Schemata zwar in Echtzeit generieren, was jedoch
unpraktisch ist. Vor allem wenn man mit schemalosen Dokumenten
arbeitet.
Ÿ Die einzige Schnittstelle zu den Daten innerhalb einer XML-DBMS ist XML
und verwandte Technologien, wie XPath, DOM. Im Gegensatz dazu bieten
XML-Enabled Datenbanken direkten Zugang zu den Daten, zum Beispiel
durch ODBC.
Hauptseminar
Page 19
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
eXcelon XML Plattform
eXcelon Stylus Studio
eXcelon
Extensible
Information
Server
eXcelon
Business
Process
Manager
eXcelon XML Platform
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 20
10
eXcelon ein XML-DBMS
§
§
§
§
Anfragesprache: XPath
speichert XML-Dokumente und "non-XML“
Speichert XML-Dokumente als DOM
Indizierung gemäß XML-Struktur:
§ Unterstützt struktur-, text- und wertebasierte Anfragen
effizient
§ Unterstützung von beliebigen XML-Dokumenten
§ Erweiterbar durch "Server extensions“
§ Integration heterogener Datenquellen
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 21
Extensible Information Server
Architekturüberblick
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 22
11
Speicherung von XML in eXcelon
§ Aufbau einer DOM-artigen Struktur beim parsen
§ Generierung eines C++ Objektbaums
§ Speicherung der C++Objektstruktur im OO-DBMS
ObjectStore
§ Indexierung mit in ObjectStore verfügbaren
Datenstrukturen
Hauptseminar
Page 23
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Gemeinsamkeit
der XML-DBMS Produkte
Produkt
Tamino
Excelon
X-Hive/DB
Speichermodell
DOM
Objektorientier
tnative DOM
DOM
Virtuoso
Anfragesprache
XPathErweiterung,
XQL
XQL
XSLT
XPath
XSLT
XPath
XSLT
XSLT
4Suite Server
DOM
XPath
Birdstep
DataBase
Engine
DOM
XPath
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Transformation- Indexierung
sprache
XSL, CSS
structural,
value, text
structural,
value, text
Hauptseminar
Page 24
12
Danke für Ihre Aufmerksamkeit
Fragen ?
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 25
Mail: Product Manager - eXcelon
We parse XML documents into nodes using the Xerces SAX parser and generate a C++ object tree from the
result. We persistify that C++ object structure inside the ObjectStore database. However, users never
know ObjectStore is under the covers as the lowest level API we expose is the DOM API. We never
expose ObjectStore APIs. Basically, when you access the data, you are accessing it in ist pre-parsed form.
At the core, you’re navigating hierarchical object structures… something ObjectStore is very fast at ;->
We provide three types of indexing: structural, value, and text. Structural indexing allows you to index a
group of nodes that will be accessed often. Basically, this type of index gives the XPath engine a sufficient
lookahead into the object tree so that it can navigate to indexed objects quickly. A value index is placed
on a node where you will be doing comparisons on its value (for example, on the contents of a “Price”
element, where you might be doing numeric comparisons). A text index is used on large text nodes on
which youwill need to perform Boolean word searches (using xln:contains-words).
Any more details and I would be treading shaky ground and would probably have to have your entire class
sign non-disclosure agreements to avoid sharing of trade secrets ;->
If you have any further questions, please ask…
Cheers,
Chris
--------------------------------------Chris Parkerson - Product Manager
Extensible Information Server
eXcelon Corporation
Burlington, MA
(781) 674-5393
http://www.exceloncorp.com
XML-Systeme mit Schwerpunkt „native“ XML-DBMS
Hauptseminar
Page 26
13
Herunterladen