Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML und Datenbanken - Systeme - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik

Ähnliche Präsentationen


Präsentation zum Thema: "XML und Datenbanken - Systeme - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik"—  Präsentation transkript:

1 XML und Datenbanken - Systeme - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik

2 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Inhalt der Vorlesung Vorstellung verschiedener Systeme n Objektrelationale und relationale Datenbanksysteme und ihre Erweiterungen –Oracle –DB2 –MS SQL-Server n Native XML-Datenbanksysteme –Tamino –Infonyte n Weitere Systeme –Galax –Berkeley DB XML n Benchmarks n Literatur

3 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke !!!!! n Alle Systeme zur Speicherung und Verwaltung von XML- Dokumenten unterliegen ständig Änderungen n damit ändert sich auch die Funktionalität n besonders aber kann sich auch die Syntax verändern n es gibt also keine langfristige Garantie für die Korrektheit der Beispiele n Syntaxbeispiele werden deshalb nur sparsam eingesetzt und dienen vorwiegend der Illustration von dargestellter Funktionalität n Wenn Syntax aus dem Buch und der VL voneinander abweichen, dann gilt Syntax der VL

4 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle n Mit Oracle 10, Vereinigung der Daten- (Data) und Inhaltsverarbeitung (Content Processing) n Grundlegende Funktionen –Ausgabe von Datenbankinhalten mit XML-Syntax –Verschiedene Speicherungsverfahren

5 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle XML Developer's Kit (Oracle XDK) n Grundbausteine zum Lesen, Manipulieren, Transformieren, Anzeigen und Generieren von XML-Dokumenten n XML Parser: –DOM (einschließlich Version 3.0), SAX –direkter Zugriff auf XMLTypen in den Oracle Datenbanken über C DOM Schnittstellen n XSLT Prozessoren (mit XSLT 2.0 Java Unterstützung) n XML Schema Prozessoren: unterstützen die Validierung gegen ein XML- Schema n XML Class Generator: generiert automatisch Java-Klassen aus DTDs oder XML-Schemata n XML SQL Utility: –generiert XML-Dokumente, DTDs und XML-Schemas aus SQL- Anfragen –realisiert das Insert von XML-Dokumenten in Oracle-Datenbanken n …

6 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke verschiedene Modi zur XML- Speicherung n Speicherungsverfahren –Native Speicherung von XML-Dokumenten Verschiedene Möglichkeiten Anfrage mit XPath, XQuery –Strukturierte Speicherung von XML-Dokumenten in Datenbanken, Anfragen: XPath, XQuery, SQL

7 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke 1. Speicherung als CLOB n Verwendung von Oracle Text zur Speicherung n kein Schema erforderlich n Auswertung durch Anfragen, in denen auch das Markup ausgewertet wird SELECT * FROM hotels WHERE contains(hotel, 'Strand INPATH (/hotels/hotel/beschreibung) ') > 0 ORDER BY score DESC; Auch Methoden hasPath() und contains() erlaubt

8 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke 2. relationale Speicherung n Umkehrung der Exportfunktion n XML-Dokumente müssen einer bestimmten Syntax entsprechen (dreistufige Schachtelung von Elementen, die auch beim Export eingesetzt wird) n diese Syntax kann auch über XSLT erreicht werden

9 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke native Speicherung als Dokument /1 n ab Version 9i, Release 2: XMLType (Datentyp) n Für Relationen oder Attribute einsetzbar, die dann XML enthalten können n Validierung beim Einfügen von Daten ist möglich n Transformation mit XSL kann erfolgen CREATE TABLE hotels ( name VARCHAR2(40), ort VARCHAR2(35), beschreibung SYS.XMLTYPE, ausstattung SYS.XMLTYPE, preise SYS.XMLTYPE, telefonnr VARCHAR(30) ) insert into hotels (name, ort, beschreibung, ausstattung, preise, telefonnr) values ('Hotel Neptun', 'Warnemuende', sys.XMLType.createXML('In Warnemuende ankommen und sich zu Hause fuehlen'), sys.XMLType.createXML(' Original-Thalassozentrum. Wir haben fuer Sie frisches Ostseewasser in das Hotel geholt! '), sys.XMLType.createXML(' '), ' ');

