Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.

Ähnliche Präsentationen


Präsentation zum Thema: "Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden."—  Präsentation transkript:

1 Verwaltung von XML-Dokumenten

2 © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen der Dokumente unterscheidet sich stark Vielzahl von Methoden zur Speicherung existiert verschiedene Abfragemethoden Mehrere Varianten zur Modellierung von XML- Dokumenten und deren Struktur

3 © Prof. T. Kudraß, HTWK Leipzig 3 3 Speichern & Liefern von Dokumenten Round-Trip-Problem – Gespeicherte Dokumente werden unverändert geliefert Der ganze Inhalt – Prolog – Kommentare – Processing Instructions Was heißt unverändert

4 © Prof. T. Kudraß, HTWK Leipzig 4 4 XML-Architektur physische Ebene Dokument- verarbeitung Dokumenten Entwurf von XML- Konzeptueller logische Ebene konzeptuelle XML Datenbanken Klettke / Meyer XML-Datenbanken

5 © Prof. T. Kudraß, HTWK Leipzig 5 5 Logische Ebene logische Ebene datenzentriert semistrukturiert dok-zentriert Datenmodell Anfragen/Updates an Inhalt XML, RDBM, OODBM XQuery, SQL, OQL Daten- und Dokumentmodell Struktur und Inhalt Anfragen/Updates an XML, OEM XQuery, Lorel Dokumentmodell Anfragen/Updates an Struktur und Inhalt XML,SGML XQuery, XPath, DOM, IR-Anfragen

6 © Prof. T. Kudraß, HTWK Leipzig 6 6 Realisierung Physische Ebene Speicherung der XML-Dokumente als Ganzes und Indizierung (textbasiert native) – Volltextindex – Volltext- und Strukturindex Speicherung der Graphenstruktur (modellbasiertes natives Verfahren) – generische Graphspeicherung – Speicherung der DOM-Informationen strukturierte Abbildung auf Datenbanken – relationale Datenbanken – objekt-orientierte und objekt-relationale Datenbanken – Einsatz von benutzerdefinierten Mappingverfahren Ebene physische

7 © Prof. T. Kudraß, HTWK Leipzig 7 7 Architektur: physische Ebene datenzentriert semistrukturiert dok-zentriert relationale, objekt-relationale oder objekt-orientierte Datenbanken generische Speicherung von Graphen oder DOM-Informationen Dateien Volltextindex, Strukturindex Struktur auf Werteebene Struktur auf Schema- und Werteebene Struktur auf Schemaebene Ebene physische

8 © Prof. T. Kudraß, HTWK Leipzig 8 8 Volltextindex und XML-Index Volltextindex Als Dateien / Clobs Speicherung der Dokumentstruktur Strukturierte Speicherung in Datenbanken Vollständiges Mapping Benutzer- definiertes Mapping Abbilden des DOM-Modells Abbildung der Graphstruktur Für dokument-zentrierte XML-Dokumente Für daten-zentrierte XML-Dokumente Für semistrukturierte XML-Dokumente Speicherung von XML-Dokumenten

9 © Prof. T. Kudraß, HTWK Leipzig 9 9 Speicherungsmethoden (Klassifikation nach Schöning) inhaltsorientierte Zerlegung – generisch (generelle Abbildungsvorschrift) – definitorisch (Abbildungsvorschriften für einzelen Datenstrukturen) – Beispiel: Oracle (beide Varianten mit/ohne Annotations) strukturorientierte Zerlegung – Verwendung allgemeiner Datenstrukturen (z.B. DOM / Baumstruktur) – generell anwendbar auch bei unbekanntem Dokumentenschema opake Speicherung – gesamtes XML-Dokument in einer einzigen Spalte vom Typ VARCHAR oder CLOB – SQL-Zugriff nur noch eingeschränkt möglich (bestenfalls dedizierte Funktionen)

10 © Prof. T. Kudraß, HTWK Leipzig 10 Grundprinzip der invertierten Liste

11 © Prof. T. Kudraß, HTWK Leipzig 11 Volltext-Index - bekannte Methode (älter als relationale Datenbanken) - Boolesches Retrieval (AND, OR, NOT) Verweis Warnemünde 18119 Warnemünde 12 Hotel Hübner Aus Richtung Rostock kommend... Begriff anreisebeschreibung ort Rostock hotel Seestraße

