Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML und Datenbanken - Systeme -

Ähnliche Präsentationen


Präsentation zum Thema: "XML und Datenbanken - Systeme -"—  Präsentation transkript:

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

2 Inhalt der Vorlesung Vorstellung verschiedener Systeme
Objektrelationale und relationale Datenbanksysteme und ihre Erweiterungen Oracle DB2 MS SQL-Server Native XML-Datenbanksysteme Tamino Infonyte Weitere Systeme Galax Berkeley DB XML Benchmarks Literatur Meike Klettke

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

4 Oracle Mit Oracle 10, Vereinigung der Daten- (Data) und Inhaltsverarbeitung (Content Processing) Grundlegende Funktionen Ausgabe von Datenbankinhalten mit XML-Syntax Verschiedene Speicherungsverfahren Meike Klettke

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

6 verschiedene Modi zur XML-Speicherung
Speicherungsverfahren Native Speicherung von XML-Dokumenten Verschiedene Möglichkeiten Anfrage mit XPath, XQuery Strukturierte Speicherung von XML-Dokumenten in Datenbanken, Anfragen: XPath, XQuery, SQL Meike Klettke

7 1. Speicherung als CLOB Verwendung von Oracle Text zur Speicherung
kein Schema erforderlich 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 Meike Klettke

8 2. relationale Speicherung
Umkehrung der Exportfunktion XML-Dokumente müssen einer bestimmten Syntax entsprechen (dreistufige Schachtelung von Elementen, die auch beim Export eingesetzt wird) diese Syntax kann auch über XSLT erreicht werden Meike Klettke

9 native Speicherung als Dokument /1
ab Version 9i , Release 2: XMLType (Datentyp) Für Relationen oder Attribute einsetzbar, die dann XML enthalten können Validierung beim Einfügen von Daten ist möglich 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('<schwimmbad> Original-Thalassozentrum. Wir haben fuer Sie frisches Ostseewasser in das Hotel geholt!</schwimmbad>'), sys.XMLType.createXML('<DZ waehrung="Euro">186</DZ> <EZ waehrung="Euro">135</EZ>'), ' '); Meike Klettke

10 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! Meike Klettke

11 native Speicherung als Dokument /3
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 Meike Klettke

12 4. native objektrelationale Speicherung
ab Version 9 i, Release 2 Einsatz eines annotierten XML-Schema, das die Zuordnung zwischen den Elementen/Attributen der XML-Dokumente und den Relationen und Attributen der Datenbank beschreibt. Beispiel: warum nativ: alle Informationen aus dem DOM in Metadaten gespeichert Meike Klettke

13 native objektrelationale Speicherung Beschreibung des Mappings
Oracle: XML schema extension <xs:schema … > <xs:element name="PurchaseOrder" type="PurchaseOrderType" xdb:defaultTable="PURCHASEORDER"/> <xs:complexType name="PurchaseOrderType" xdb:SQLType="PURCHASEORDER_T"> <xs:sequence> <xs:element name="Reference" type="ReferenceType" minOccurs="1" xdb:SQLName="REFERENCE"/> <xs:element name="Actions" type="ActionsType" xdb:SQLName="ACTIONS"/> <xs:element name="Reject" type="RejectionType" minOccurs="0" xdb:SQLName="REJECTION"/> <xs:element name="Requestor" type="RequestorType" xdb:SQLName="REQUESTOR"/> <xs:element name="User" type="UserType" minOccurs="1" xdb:SQLName="USERID"/> Meike Klettke

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

15 Oracle – Schemaprüfung
beim Einfügen von XML-Dokumenten erfolgt "leichte" Schemaprüfung (Test auf Gültigkeit) aus Effizienzgründen vollständige Schemaprüfung ist aktivierbar Meike Klettke

16 Anfragen bei CLOB-Speicherung: in SQL MM Text definierte Operationen
XQuery-Anfragen als Bestandteil einer SQL-Anfragen SQL bei relationaler Speicherung Meike Klettke