10 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke native Speicherung als Dokument /2 XPath-Ausdrücke in SQL SELECT ausstattung.extract ('schwimmbad/text()').getStringVal() "Swimmingpool" FROM hotels; Swimmingpool Original-Thalassozentrum. Wir haben fuer Sie frisches Ostseewasser in das Hotel geholt!

11 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke native Speicherung als Dokument /3 n Neben create und extract weitere Methoden: –existNode(), –schemaValidate(), Validierung der XML-Dokumente gegen das zugeordnete Schema –appendChildXML(), insertXMLBefore(), deleteXML(), updateXML(), Also Updateoperationen –transform() XSL-Transformationen

12 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke 4. native objektrelationale Speicherung n ab Version 9 i, Release 2 n Einsatz eines annotierten XML-Schema, das die Zuordnung zwischen den –Elementen/Attributen der XML-Dokumente und den –Relationen und Attributen der Datenbank beschreibt. n Beispiel: n warum nativ: alle Informationen aus dem DOM in Metadaten gespeichert

13 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke native objektrelationale Speicherung Beschreibung des Mappings Oracle: XML schema extension

14 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Kombination von Speicherungsvarianten n Verschiedene Speicherungsvarianten können kombiniert werden. n Unterstützung bei der hybriden Speicherung von XML- Dokumenten dadurch möglich –Datenzentrierte Anteile werden strukturiert in Datenbanken gespeichert –dokumentzentrierte Anteile als XMLType gespeichert n Anfragen können dann auf beiden Speicherungsvarianten durchgeführt werden. n Beim Export lassen sich die verschiedenen Speicherungsformen wieder zusammenführen, sodass die XML-Dokumente wiederhergestellt werden können.

15 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle – Schemaprüfung n beim Einfügen von XML- Dokumenten erfolgt "leichte" Schemaprüfung (Test auf Gültigkeit) n aus Effizienzgründen n vollständige Schemaprüfung ist aktivierbar

16 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Anfragen n bei CLOB-Speicherung: –in SQL MM Text definierte Operationen n XQuery-Anfragen als Bestandteil einer SQL-Anfragen n SQL bei relationaler Speicherung

