XML - DBIS

Werbung
XML-Schema
oder
DTD
XML-Datei
XML-Datei
XML-Datei
XML-Datei
XML-Datei
Validating XML Parser
Application
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL 2003
• Part 14: XML-Related Specifications (SQL/XML)
– “This part of ISO/IEC 9075 defines ways in which Database
Language SQL can be used in conjunction with XML.”
(Zitat aus der Einführung der Spezifikation)
– ~ 360 Seiten (Part 14)
– Spezifikation kostet Geld
(nur Part 14) ~190 Euro als PDF
– Final Committee Draft Version online unter:
http://www.sqlx.org/SQL-XML-documents/5FCD-14-XML2004-07.pdf
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Mapping
SQL-to-XML
• Mapping SQL character sets to Unicode.
• Mapping SQL <identifier>s to XML Names.
• Mapping SQL data types (as used in SQL-schemas to
define SQL-schema objects such as columns) to XML
Schema data types.
• Mapping values of SQL data types to values of XML
Schema data types.
• Mapping an SQL table to an XML document and an XML
Schema document.
• Mapping an SQL schema to an XML document and an
XML Schema document.
• Mapping an SQL catalog to an XML document and an
XML Schema document.
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Modell Mapping
SQL
XML
SQL-Character-Sets
XML-Unicode
SQL-Identifiers
XML-Names
SQL-Datentypen
XML-Schema-Datentypen
SQL-Werte
XML-Werte
SQL-Tabellen
XML-Dokumente (Daten)
SQL-Schemata
XML-Schema-Dokumente
SQL-Katalog (Meta-Daten)
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Datentype Mapping
SQL
CHARACTER, VARCHAR,
CLOB
INTEGER, SMALLINT,
BIGINT
NUMERIC, DECIMAL
…
WS2006/2007
XML
xsd:string
xsd:integer
(maxInclusive
und minInclusive)
xsd:decimal
…
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Mapping
XML-to-SQL
• Mapping Unicode to SQL character sets.
• Mapping XML Names to SQL <identifier>s.
Also:
SQL/XML konzentriert sich auf das Erzeugen
von XML-Daten aus relationalen Datenbanken.
link
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Funktionen
Reservierte Schlüsselwörter:
XML | XMLAGG | XMLATTRIBUTES | XMLBINARY | XMLCONCAT
| XMLCOMMENT | XMLELEMENT | XMLFOREST
| XMLNAMESPACES | XMLPARSE | XMLPI | XMLROOT | XMLSERIALIZE
Funktionen:
• XMLELEMENT – Konstruktion eines XMLElements
• XMLATTRIBUTES – Erzeugung eines
XML-Attributes
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
SQL/XML Funktionen
• XMLFOREST – Erzeugung einer Menge
von XML-Elementen (Wald)
• XMLAGG – Zusammenfassen von
Ergebnissen (Nutzung von Group-By, für
1-n Relationen)
• XMLCONCAT fügt mehrere XML-Werte
zusammen
• XMLCOMMENT, XMLPI, …
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Neuer Datentype: XML
• Erlaubte Werte sind:
– Ein XML-Dokument (mit Prolog),
– Ein XML-Inhalt gemäß XML-Standard 1.0,
– NULL.
Beispiel:
CREATE TABLE StudentXML (
name VARCHAR(35),
vorname VARCHAR(30),
matrikel INTEGER,
details XML);
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
… nicht enthalten ist …
• Keine Anfragedefinition auf XML
Datentype  kann extern über XPath,
XQuery, XSLT realisiert werden.
• Keine Festlegung der Abbildung von XML
auf SQL-Tabellenstrukturen.
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Praxisbeispiel DB2 von IBM
• Datenbanken müssen beim Erstellen auf
XML vorbereitet werden.
• Es wird nur UTF-8 unterstützt.
SELECT XMLELEMENT ( NAME "Test",
XMLATTRIBUTES (12 AS "Default12"),
XMLCONCAT (
XMLELEMENT (NAME "ZUSATZ",
XMLFOREST (t.name AS "Vorname", t.ID AS "ID")
),
XMLELEMENT (NAME "ZUSATZ",
XMLFOREST (t.name AS "Vorname", t.ID AS "ID")
)
)
) from KARSTEN.TEST AS t;
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Was hatten wir bisher?
XML
WS2006/2007
DBMS
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Native XML DBMS (NXD)
• Definiert ein logisches Model der XML-Dokumente zur
Speicherung und Anfrage dieser.
– Unterstützt minimal: Elemente, Attribute, PCDATA und die
Dokumentreihenfolge
• Dokumente als logische Struktur (vergleichbar mit
Tabellen in RDBMS)
• Unabhängig von der unterliegenden Speicherstruktur.
 DBMS, welches für den Umgang mit XML konzipiert