17 Oracle – Ausgabe von XML /1
Anfrage: SELECT Name, Kategorie, Ort FROM Hotel, Adresse WHERE (Ort=‘Warnemuende') AND (Hotel.Hoteladr=Adresse.AdresseID) Ergebnis: <rowset> <row no=´1´> <Name>Hotel Huebner</Name> <Kategorie>4</Kategorie> <Ort>Warnemuende</Ort> </row> </rowset> Meike Klettke

18 Oracle – Ausgabe von XML
Weitere Möglichkeit: SQL/XML Folgt bei DB2 Meike Klettke

19 Oracle – Einordnung konzeptuell logisch XPath, XQuery IR-Anfragen
SQL + XPath relationale Speicherung physisch CLOB XMLType nativ objekt- relationale Sp. dokument- semi- daten- zentriert strukturiert zentriert Meike Klettke

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

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

22 DB2 DB2 UDB mit XML- und TextExtender
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 Meike Klettke

23 XML Extender vereinigt objektrelationale Datenbanktechnologie mit XML
ab DB2 UDB V7.1 integriert 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 Form der Speicherung wird mit Data Access Definition (DAD) beschrieben Einsatz beim Import und Export Anfragemöglichkeiten von SQL und XPath Meike Klettke

24 Möglichkeiten zur Speicherung
XML Column XML Collection Meike Klettke

25 Zusammenwirken der Komponenten
Meike Klettke

26 Syntaxbeispiel: DAD-File
<Xcollection> <root_node> <element_node name="hotel"> <RDB_node> <table name="hotel" key="hname"/> <table name="zimmertyp" key="hname, ztyp"/> <condition>hotel.hname = zimmertyp.hname</condition> </RDB_node> <attribute_node name="hname"> <table name="hotel"/> <column name="hname" type="VARCHAR(32)"/> </attribute_node> RDB – node = relational DataBase node ... </root_name> </Xcollection> </DAD> Meike Klettke

27 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 Meike Klettke

28 Text Extender und Volltextsuche
Abspeicherung von XML-Dokumenten als Ganzes Textindizierung Text Retrieval Anfragen, auch unter Auswertung des Markup Beispiel: SELECT hotelname, beschreibung FROM hotel WHERE contains(hotel,'MODEL order SECTION(hotel/beschreibung) "Seeblick"') = 1 Meike Klettke

29 Ausgabe von XML-Dokumenten
SQL/XML Sprache wurde bei der Vorstellung von Oracle schon kurz beschrieben über DAD-Files angegeben damit Beschreibung, welche Daten ausgegeben werden sollen und wie die Syntax der Ergebnis-XML-Dokumente aussehen soll Meike Klettke

30 Nativer Datentyp XML Seit 2006: nativer XML-Type Viper (Beta-Testversion) XML als Type kann Attributen beim Erzeugen von Relationen zugeordnet werden Einfügen von Werten in Form von XML-Dokumenten in diese Relationen Anfrage von XML-Attributen durch Pfadausdrücke (XPath) und XQueries Meike Klettke

31 Viper Meike Klettke

32 Viper Meike Klettke

33 Viper Relationen mit XML-Attributen entwerfen
create table items ( id int primary key not null, brandname varchar(30), itemname varchar(30), sku int, srp decimal(7,2), comments xml ) Erstellen eines Indexes in XML-Typen create index myindex on items(comments) generate key using xmlpattern '/Comments/Comment/CommentID' as sql double Meike Klettke

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

35 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 (xmlelement(name "studentendaten", xmlagg(xmlelement(name "nachname", name))) as clob(600)) as "result" from student Meike Klettke

36 DB2 – Einordnung konzeptuell Mapping durch SQL-MM mit XML Type (Viper)
logisch DAD-Files Erweiterungen SQL Verarbeitung des XML Types objekt- physisch Volltext- und relationale Strukturindex Datenbank dokument- semi- daten- zentriert strukturiert zentriert Meike Klettke

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

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

39 MS SQL Server SQL Server 2000 Import und Export von XML-Dokumenten
Middleware zur Verarbeitung von XML-Dokumenten Verwendung von XPath-Ausdrücken Ausgabe von Anfrageergebnissen mit XML-Syntax Manipulation von XML-Dokumenten durch Updategramme SQL Server 2005 Nativer XML-Datentyp XML-Index XQuery und XML DML (XML Data Manipulation Language) Meike Klettke

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

41 Syntax select from where for xml (raw | auto [, elements] | explicit)
Meike Klettke

42 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: <row Name="Hotel Neptun" Typ="EZ" Preis="120"/> <row Name="Hotel Neptun" Typ="DZ" Preis="170"/> <row Name="Hotel Neptun" Typ="Suite" Preis="350"/> Meike Klettke

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

44 Nativer Datentyp XML /1 Validitätstests beim Einfügen von Daten möglich 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,‚ <book genre="security" publicationdate="2002" ISBN=" "> <title>Writing Secure Code</title> <author> <first-name>Michael</first-name> <last-name>Howard</last-name> </author> <first-name>David</first-name> <last-name>LeBlanc</last-name> <price>39.99</price> </book>') Meike Klettke

45 Nativer Datentyp XML /2 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) XML-Index indiziert Tags, Werte, Pfade (verwendet B+-Bäume für alles) Volltextindex möglich SELECT * FROM docs WHERE contains (xCol, 'Visionen', LANGUAGE 'German') Anfragen: SELECT * FROM docs WHERE CONTAINS(xCol,'Secure') AND Col.exist('/book/title/text()[contains(.,"Secure")]') =1 Im oberen Beispiel: verschiedene Semantik von contains: 1. Auftreten Stammwortreduktion 2. Teilstring-Match Meike Klettke