17 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle – Ausgabe von XML /1 Anfrage: SELECT Name, Kategorie, Ort FROM Hotel, Adresse WHERE (Ort=‘Warnemuende') AND (Hotel.Hoteladr=Adresse.AdresseID) Ergebnis: Hotel Huebner 4 Warnemuende

18 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle – Ausgabe von XML Weitere Möglichkeit: SQL/XML Folgt bei DB2

19 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle – Einordnung daten- zentriertstrukturiert semi-dokument- zentriert logisch physisch konzeptuell nativ objekt- SQL + XPath relationale Speicherung relationale Sp. XMLTypeCLOB XPath, XQuery IR-Anfragen

20 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle – Zusammenfassung /1 XML-Speicherung: n Modell: objektrelationales Modell, oder Dokumentmodell (bei CLOBs) n Schemabeschreibung: nicht notwendig, Validierung möglich, bei objektrelationaler Speicherung annotiertes Schema erforderlich n Art der Speicherung: –(Als CLOB) –vollständige Speicherung als XMLType (nativ als Dokument), –Native objekt-relationale Speicherung –fragmentierte Speicherung ist ebenfalls möglich n Ordnungserhaltung: ja, außer bei relationaler Speicherung Indizierung: n Struktur, Pfade: in Oracle Text schon länger, Strukturindex seit Version 10 n Werte: ja n Volltext: ja

21 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Oracle – Zusammenfassung /2 XML-Import, XML-Export: n Export in festes Format, Import aus feststehendem Format, weitere Anpassungen mit XSLT n Import über annotiertes XML-Schema n Export durch SQL/XML oder auch XQuery Anfrage- und Manipulationsschnittstellen: n Anfragen: XPath auf XMLType, XQuery, SQL n Volltextfunktionalität: ja (Information Retrieval mit Oracle Text), also bei Speicherung als CLOB und XMLType n Änderungsoperationen: darstellbar, bei XMLType und CLOB realisiert durch vollständigen Austausch der XML-Dokumente n Transformationen: XSLT Werkzeuge, Besonderheiten n XSLT-Prozessor, XML-Prozessoren (DOM, SAX), XML Schema Validator

22 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke DB2 n DB2 UDB mit XML- und TextExtender n verschiedene Arten der Speicherung von XML-Dokumenten –direkte Speicherung in einem XML-Datentyp –Abbildung auf objektrelationale Strukturen –Speicherung als Volltext und Anfrage unter Berücksichtigung des Markups

23 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke XML Extender n vereinigt objektrelationale Datenbanktechnologie mit XML n ab DB2 UDB V7.1 integriert n realisiert zwei Speicherungstechniken –XML Collection Mechanismus zur Abbildung auf objektrelationale Strukturen –XML Column XML-Datentyp zur Speicherung von ganzen XML- Dokumenten oder XML-Fragmenten eingesetzt n Form der Speicherung wird mit Data Access Definition (DAD) beschrieben n Einsatz beim Import und Export n Anfragemöglichkeiten von SQL und XPath

24 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Möglichkeiten zur Speicherung n XML Column n XML Collection

25 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Zusammenwirken der Komponenten

26 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Syntaxbeispiel: DAD-File hotel.hname = zimmertyp.hname RDB – node = relational DataBase node...

27 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Anfragen Ausgabe aller Zimmerpreise: SELECT db2xml.extractDouble(zimmertyp, '/zimmertyp/preis') FROM zimmertyp WHERE hname = 'Hotel am Leuchtturm' Ausgabe aller Hotelnamen in Form einer Tabelle SELECT * FROM table(db2xml.extractStrings( db2xml.XMLFile('/home/hme/hotel/hotels.xml'), '/hotel/*/name')) AS hotelname

28 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Text Extender und Volltextsuche n Abspeicherung von XML-Dokumenten als Ganzes n Textindizierung n Text Retrieval Anfragen, auch unter Auswertung des Markup n Beispiel: SELECT hotelname, beschreibung FROM hotel WHERE contains(hotel,'MODEL order SECTION(hotel/beschreibung) "Seeblick"') = 1

29 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Ausgabe von XML-Dokumenten n SQL/XML –Sprache wurde bei der Vorstellung von Oracle schon kurz beschrieben n über DAD-Files angegeben n damit Beschreibung, welche Daten ausgegeben werden sollen und wie die Syntax der Ergebnis-XML-Dokumente aussehen soll

30 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Nativer Datentyp XML n Seit 2006: nativer XML-Type Viper (Beta-Testversion) n XML als Type kann Attributen beim Erzeugen von Relationen zugeordnet werden n Einfügen von Werten in Form von XML-Dokumenten in diese Relationen n Anfrage von XML-Attributen durch Pfadausdrücke (XPath) und XQueries

31 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Viper

32 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Viper

33 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Viper Relationen mit XML-Attributen entwerfen n create table items ( id int primary key not null, brandname varchar(30), itemnamevarchar(30), skuint, srpdecimal(7,2), commentsxml ) Erstellen eines Indexes in XML-Typen n create index myindex on items(comments) generate key using xmlpattern '/Comments/Comment/CommentID' as sql double

34 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Viper XML-Datentypen in SQL-Anfragen n select * from items where sku = n select id, brandname, itemname, sku, srp, comments from items where sku = XQuery-Anfragen zur Suche im XMLType n xquery db2-fn:xmlcolumn ('ITEMS.COMMENTS')/Comments/Comment/Message n prefix XQuery ist erforderlich, weil Viper 2 Anfragesprachen unterstuetzt Gleiche Anfrage n xquery for $y in db2- fn:xmlcolumn('ITEMS.COMMENTS')/Comments/Comment return ($y/Message)

35 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke DB2 – Ausgabe von XML Weitere Möglichkeit: SQL/XML select xmlserialize (content xmlelement(name "testname",fachrichtung_name) as clob(120)) as "result" from studienfach select xmlserialize(content xmlelement(name "studentendaten", xmlelement(name "nachname", name), xmlelement(name "vorname", vorname)) as clob(120)) as "result" from student select xmlserialize(content (xmlelement(name "studentendaten", xmlagg(xmlelement(name "nachname", name))) as clob(600)) as "result" from student

36 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke DB2 – Einordnung dokument- zentriert daten- strukturiert semi- zentriert physisch logisch konzeptuell Strukturindex Volltext- und SQL-MM mit Erweiterungen Datenbank relationale objekt- Mapping durch DAD-Files SQL Verarbeitung des XML Types XML Type (Viper)

37 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke DB2 – Zusammenfassung /1 XML-Speicherung n Modell: objektrelationales Modell n Schemabeschreibung: Validierung bei Import (DTD, Schema) n Art der Speicherung: sowohl vollständig als auch fragmentierend n Ordnungserhaltung: nur XML-Datentyp (XML Column) n XML-Datentyp: ja Indizierung: n Pfade: nur TextExtender n Werte: ja n Volltext: nur TextExtender

38 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke DB2 – Zusammenfassung /2 XML-Import, XML-Export n Unterstützung von Im- und Export, Abbildung spezifiziert durch DAD-Dateien n Anfrage- und Manipulationsschnittstellen n Anfragen: SQL und XPath 1.0 n Volltextfunktionalität: ja (Information Retrieval mit TextExtender) n Änderungsoperationen: SQL, spezielle Methoden n Transformationen: nein Werkzeuge, Besonderheiten: n XML-sensitiver Volltextindex n Speicherung basiert auf dem objektrelationalen Modell

39 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke MS SQL Server SQL Server 2000 n Import und Export von XML-Dokumenten n Middleware zur Verarbeitung von XML-Dokumenten n Verwendung von XPath-Ausdrücken n Ausgabe von Anfrageergebnissen mit XML-Syntax n Manipulation von XML-Dokumenten durch Updategramme SQL Server 2005 n Nativer XML-Datentyp n XML-Index n XQuery und XML DML (XML Data Manipulation Language)

40 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Ausgabe von XML Ausgabe von SQL-Anfrageergebnissen als XML-Dokumente Drei Modi werden unterschieden: n RAW –erzeugt für jedes Ergebnistupel ein XML-Element ohne Subelemente. n AUTO –erzeugt ein geschachteltes XML-Dokument mit dem Anfrageergebnis n EXPLICIT –erlaubt, die Form und Schachtelung des Ergebnisdokumentes in der Anfrage selbst zu bestimmen. in SQL-Server 2005 auch SQL/XML

41 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Syntax select from where for xml (raw | auto [, elements] | explicit)

42 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke RAW-Modus SELECT Hotel.Name, Zimmertyp.Typ, Zimmertyp.Preis FROM Hotel, Zimmertyp WHERE Hotel.Name = Zimmertyp.HName FOR XML RAW vom SQL Server dieses XML-Fragment erstellt:

43 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke 3 Arten der Speicherung von XML- Dokumenten n Native Speicherung als XML Type n Abbildung auf relationale Speicherung n Speicherung als large Objekts LOBs –(wenn Dokumente exakt erhalten bleiben müssen und nicht nur Infoset „-konformität“ ausreicht) n Hybride XML-Speicherungsverfahren sind möglich –Auswahl verschiedener Verfahren für unterschiedliche XML-Dokumentanteile

44 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Nativer Datentyp XML /1 n Validitätstests beim Einfügen von Daten möglich n Intern wird ein Binärformat verwendet, schneller in der Verarbeitung als die Textrepräsentation CREATE TABLE docs (pk INT PRIMARY KEY, xCol XML) INSERT INTO docs VALUES (1,‚ Writing Secure Code Michael Howard David LeBlanc ')

45 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Nativer Datentyp XML /2 n XML Type kann in der gleichen Relation oder in einer separaten (verbunden durch Fremdschlüssel) abgelegt werden (in separater, wenn XML-Index nicht über dem Primärschlüssel der Hauptrelation erfolgen soll) n XML-Index indiziert Tags, Werte, Pfade (verwendet B+-Bäume für alles) n Volltextindex möglich SELECT * FROM docs WHERE contains (xCol, 'Visionen', LANGUAGE 'German') n Anfragen: SELECT * FROM docs WHERE CONTAINS(xCol,'Secure') AND Col.exist('/book/title/text()[contains(.,"Secure")]') =1 n Im oberen Beispiel: verschiedene Semantik von contains: –1. Auftreten Stammwortreduktion –2. Teilstring-Match

46 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke SQL-Server – XML-Sichten über einer Datenbank n durch annotierter XDR (XML-Data Reduced) Schema oder annotiertes XML-Schema (AXDS) wird Abbildung auf ein relationales Schema beschrieben, Beispiel:

47 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke SQL-Server – Einordnung physisch logisch konzeptuell dokument- zentriert semi- strukturiertzentriert XPath Updategram relationale Datenbank SQL daten- Edge-Table Volltext- operationen

48 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke SQL-Server–Zusammenfassung /1 XML-Speicherung: n Modell: relationales Modell n Schemabeschreibung: XDR für XML-Sichten, DTD oder Schema zur Typableitung in OpenXML n Art der Speicherung: fragmentierte Speicherung oder XML- Datentyp n Ordnungserhaltung: ja (Beim XML-Datentyp) n XML-Datentyp: ja Indizierung n Struktur, Pfade: ja n Werte: ja n Volltext: ja

49 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke SQL-Server–Zusammenfassung /2 XML-Import, XML-Export: n Import und Export durch annotiertes XDR-Schema oder XML-Schema (AXDS annotated …) Anfrage- und Manipulationsschnittstellen: n Anfragen: SQL, XPath, XQuery n Volltextfunktionalität: ja n Änderungsoperationen: an XML mit Updategrammen n Transformationen: XSLT 1.0 Werkzeuge, Besonderheiten: n Integration mit Web-Services über Middleware n Laden von XML-Massendaten n Hybride Speicherung wird ausdrücklich empfohlen

50 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Tamino n von der Software AG entwickelt n eines des bekanntesten nativen XML-Datenbanken n vollständig für die Verarbeitung von XML-Dokumenten entwickelt (Erfahrungen aus der Entwicklung von adabas)

51 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Tamino - Eigenschaften n native Speicherung der XML-Dokumente n Anfragen mit XPath / XQuery n Volltextfunktionalität ergänzt n Updateoperationen möglich n Sperrverfahren auf der Ebene von ganzen XML- Dokumenten

52 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Tamino - Architektur

53 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Speicherung und Retrieval von XML-Dokumenten Daten an externe Anfrage (URL) oder an die intere Datenquellen und/ Datenspeicherung Data Map Daten von externen Datenquellen und/ oder der internen Datenspeicherung XML-AusgabeXML Objekte, DTDs Object Prozessor Interpreter Composer Object Parser XMLQuery Utilities

54 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Tamino - Einordnung physisch logisch konzeptionell daten- zentriert semi- strukturiert dokument- zentriert XPath 1.0 mit XPath 2.0 XQuery 1.0 der XML- Dokumente native Speicherung Editor für XML- Dokumente, Schema,... XML Spy

55 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Tamino –Zusammenfassung /1 XML-Speicherung: n Modell: native Speicherung, Basis adabas-Komponenten n Schemabeschreibung: DTD + Datentypen von XML Schema, Test auf Gültigkeit, Schema ist zur Speicherung von XML-Dokumenten nicht erforderlich n Art der Speicherung: vollständige Speicherung n Ordnungserhaltung: ja Indizierung n Struktur, Pfade: ja n Werte: ja n Volltext: ja

56 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Tamino –Zusammenfassung /2 XML-Import, XML-Export n Verarbeitung externer Informationen aus Datenbanken und Spezifikation von Zuordnungsvorschriften, Einbeziehung weiterer Formate Anfrage- und Manipulationsschnittstellen n Anfragen: XPath 1.0, zukünftig XQuery auf XPath 2.0 n Volltextfunktionalität: ja n Änderungsoperationen: ja n Transformationen: XSLT 1.0 Werkzeuge, Besonderheiten n Transaktionsverwaltung, Mehrnutzerbetrieb, graphische Unterstützung der Angabe des Mappings, Integration von Editoren (XML Spy)

57 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke infonyte n Am Fraunhofer Institut IPSI in Darmstadt entwickelt, vom Spin-Off Infonyte GmbH weiterentwickelt und vermarktet Grundidee: n persistente Speicherung des DOM Vorgehensweise n Speicherung kann ohne DTD oder Schemainformationen erfolgen n Anfragen: XPath, XQL oder über DOM-API n Integration eines XSLT-Prozessors

58 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Systemeigenschaften n basiert nicht auf existierenden Datenbanken, entwickelt eigene Komponenten zur physischen Speicherung, Indizierung, usw. n Benötigt also auch kein zusätzliches Datenbanksystem n Modular konzipiert n dadurch "schlanke und leistungsfähige" Implementierung n Offengelegte Backend-Schnittstelle erlaubt die Integration anderer Speicherungssysteme

59 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke infonyte - Architektur

60 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke infonyte - Einordnung physisch logisch konzeptionell daten- zentriert semi- strukturiert dokument- zentriert Updates DOM XPath1.0 XQL DOM Informationen Speicherung der

61 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke infonyte - Lösungen n Datenintegration und -bereinigung in Data Warehouses –Mit Anfragetechniken und XSLT, verschiedene Umformungen, zum Beispiel Gruppierung möglich n Datenpublikation –Individuell angepasste Lese-/Browsingumgebungen –Umfangreiche XML-Dokumente erfordern zur Speicherung oft 10-20fachen Platz im Hauptspeicher –Einsatz von infonyte reduziert das –Darstellung von Inhalten ohne Speicherbegrenzung n Technische Dokumentationen –ähnliches Szenario –Autorenseite und –Anwender /Leserseite, über Webbrowser, aber auch PDAs

62 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke infonyte – Zusammenfassung /1 XML-Speicherung: n Modell: Struktur des DOM n Kompaktes verlustfreies Binärformat für XML-Dokumente n Schemabeschreibung: Schema ist keine Voraussetzung für die Speicherung n Art der Speicherung: vollständige Speicherung n Ordnungserhaltung: ja n XML-Datentyp: nein Indizierung: n Struktur, Pfade: ja n Werte: ja n Volltext: ja

63 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke infonyte – Zusammenfassung /2 XML-Import, XML-Export n nein, allerdings Integration von XSLT Anfrage- und Manipulationsschnittstellen n Anfragen: XPath 1.0, XQL n Volltextfunktionalität: nein n Änderungsoperationen: über DOM-Methoden n Transformationen: XSLT 1.0 Werkzeuge, Besonderheiten: n Keine n XSLT für riesige XML-Dokumente (im Gigabereich) n 2-Phasen Commit Protokoll für Updaterealisierung n Graphische XML-Autorenumgebung (Texteditor, Baumansichten, Fenster für XPath, XQL, Benutzerschnittstelle für Datenbankeinstellungen)

64 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke exist eXist: Open Source native XML database effiziente, index-basierte XQuery Verarbeitung, XQuery 1.0 Working Draft ist implementiert Automatische Indizierung Erweiterungen zur Volltextsuche XQuery Update Erweiterung

65 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Berkeley DB XML n basiert auf der Berkeley DB n sind C++-Bibliotheken, die in die jeweilige Anwendung eingebunden werden – kostenfrei n speichert XML-Dokumente im XML-Format (nicht in Form von Relationen) n Zusammenfassung von gleichartigen XML-Dokumenten in Containern n Abspeicherung als komplettes Dokument oder aufgeteilt auf individuelle Knoten möglich n Ergänzen von individuellen Metadaten zu den XML- Dokumenten ist möglich n Anfragen: XPath, XQuery

66 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Galax n open-source Implementation of XQuery 1.0 n Ziel: volle Übereinstimmung mit den W3C XQuery Spezifikationen n Referenzimplementation für XQuery 1.0 n Anfrageoptimierung steht im Mittelpunkt n über XQueyr hinaus gehende Eigenschaften: –Updates –Volltextoperationen n Galax release n

67 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Galax - Mitwirkende n Mary Fernández, AT&T Labs n Jérôme Siméon, IBM Watson Research n Cindy Chen, University of Massachusetts at Lowell n Byron Choi, University of Pennsylvania n Vladimir Gapeyev, University of Pennsylvania n Amélie Marian, Columbia University n Philippe Michiels, Universiteit Antwerpen, Belgium n Nicola Onose, Ecole Polytechnique, France n Douglas Petkanics, University of Pennsylvania n Christopher Ré, University of Washington n Michael Stark, University of Darmstadt n Gargi Sur, University of Florida n Avinash Vyas, Bell Laboratories n Philip Wadler, University of Edinburgh, Scotland

68 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Query-Verarbeitung

69 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke XML-Benchmarks /1 n Ziel: Vergleich von Systemen n Bekannte Benchmarks –Xmark (Schmidt et.al: Niederlande) –XOO7 (Nambiar et al.: University of Singapore, Arizona State University) –XMach-1 (Böhme, Rahm: Universität Leipzig) –es gibt noch weitere, auch noch welche, die sich in der Entwicklung befinden

70 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke XML-Benchmarks /2 Vorgehensweise: n definieren Umgebungen für Benchmarktests, bestehend aus –gegebenen XML-Dokumenten oder –Methoden zum Generieren von XML-Dokumenten mit bestimmten Eigenschaften –Menge von XQuery-Anfragen –teilweise Updates Bewertet wird der Durchsatz in den einzelnen getesteten Systemen. (Metrik: XML queries per second)

71 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Wahl des Speicherungssystems n alle Systeme haben die „Datenbankvorteile“ gegenüber dem Filesystem, z.B.: –Datensicherheit, Konsistenztests, Indizierung, Anfragerealisierung, Optimierung, und viele mehr n Wahl des Systems hängt von aktuellen Anforderungen ab n hier dargestellte Eigenschaften stellen qualitative Kriterien dar (diese nähern sich aber durch die Standardisierung an) n Benchmarks versuchen quantitative Vergleiche n häufig spielt sicher auch eine Rolle, ob schon ein DBS in einer Firma/ einem Projekt/ einer Anwendung eingesetzt wird, das wird dann häufig auch für die Speicherung der XML-Dokumente verwendet

72 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Literatur /1 –www.ibm.comwww.ibm.com –www.oracle.com/xmlwww.oracle.com/xml –Ulrike Schwinn (Oracle): XML in der Oracle Datenbank „relational and beyond“, BTW 2003 –Rüdiger Eichin, Excelon: Prozeßmanagement auf der Basis von XML, Fachgruppentreffen, GI-Fachgruppe Datenbanksysteme, Darmstadt, 2002 –eXtensible Information Server (XIS), Native XML Data Management System, –www.microsoft.comwww.microsoft.com

73 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Literatur /2 –www.softwareag.com/tamino –Harald Schöning, Jürgen Wäsch: Tamino --- An Internet Database System, Advances in Database Technology --- EDBT 2000, LNCS 1777, S. 383—387 –Harald Schöning: XML und Datenbanken, Hanser Verlag, 2003 –Walter Waterfeld: Realisierungsaspekte eines XML Datenbanksystems, BTW 2001 –www.infonyte.comwww.infonyte.com –Thomas Tesch, Peter Fankhauser, Tim Weitzel (infonyte): Skalierbare Verarbeitung von XML-Dokumenten in Datenbanken, BTW 2003 –Berkeley DB XML –www.sleepycat.com

74 Einleitung Anwendungen XML XPath XQuery XML-Prozessoren Architektur Modellierung XML-Speicherung Indizierung XML-Generierung Systeme Meike Klettke Literatur /3 –Tim Rieger: Benchmarking XML Databases, Universität Rostock, Fachbereich Informatik, Bachelorarbeit, 2002 –Jana Jonas: Evaluating XML Database Benchmarks and Analyzing the Integration of XML Schema Evolution Steps, Studienarbeit, 2005 –Timo Böhme, Erhard Rahm: XMach-1 Homepage, –Timo Böhme, Erhard Rahm: XMach-1: A Benchmark for XML Data Management, Proceedings of the BTW, S , 2001 –Stephane Bressan, Gillian Dobbie, Zoe Lacroix, Mong-Li Lee, Ying Guang Li, Ullas Nambiar, Bimlesh Wadhwa: X007: Applying 007 Benchmark to XML Query Processing Tool, CIKM, S , 2001 –Albrecht Schmidt, Florian Waas, Martin L. Kersten, Daniela Florescu, Ioana Manolescu, Michael Carey, Ralph Busse: XMark - An XML Benchmark Project, 2002http://monetdb.cwi.nl/xml/ –Albrecht Schmidt, Florian Waas, Martin L. Kersten, Michael J. Carey, Ioana Manolescu, Ralph Busse: XMark: A Benchmark for XML Data Management, Proceedings of the VLDB Conference, 2002


Herunterladen ppt "XML und Datenbanken - Systeme - Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik"

Ähnliche Präsentationen


Google-Anzeigen