12 © Prof. T. Kudraß, HTWK Leipzig 12 Eigenschaften des Volltext-Indexes Schemabeschreibung – nicht erforderlich Dokumentrekonstruktion – Dokumente bleiben im Original erhalten Anfragen – Anfragen des Information Retrieval Weitere Besonderheiten – Volltextfunktionen (vgl. SQL-MM) – keine Auswertung des XML-Markups Einsatz – für dokumentzentrierte XML-Anwendungen Produkte – Oracle InterMedia Text, DB2 Text Extender

13 © Prof. T. Kudraß, HTWK Leipzig 13 Kombinierter Volltext- und XML-Index - XML - Struktur kann in Anfragen ausgewertet werden Verweis Seestraße... Vorgänger Warnemünde 18119 Element Hotel Hübner Volltext-Index XML-Index Element ort Aus Richtung Rostock kommend fahren Sie auf der hotel adresse Stadtautobahn bis nach Warnemünde strasse Term Warnemünde Rostock anreise- beschreibung

14 © Prof. T. Kudraß, HTWK Leipzig 14 Eigenschaften des kombinierten Volltext- und XML-Indexes Schemabeschreibung – nicht erforderlich Dokumentrekonstruktion – Dokumente bleiben im Original erhalten Anfragen – Anfragen des Information Retrieval – Auswertung des Markup in den Anfragen – XML-Anfragen möglich Weitere Besonderheiten – Volltextfunktionen (vgl. SQL-MM) Einsatz – für dokumentzentrierte XML-Anwendungen – auch für semistrukturierte Anwendungen Produkte – Oracle InterMedia Text, DB2 Text Extender

15 © Prof. T. Kudraß, HTWK Leipzig 15 Speicherung der Graphstruktur generische Speicherung der Struktur des XML-Dokumentes Element www... Müller ort plz ValueTypeDescendant-of string strasse Warnemünde Seestrasse hotel string Element adresse int18119 AttributeValueType url autor string Attributes: Elements:

16 © Prof. T. Kudraß, HTWK Leipzig 16 Eigenschaften der Speicherung der Graphenstruktur Schemabeschreibung – Zur Speicherung nicht erforderlich Dokumentrekonstruktion – Möglich, aber sehr aufwendig Anfragen – XML-Anfragen möglich – Angepaßte Datenbankanfragen Weitere Besonderheiten – Anfragen über vielen Elementen/Attributen sind aufwendig Einsatz – für daten- und dokumentzentrierte, sowie semistrukturierte XML- Anwendungen Produkte – Algorithmen von Florescu/Kossmann, Bradley u.a.

17 © Prof. T. Kudraß, HTWK Leipzig 17 Speicherung des DOM / 1 Informationen des Document Object Models werden in Datenbanken gespeichert Verwendung relationaler oder objekt-orientierter Datenbanken oder Entwicklung eigener Speicherungsstrukturen Comment ProcessingInstruction Document DocumentFragment DocumentType Element Entity EntityReference Notation Text CDataSection DOMImplementation NodeNodeListNamedNodeMap CharacterData Attr

18 © Prof. T. Kudraß, HTWK Leipzig 18 Speicherung des DOM / 2 Methoden der Klasse Node: - getChildren() - getFirstChild() - getNextSibling() - getNodeType() - getParentNode() - getPreviousSibling() - hasChildren() Methoden der Klasse Element: - getAttributes() - getElementsByTagName(String) - getTagName() Methoden der Klasse Attribut: - getName() - getValue() NodeIDNodeTypeDocIDParentNode NodeIDElementIDAttributNameAttributValue PreviousSiblingNextSiblingFirstChild NodeIDTagName

19 © Prof. T. Kudraß, HTWK Leipzig 19 Eigenschaften der Speicherung von DOM Schemabeschreibung – Zur Speicherung nicht erforderlich Dokumentrekonstruktion – Möglich, aber aufwändig Anfragen – XML-Anfragen möglich – Angepasste Datenbankanfragen Weitere Besonderheiten – Standardisierte und allgemein akzeptierte Schnittstelle Einsatz – für daten- und dokumentzentrierte, sowie semistrukturierte XML-Anwendungen Produkte – infonyte (IPSI Darmstadt), eXcelon XIS (POET), ozone (SMB)

