Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ilma Wellner Geändert vor über 11 Jahren
1
Verwaltung von XML-Dokumenten
2
© Prof. T. Kudraß, HTWK Leipzig 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 Daten oder Dokumente (1) Lesbare Dokumente (dokumentzentriert) – sind selten genau gleich strukturiert – Reihenfolge ist wichtig – sinntragende Daten auf allen Ebenen, viel Mixed Content – Volltextsuche ist unabdingbar, aber nicht ausreichend – Beispiele Zeitschriftenbeiträge, Bücher Gebrauchsanweisungen, Handbücher e-Mail Präsentationen Verträge – 70% der relevanten Geschäftsinformationen in Textdokumenten
4
© Prof. T. Kudraß, HTWK Leipzig Daten oder Dokumente (2) Datenzentrierte Dokumente – wie Daten im herkömmlichen Sinn (z.B. in relationalen Datenbanken) – Reihenfolge ist oft nicht relevant – sind einheitlich und meist einfach strukturiert – haben Datentypen – sinntragende Daten in Blattelementen oder Attributen – Mixed Content ist die Ausnahme (oder Dekoration) – Beispiele: Telefonbücher wissenschaftliche Daten Fahrpläne, Flugpläne Bestellungen
5
© Prof. T. Kudraß, HTWK Leipzig Daten und Dokumente Semistrukturierte Daten – Strukturiert: Felder – Unstrukturiert: binäre Daten wie Text, Video- und Audio- Streams, Bilder (in XML: External Entities, CDATA Sections) – unregelmäßiges Auftreten von Hyperlinks Mangel an Struktur – Mischform aus datenzentriert und dokumentenzentriert – Struktur implizit oder verborgen – Integration von Daten aus heterogenen Quellen (hierfür strukturiertes Modell oft zu restriktiv) – Bestimmte Anfragetypen ignorieren Schema bewußt (z.B. Zeichenkettensuche über gesamte Datenbank hinweg) Beispiel Krankenakten: – Krankenakten Daten: Geburtsdatum, Adresse, etc, binäre Daten: Röntgenbilder Dokumente: Diagnose, Anamnese etc.
6
© Prof. T. Kudraß, HTWK Leipzig Klassifikation: Beispiel Datenzentrierte Dokumente (strukturiert, regulär Beispiele: Produktkataloge, Bestellungen, Rechnungen) Dokumentzentrierte Dokumente (unstrukturiert, irregulär Beispiele: wissenschaftliche Artikel, Bücher, E-Mails, Webseiten) Semistrukturierte Dokumente (datenzentrierte und dokumentenzentrierte Anteile Beispiele: Veröffentlichungen, Amazon) Meyer 1-234-56789-0 2 30.00 XML builds on the principles of two existing languages, HTML and SGML to create a simple mechanism.. The generalized markup concept.. Neil Bradley XML companion 1-234-56789-0 XML builds on the principles of two existing languages, HTML and..
7
© Prof. T. Kudraß, HTWK Leipzig Warum XML in Datenbanken XML als SGML-Nachfolger – entstehende Dokumente müssen gespeichert werden XML als Austauschformat – Originaldaten werden in XML transformiert Austauschdaten müssen aber ebenfalls gespeichert werden (z.B. beim Empfänger) Nur die Speicherung in Datenbanken garantiert – mächtige und effiziente Suchfunktionen – transaktionsorientierte Speicherung – Mehrbenutzerbetrieb Anwendungen – Dokumentenverwaltung – Website-Management – Verkaufsunterstützung – Information Publishing
8
© Prof. T. Kudraß, HTWK Leipzig XML-Datenbanksysteme (1) kann beliebige XML-Dokumente als solche speichern kann XML-spezifische Anfragesprache verarbeiten liefert XML als Ergebnis einer Anfrage – Dokumente und Extrakte effiziente struktur-und wertebasierte Anfragen unterstützt Daten- und Dokumentsicht (Mixed Content, Kommentare etc.) erlaubt eine schematische Beschreibung der Dokumente (Validierung möglich)
9
© Prof. T. Kudraß, HTWK Leipzig XML-Datenbanksysteme (2) DB-Eigenschaften (Transaktionen, Skalierbarkeit etc.) standardkonform Sammlung von XML-Dokumenten? Sammlung von XML-Dokumentfragmenten? Unabhängigkeit von der Speicherungsstruktur Indizierung? Validierung Sicherheit Erweiterbarkeit
10
© Prof. T. Kudraß, HTWK Leipzig 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
11
© Prof. T. Kudraß, HTWK Leipzig Anfragetypen: Werteorientiert @attribute < 5 – element < 7.1 – 6.1 element = Hugo – Hugo
12
© Prof. T. Kudraß, HTWK Leipzig Anfragetypen: Textorientiert documents containing XML documents containing XML OR HTML but not SGML documents containing XML within two words of database documents with word similar to XML (ranking)
13
© Prof. T. Kudraß, HTWK Leipzig Anfragetypen: Strukturorientiert siehe XPath Query Language //Buch bzw. /[//Buch] alle Buch-Elemente bzw. Dokumente, in denen ein Element Buch vorkommt //Buch/@ISBN bzw. /[//Buch/@ISBN] der Wert des Attributs ISBN von Buch bzw. Dokumente, in denen ein Element Buch ein Attribut ISBN hat /Buch/@* /Buch/Titel /Buch/Autor[1] /Buch/*[1] Titel AFTER /Buch/Autor
14
© Prof. T. Kudraß, HTWK Leipzig Weitere Anfragetypen Linkorientiert – Dokumente, die auf eine bestimmte Stelle zeigen – Dokumente, die aus einem Dokument referenziert werden Metadatenorientiert – Dokumente, die seit dem 1.1.2002 geändert wurden – Dokumente, die von Matthias Conrad gespeichert wurden Kombinationen daraus – //Buch[Preis < 50 AND Titel CONTAINS XML]
15
© Prof. T. Kudraß, HTWK Leipzig Anfragesprachen Es gibt noch keine normierte Anfragesprache für XML – die XML Query Working Group (W3C) arbeitet daran Anforderungen an die Anfragesprache liegen vor – deklarativ – protokoll-unabhängig – auf allen Arten von Dokumenten (dokument- oder datenzentrisch), mit und ohne DTD – Operationen auf Hierarchie und Reihenfolge – Unterstützung von Sortierung von Aggregation – XML-Repräsentation einer Query – Berücksichtigung von Namespaces – Unterstützung von Referenzen innerhalb und außerhalb von Dokumenten
16
© Prof. T. Kudraß, HTWK Leipzig XML-QL W3C: http://www.w3.org/TR/NOTE-xml-qlhttp://www.w3.org/TR/NOTE-xml-ql Datenquelle als URI Aufbau: WHERE Suchmuster IN Quelle CONSTRUCT Ausgabemuster Beispiel-Anfrage in XML-QL (WHERE-Klausel): WHERE $1 IN www.booklist.com/books.xml CONSTRUCT $1 Anfrage extrahiert Daten aus einem XML-Dokument, die in der Struktur BOOK-NAME-LAST zu finden sind und erzeugt Ergebnis- Dokument
17
© Prof. T. Kudraß, HTWK Leipzig XPath Für die Verwendung in XSLT und XPointer entworfen Beim W3C normiert (W3C Recommendation) http://www.w3.org/TR/xpath.html http://www.w3.org/TR/xpath.html Navigation in einem Dokument – Location Path Achsen zur Navigation child, descendant, parent, ancestor, sibling, following, preceding, attribute, namespace, self, z.B. descendant::Name/child::Vorname Kurznotation ist verfügbar: //Name/Vorname
18
© Prof. T. Kudraß, HTWK Leipzig XPath (Forts.) Filter – [expression] – Beispiel: //Buch[@ISBN=3-557-06021-7 AND Author] Wildcard – //*[@*=Hugo] Position [pos] – /book/author[1] kann auf Processing Instructions und Kommentare zugreifen Weitere Query Languages – XQL: basiert auf XPath, W3C-Proposal – Quilt: Basis für XQuery (zur Zeit diskutierter Sprachvorschlag) – IPSI-QL (erste Implementierung)
19
© Prof. T. Kudraß, HTWK Leipzig Ziel: Anfrageergebnis wohlgeformtes XML unterschiedliche Granulate – Dokument – Menge von Dokumenten (mengenorientierte Anfrage) erfordert systemdefinierte Wurzel – Element / Menge von Elementen (aus Dokument) – Attributwerte / Menge von Attributwerten – Elementwert / Menge von Elementwerten Anfrageergebnisse
20
© Prof. T. Kudraß, HTWK Leipzig XML-Architektur physische Ebene Dokument- verarbeitung Dokumenten Entwurf von XML- Konzeptueller logische Ebene konzeptuelle XML Datenbanken Klettke / Meyer XML-Datenbanken
21
© Prof. T. Kudraß, HTWK Leipzig 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
22
© Prof. T. Kudraß, HTWK Leipzig 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
23
© Prof. T. Kudraß, HTWK Leipzig Bedeutung des Dokumentcharakters XML-Dokumente können die ganze Bandbreite von Daten bis zu Volltextdokumenten ein- nehmen – dokumentzentriert, semistrukturiert, datenzentriert dementsprechend unterschiedliche Speiche- rungsverfahren von der Dokumenten- verarbeitung bis zur DB-Technologie weiterhin: Neuentwicklung von Methoden keine optimale Lösung für alle Anwendungen, Dokumentcharakter spielt entscheidende Rolle!
24
© Prof. T. Kudraß, HTWK Leipzig 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
25
© Prof. T. Kudraß, HTWK Leipzig 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
26
© Prof. T. Kudraß, HTWK Leipzig Grundprinzip der invertierten Liste
27
© Prof. T. Kudraß, HTWK Leipzig 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
28
© Prof. T. Kudraß, HTWK Leipzig 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
29
© Prof. T. Kudraß, HTWK Leipzig 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
30
© Prof. T. Kudraß, HTWK Leipzig 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
31
© Prof. T. Kudraß, HTWK Leipzig 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:
32
© Prof. T. Kudraß, HTWK Leipzig 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.
33
© Prof. T. Kudraß, HTWK Leipzig 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
34
© Prof. T. Kudraß, HTWK Leipzig 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
35
© Prof. T. Kudraß, HTWK Leipzig Eigenschaften der Speicherung von DOM Schemabeschreibung – Zur Speicherung nicht erforderlich Dokumentrekonstruktion – Möglich, aber auswä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)
36
© Prof. T. Kudraß, HTWK Leipzig 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:
37
© Prof. T. Kudraß, HTWK Leipzig 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
38
© Prof. T. Kudraß, HTWK Leipzig 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
39
© Prof. T. Kudraß, HTWK Leipzig 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
40
© Prof. T. Kudraß, HTWK Leipzig 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
41
© Prof. T. Kudraß, HTWK Leipzig 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
42
© Prof. T. Kudraß, HTWK Leipzig 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)
43
© Prof. T. Kudraß, HTWK Leipzig 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
44
© Prof. T. Kudraß, HTWK Leipzig Abschließende Frage verschiedene Ansätze unter einem Dach (in relationaler Datenbank), z.B. Oracle oder Umstieg auf native XML-Datenbanksysteme ?
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.