wurde und dessen Besonderheiten berücksichtigt
Beispiele: Tamino, eXist, XQuantum, …
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Tamino XML Server
•
•
•
•
Kommerzielles Tool der Software AG
Online: http://www.softwareag.com/de/products/tamino/default.asp
Server basiert: Zugriff über HTTP
Bietet DBMS Funktionalitäten:
– Transaktionen, Sicherheit, Mehrbenutzer,
Skalierbarkeit, …
• Für Windows, Unix, Linux (Details siehe Web)
• Speicherung ohne DTD oder XML Schema
möglich
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Architektur
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
• Speicherung ohne DTD oder XML Schema
möglich (meist bei NXD)
– Änderungen, partielle Abhängigkeiten, …
• Speicherung von nicht-XML Objekten
(HTML, Bilder, …)
• Zugriff zu externen (relationalen)
Datenquellen
• Intern UTF, für Import und Export werden
auch andere Encodings unterstützt!
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Index
– Standard Index: Indizierung der Werte für
einzelne Elemente oder Attribute
– Text Index: Indizierung der Werte über
Elemente und Attribute hinweg
– Struktur Index: Index über die Pfade, die in
den Dokumenten vorkommen
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Probleme bei der Erstellung
eines Index
• Auftrennung eines Textes in Wörter
(Token) ist nicht trivial!
– Zeichensetzung, Umbrüche, Bindestriche, etc.
• Weiterhin werden nicht in jeder Sprache
Wörter getrennt geschrieben, Koreanisch,
Japanisch, Chinesisch …,
– z.B.
この前友達があなたに会ったって言ってたか
らさ、なんか話した … wird von Tamino
unterstützt!
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Speicherung
• Speicherung wird aufgeteilt in zwei
“Spaces”
– “data space” – für die eigentlichen XMLDokumente, die in Abhängigkeit ihrer Größe
komprimiert werden
– “index space” – für die Indizes, die für die
Anfragen genutzt werden. Zugriff auf XMLDokumente erst am Ende (wenn nötig)
• Die “Spaces” können partitioniert werden.
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
eXist
•
•
•
•
Open Source
Online unter: http://exist.sourceforge.net/
Java (1.4 oder höher)
Keine weitere Software nötig (Cocoon /
Jetty als Web Server enthalten aber nicht
zwingend nötig)
• Speichert auch nicht XML-Dateien (HTML,
XQuery, CSS, …)
• Fact sheet
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Hybrid Database – DB2 UDB Architecture
– Native XML data type (server & client side)
– XML Capabilities in all database
components
– Applications combine XML & relational
SERVER
data
CLIENT
Client /
Customer Client
Application
Relational
Interface
XQuery
XML
Interface
Folie übernommen von: George Lapis (IBM)
Storage:
DB2
Engine
Relational
XML
Choosing database storage
for XML data
 Storing XML as BLOB or VARCHAR
 Shredding XML into relational tables
 Storing XML in native format
Folie übernommen von: George Lapis (IBM)
Storing XML in Shredded Form
Folie übernommen von: George Lapis (IBM)
Storing XML in a Native XML
data type
Folie übernommen von: George Lapis (IBM)
Summary
CLOB
SHRED NATIVE
Schema Flexibility
Best
Bad
Best
XML Search Performance
Bad
Good
Best
Full Document Retrieval Perf
Best
Bad
Good
Partial Document Retrieval Perf
Bad
Good
Best
Insert Performance
Best
Bad
Good
Sub-doc Level Update Perf
Bad
Good
Best
Sub-doc Level Concurrency
Bad
Good
Best
Full Document Delete
Best
Bad
Good
Preserve Doc Structure, Order
Best
Bad
Best
XML Parsing Required at Insert
Optional
Yes
Yes
XML Parsing Required at Query
Yes
No
No
Folie übernommen von: George Lapis (IBM)
… es gibt weitere Aspekte
• Performance kann schwanken je nach:
–
–
–
–
Größe der XML-Datei
Aufbau der XML-Datei
Gesamtgröße der Datenbank
Art der Umsetzung
• Wieviel Speicherplatz wird benötigt?
• Anfrage-Performance – Wonach wird gesucht?
– Gesamtes Dokument, über Dokumente hinweg,
einzelne Komponenten, …
• …
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
… sollte in der Bib. sein!
Buch-Beschreibung unter:
http://portal.acm.org/citation.cfm?id=599754&dl=acm&coll=&CFID=15151515&CFTOKEN=6184618
WS2006/2007
Vorlesung: Datenbanken und Internet
Copyright 2006 – DBIS/Dr. Karsten Tolle
Herunterladen