20 © Prof. T. Kudraß, HTWK Leipzig 20 Abbildung der XML- Struktur auf relationale Datenbanken - DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität - Datentypen Hotel Hübner Warnemünde... 198... Seestraße XML-Dokument HotelIDHotelnameAdressePreise H0001Hotel HübnerA0001P0001 AdresseIDOrtStrasse... A0001WarnemündeSeestraße PreiseIDEinzelzimmer... P0001198 Hotel: Preise: Adresse:

21 © Prof. T. Kudraß, HTWK Leipzig 21 Abbildung der XML- Struktur auf objekt-orientierte Datenbanken - DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität - Datentypen - Datenbanken mit vielen Nullwerten HotelIDHotelnameAdressePreise OrtStrasse...einzelzimmer... H0001Hotel HübnerWarnemündeSeestraße198 Hotel: XML-Dokument Hotel Hübner Warnemünde... 198... Seestraße

22 © Prof. T. Kudraß, HTWK Leipzig 22 Strukturierte Speicherung in Datenbanken Schemabeschreibung – Zur Speicherung erforderlich Dokumentrekonstruktion – Nur eingeschränkt möglich (Protokollierung des Abbildungsprozesses) Anfragen – Datenbankanfragen – XML-Anfragen möglich Weitere Besonderheiten – Föderationen mit bestehenden Datenbanken möglich Einsatz – für datenzentrierte XML-Anwendungen Produkte – Algorithmen: Bourret, Suciu (STORED), Shanmugasundaram u.a. – Oracle XDK (XSU), Bluestones XML Suite

23 © Prof. T. Kudraß, HTWK Leipzig 23 Benutzerdefiniertes Mapping - Flexible Methode - Integration von XML-Dokumenten in existierende Datenbanken - Ein Mapping muss von Benutzer spezifiziert werden Hotel Hübner Hotel_URL Hotelpreise NameEinzelzimmer www.hotel-huebner.de198 Datenbank Hotel Hübner Warnemünde... 198... Seestraße... XML-DokumentMapping Vorschrift

24 © Prof. T. Kudraß, HTWK Leipzig 24 Speicherung mittels benutzerdefiniertem Mapping Schemabeschreibung – Zur Speicherung erforderlich Dokumentrekonstruktion – Meist nicht möglich (Voraussetzung: Protokollierung des Abbildungsprozesses, vollständige Abb.) Anfragen – Datenbankanfragen – XML-Anfragen in Ausnahmefällen möglich Weitere Besonderheiten – Integration in bestehende Datenbanken möglich Einsatz – für datenzentrierte XML-Anwendungen Produkte – DB2 XML Extender, Oracle XDK, Oracle 9iR2

25 © Prof. T. Kudraß, HTWK Leipzig 25 Hybride Ansätze Auswahl unterschiedlicher Speicherungsmethoden für verschiedene Dokumentanteile Hotel 0381/5434-0 Ort Strasse Telefon Strand Hotel Hübner Warnemünde Seestraße komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt Sie finden unser elegant und und Ostsee. 18119 12 0381/5434-0 Sie finden unser elegant und komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt und Ostsee. Strand Hotel Hübner Warnemünde Seestraße

26 © Prof. T. Kudraß, HTWK Leipzig 26 Beschränkungen der Ansätze (1) Speicherung als Ganzes – Locking nur auf Dokumentebene möglich – Bearbeitung von Teildokumenten schwieriger – oft nur proprietäre Lösungen implementierbar – Einschränkungen bei Anfragen (z.B. wertbasierte Suche) Speicherung der Dokumentstruktur (bei Abbildung der Graphstruktur in Relationen): – Anfragesprache: nur SQL keine adäquaten Anfragekonstrukte Anfrageformulierung schwierig Änderungen auf SQL-Ebene können Struktur des Dokuments zerstören – schlechte Performance Shredding der Relationen ->komplexe Joins umfangreiche Sperren