46 SQL-Server – XML-Sichten über einer Datenbank
durch annotierter XDR (XML-Data Reduced) Schema oder annotiertes XML-Schema (AXDS) wird Abbildung auf ein relationales Schema beschrieben, Beispiel: <schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <ElementType name="zimmertyp" sql:relation="Zimmertyp"> <attribute type="ztyp" sql:field="ZTyp"/> <attribute type="hname" sql:field="HName"/> </ElementType> </schema> Meike Klettke

47 SQL-Server – Einordnung
konzeptuell XPath logisch SQL Updategram Volltext-operationen relationale physisch Edge-Table Datenbank daten- dokument- semi- zentriert strukturiert zentriert Meike Klettke

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

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

50 Tamino von der Software AG entwickelt
eines des bekanntesten nativen XML-Datenbanken vollständig für die Verarbeitung von XML-Dokumenten entwickelt (Erfahrungen aus der Entwicklung von adabas) Meike Klettke

51 Tamino - Eigenschaften
native Speicherung der XML-Dokumente Anfragen mit XPath / XQuery Volltextfunktionalität ergänzt Updateoperationen möglich Sperrverfahren auf der Ebene von ganzen XML-Dokumenten Meike Klettke

52 Tamino - Architektur Meike Klettke

53 Speicherung und Retrieval von XML-Dokumenten
XML-Ausgabe Anfrage (URL) XML Objekte, DTDs Query XML Interpreter Parser Object Prozessor Object Utilities Composer Daten von externen Daten an externe Datenquellen und/ Datenquellen und/ oder der internen Data Map oder an die intere Datenspeicherung Datenspeicherung Meike Klettke

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

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

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

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

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

59 infonyte - Architektur
Meike Klettke

60 infonyte - Einordnung Meike Klettke konzeptionell DOM logisch
XPath1.0 XQL Updates Speicherung der physisch DOM Informationen dokument- semi- daten- zentriert strukturiert zentriert Meike Klettke

61 infonyte - Lösungen Datenintegration und -bereinigung in Data Warehouses Mit Anfragetechniken und XSLT, verschiedene Umformungen, zum Beispiel Gruppierung möglich 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 Technische Dokumentationen ähnliches Szenario Autorenseite und Anwender /Leserseite, über Webbrowser, aber auch PDAs Meike Klettke

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

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

64 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 Meike Klettke

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

66 Galax open-source Implementation of XQuery 1.0
Ziel: volle Übereinstimmung mit den W3C XQuery Spezifikationen Referenzimplementation für XQuery 1.0 Anfrageoptimierung steht im Mittelpunkt über XQueyr hinaus gehende Eigenschaften: Updates Volltextoperationen Galax release 0.5.0 Meike Klettke

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

68 Query-Verarbeitung Meike Klettke

69 XML-Benchmarks /1 Ziel: Vergleich von Systemen 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 Meike Klettke

70 XML-Benchmarks /2 Vorgehensweise:
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) Meike Klettke

71 Wahl des Speicherungssystems
alle Systeme haben die „Datenbankvorteile“ gegenüber dem Filesystem, z.B.: Datensicherheit, Konsistenztests, Indizierung, Anfragerealisierung, Optimierung, und viele mehr Wahl des Systems hängt von aktuellen Anforderungen ab hier dargestellte Eigenschaften stellen qualitative Kriterien dar (diese nähern sich aber durch die Standardisierung an) Benchmarks versuchen quantitative Vergleiche 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 Meike Klettke

72 Literatur /1 www.ibm.com www.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, Meike Klettke

73 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 Thomas Tesch, Peter Fankhauser, Tim Weitzel (infonyte): Skalierbare Verarbeitung von XML-Dokumenten in Datenbanken, BTW 2003 Berkeley DB XML Meike Klettke

74 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, 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 Meike Klettke


Herunterladen ppt "XML und Datenbanken - Systeme -"

Ähnliche Präsentationen


Google-Anzeigen