27 © Prof. T. Kudraß, HTWK Leipzig 27 Beschränkungen der Ansätze (2) strukturierte Speicherung in Datenbanken – Dokumente mit a priori bekanntem Schema, d.h. geringe Flexibilität bei Schemaänderung – unterschiedliche Schemamächtigkeit Rekursion? Mixed Content? – Keine vollständige Abbildung von Dokumenten Reihenfolgeerhaltung Prolog, Kommentare, Processing Instructions – strukturorientierte Anfragen schwierig

28 © Prof. T. Kudraß, HTWK Leipzig 28 Realisierung in Oracle seit Version 8 XML Developer Kit (XDK) seit Version 9 – spezieller Datentyp: X spezieller Datentyp: XMLType MLType – unterstützt inhaltsorientierte und opake Speicherung seit Version 10 – Integration von XQuery inhaltsorientierte Speicherung – erfordert registriertes Schema bei der Definition der XML- Spalte (Tabelle) – teilweise auch opake Speicherung möglich – Kommentare, PI und Reihenfolgeinformationen in (proprietärem) Systemattribut SYS_XDBPDS – Standardabbildung kann durch Annonationen im XML-Schema geändert werden ( xdb: )

29 © Prof. T. Kudraß, HTWK Leipzig 29 Strukturorientierte Zerlegung 124 2 567 4 KnotennrVorgaengerPositionNameWert 100 Auftrag- 210 @Auftragsnr12324 311 Auftragsposition- 431 Artikel124 532 Menge2 612 Auftragsposition- 761 Artikel567 862 Menge4

30 © Prof. T. Kudraß, HTWK Leipzig 30 XML-Schema-Dokument PO.xsd <element name="Auftragsposition" maxOccurs="1000">

31 © Prof. T. Kudraß, HTWK Leipzig 31 Inhaltsorientierte Zerlegung (Beispiel) CREATE TABLE po_tab OF XMLTYPE XMLSCHEMA " PO.xsd" ELEMENT "Auftrag" VARRAY(Auftragsposition) STORE AS Auftrag_tab; TYPE "Auftragsposition_T" (Artikel VARCHAR2(1000), Preis NUMBER); TYPE "Auftragsposition_COLL" AS VARRAY(1000) OF "Auftragsposition_T"; TYPE "Auftragstyp_T" (Auftragsnr NUMBER, Firma VARCHAR2(100), Auftragsposition Auftragsposition _COLL); Bindung des XML Schema-Dokuments an eine Tabelle Interne Erzeugung von Typdefinitionen

32 © Prof. T. Kudraß, HTWK Leipzig 32 Opake Abbildung in Oracle XML-Dokument mittels Typ XMLType gespeichert Storage-Option CLOB Zugriff auf den Inhalt eines Objekts von XMLType über Funktionen: – extract um das Ergebnis eines XPath-Ausdrucks zu erhalten, – getClobVal, getStringVal und getNumVal, um das Ergebnis von extract in einen SQL-Datentyp zu überführen, – extractValue, um das Ergebnis eines XPath-Ausdrucks direkt in einen SQL-Wert umzuwandeln, – existsNode, um zu prüfen, ob ein XPath-Ausdruck ein Ergebnis lie­fert. – createXML kann aus einer SQL-Zeichenkette ein Wert des Typs XML erzeugt werden (bei inhaltsorientierter Zerlegung wieder auf SQL-Tabellen abgebildet)

33 © Prof. T. Kudraß, HTWK Leipzig 33 Zugriff auf Objekt vom Typ XMLType (Beispiel) SELECT extractValue(value(d), '/Beschreibung) "Beschreibung" FROM Auftrag, table(xmlSequence( extract(object_value, '/Auftrag/Auftragsposition/Artikel'))) d WHERE existsNode(object_value, Auftrag[Auftragsnr="2803030912"]')=1 entspricht dem XPath-Ausdruck: /Auftrag[Auftragsnr="2803030912"]/Auftragsposition/ Artikel/Beschreibung


Herunterladen ppt "Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden."

Ähnliche Präsentationen


Google-Anzeigen