Post on 05-Apr-2015
XML - Datenbankenam Beispiel „Tamino“
von Sven Neuberg
Seminar: „Verteilte Datenbanken“
07.05.2002
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
Was ist XML ?
Metasprache für Auszeichnungssprachen wie z.B. HTML
XML liefert die Regeln, die beim Definieren von
Dokumenttypen angewendet werden Dokumenttyp:
gleiche Elementtypen Elemente alle in gleicher Weise ineinander verschachtelt
Ziel:
Schaffung Dokumente gleicher Struktur flexibler Informationsaustausch
Was ist XML ?Beispiel
<?XML version=“1.0”?> zeigt, daß es sich um ein XML-Dokument handelt
<Vortrag Uhrzeit=“17:15 Uhr”>
Start-Tag mit Attributname und -wert
<Thema>XML-Datenbanken</Thema>
Element
<Vortragender>Sven Neuberg
<Zweck>Seminar</Zweck></Vortragender>
</Vortrag> End-Tag
Was ist XML ?wichtige Eigenschaften
Baumstruktur
wichtigsten Bausteine sind Elemente und Attribute
Dokumente wohlgeformt (well-formed), wenn sie den Syntaxregeln genügen (im wesentlichen, wenn sie die geforderte Baumstruktur haben)
Dokumente können Schema haben
Kommentare und Processing Instructions an jeder Stelle erlaubt
Was ist XML ?wichtige Eigenschaften
Elemente können geschachtelt sein
Elemente gleichen Namens dürfen mehrfach vorkommen
Reihenfolge und Position sind wichtig
Elemente können leer sein
Attribute können optional sein
bei Attributen ist Reihenfolge unwichtig
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
XML – Datenbanken allgemein
viele XML - Anwendungen, wie z.B. E-Commerce, haben eine teilweise große Zahl komplexer XML-Dokumente
wirtschaftliche Verwaltung
XML-Server oder XML-Datenbanken
spezielle, auf die besonderen Anforderungen der massenhaften Verwaltung von XML-Dokumenten besonders ausgerichteten Technologien
Element-genauer Zugriff auf zum Teil uneinheitlich strukturiert vorliegende XML-Dokumente
effizientere Ausnutzung von XML gegenüber herkömmlichen Technologie
XML – Datenbanken allgemein
extra für XML-Objekte entwickelt Transaktionen, Sicherheit, Multi-User-Zugriff,
Abfragesprachen (wie andere DBS) internes Modell basiert auf XML Besonderheit:
unterstützt Abfragen wie: „Zeige mir alle Dokumente, in deren dritten Abschnitt nach Beginn ein kursiv gedrucktes Wort steht!”
in SQL schwierig Speicherung im XML-Format, unbeachtet des Inhaltes jedes XML-Dokument wird verstanden und gespeichert
Einteilung in 3 KategorienI.) XML-Erweiterte DB (XED)
eine existierende Datenbank wird mit einer XML-Mappingschicht versehen
Mappingschicht:
Verwaltung von Lese- und teilw. auch Schreiboperationen auf die gespeicherten XML-Dokumente
XML-Metadaten können verloren gehen Zugriff auf Daten mittels Standard-XML-Technologien
(XPATH) oder SQL Bsp.:
DB2XML ; XML-DBMS ; XML SQL Utility (XSU von Oracle)
Einteilung in 3 KategorienII.) Native XML-DB (NXD)
von Anfang für Speicherung und Bearbeitung von XML-Daten entworfen
Zugriff und Bearbeitung ausschließlich über XML-Technologien
Struktur und Metadaten werden vollständig erhalten
Bsp.:
dbXML ; Tamino ; X-Hive/DB
Einteilung in 3 KategorienIII.) Hybride XML-DB (HXD)
keine eindeutige Zuordnung zu den beiden vorhergehenden Kategorien
können je nach Applikationsanforderung als NXD oder XED genutzt werden
Struktur und Metadaten werden vollständig erhalten
Bsp.:
Ozon-DB ; Excelon
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
XML – Datenbanken wichtige Features
Document-Collections: ähnliche Rolle wie eine Tabelle in einer relationalen DB
oder ein Verzeichnis eines Dateisystems dient zum Ordnen von bestimmten Dokumenten der XML-
DB, um Abfragen auf diese auf die Collection zu beschränken
Query Languages: unterstützen eine oder mehrere Abfragesprachen verbreitetsten sind XPath (mit Erweiterungen für Abfragen
über viele Dokumente) und XQL Abfragesprache sollte den Anforderungen entsprechen
(z.B. Voll-Text-Abfragen)
XML – Datenbanken wichtige Features
Updates and Deletes: verschiedene Strategien:
vom einfachen Ersetzen oder Löschen bis hin zu einer Sprache, die Fragmente des Dokuments verändern kann
Transactions: virtuelle Unterstützung durch alle XML-DBS
Round-Tripping: Speicherung eines XML-Dokuments in einer XML-DB und
Zurückbekommen des “selben” Dokuments (keine Kopie) textbasiert: für Dokumente modellbasiert: auf der Ebene des Dokumentenmodells
XML – Datenbanken wichtige Features
Indizes:
Indexing von Element- und Attributwerten
in nicht-XML DB werden Indizes für Erhöhung der Geschwindigkeit genutzt
hier benutzt um Dokumente zu finden
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
XML – Datenbanken Anfragetypen
Werteorientiert:
@attribute > 5
<element attribute=“4“ />
element < 7.1
<element>6.1</element>
element = "Hugo"
<element>Hugo</element>
<element><subelement>Hugo</subelement></element>
<element><B>H</B>ugo</element>
XML – Datenbanken Anfragetypen
Textorientiert:
documents containing „XML“
documents containing "XML" OR "HTML but not "SGML"
documents containing "XML" within two words of "database"
documents with words similar to "XML" (ranking)
XML – Datenbanken Anfragetypen
Strukturorientiert:
//Buch
Dokumente, in denen ein Element "Buch" vorkommt //Buch/@ISBN
Dokumente, in denen ein Element "Buch" ein Attribut "ISBN" hat
Kombinationen:
aus werteorientiert, textorientiert und strukturorientiert
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
XML – Datenbanken Speicherung
Optionen zur Realisierung von XML in Datenbanken:
relational (in relationalen DBS)
inhaltsorientiert strukturorientiert opak
objektorientiert:
internes Objektmodell wird von jedem XML-Dokument erstellt und in einer OO-Datenbank gespeichert
XML (Tamino)
XML – Datenbanken Speicherung: relational inhaltsorientiert
Elemente und Attribute können auf Zeilen / Spalten verschiedener Tabellen abgebildet werden
XML – Datenbanken Speicherung: relational strukturorientiert
Abspeichern der Kanten des zum XML-Dokument gehörigen Strukturbaumes in Tabellen
XML – Datenbanken Speicherung: XML
Kann XML-spezifische Anfragesprache verarbeiten (z.B. XML-QL, XQL, XPATH, QUILT)
kann XML-Dokumente als solche speichern
liefert XML als Ergebnis
unterstützt struktur-, text- und wertebasierte Anfragen effizient
unterstützt Daten- und Dokumentsicht
erlaubt eine schematische Beschreibung der Dokumente
Bsp.: Tamino
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
Die XML–Datenbank„Tamino“
Was ist Tamino ?
eine der führenden XML-Datenbanksysteme
entwickelt von „Software AG – The XML Company“
www.softwareag.com
Tamino XML Server = Datenmanagement-Plattform
basiert auf XML & anderen Internet-Standardtechnologien
Warum XML ?
XML – eine der wichtigsten Technologien für webbasierte Anwendungen
weltweite Akzeptanz von XML durch:
einfache Anpassung für verschiedene Anwendungen flexibler Informationsaustausch zwischen verschiedenen
IT-Systemen "POP" (presentation oriented publishing)
= Unterscheidung zwischen Inhalt und Präsentation (getrennt voneinander)
effizientes Speicherformat
Speicherung in XML
Speicherung der Daten im XML-Format keine Extraschicht für Datenumwandlung benötigt
Abfragesprache: X-Query (basierend aus XPATH)
auf XML-Format zugeschnitten
kombiniert XML mit Index-Technologie und Voll-Text-Suchstrategien
hohe Suchgeschwindigkeiten in XML codierten Dokumenten mit minimaler Hardware- und Software- Anforderung
KonzeptÜbersicht
Tamino XML Server
= Core Services + Enabling Services + Solutions
KonzeptCore Services
enthält kompakten, high-perfomance (Speicher-) Kern
= Herz des Tamino XML-Servers
Konfigurieren eines oder mehrerer Tamino-Systeme
Datenmanagement und -pflege
Speicherung von Dokumenten im XML-Format und non-XML-Format (Bilder werden z.B. so gespeichert)
schnelle Abfrage von intern und extern gespeicherten Daten mit minimalen Aufwand
Anwenderanpassung der Serverfunktionalität
KonzeptEnabling Services
breites Spektrum von Tools und Komponenten, die für die Entwicklung von XML-basierten Lösungen und individuellen Web-Anbindungen notwendig sind
Bsp.: Realisierung der Daten-Präsentation im Web
Schnittstelle zu einem Application-Server und externen Datenquellen
Einbindung und Bearbeitung von Daten entweder innerhalb des „Unternehmens“ oder von außerhalb, ohne Beeinträchtigung der Sicherheit, Verfügbarkeit und Performance der Datenbank
KonzeptSolutions
sind Anwendungen, die auf den Tamino XML-Server zugreifen
meist unabhängige Software, die Web- und XML-Standards realisieren
einfache Anbindung solcher Software, da viel standardisiert und Architektur des Tamino XML-Servers veröffentlicht (open architecture)
Gliederung
Was ist XML ?
XML – Datenbanken
Einteilung in Kategorien
wichtige Features
Anfragetypen
Konzepte der Speicherung
„Tamino“ – ein XML – Datenbanksystem
Konzept
Architektur
ArchitekturÜbersicht
Architekturallgemein
alle Daten haben gleiches Format – XML (auch HTML) Browser, PDAs, Drucker ... können in Real-Time
mittels XML auf DB zugreifen
aufgrund von XML schnellere Zugriffszeiten und höhere Skalierbarkeit (als traditionelle DBMS)
neben reinen XML-Daten können auch Text-, Bild-, und Audiodaten verwaltet werden
XML-Daten werden ohne Änderung der Hierarchie oder Sequenz gespeichert und verwaltet
Architekturwichtige Komponenten (Core Service)
(1) XML engine: zentrale Komponente bildet Basis für Speicherung, Suchen und Abfragen von
XML-Dokumente
(2) Data map: beinhaltet die XML-Metadaten, wie z.B. DTDs, Style-
Sheets und XML-Schemata Regel wie Dokumente gespeichert werden sollen physische Aufteilung der Dokumente, z.B. über mehrere
Server
Architekturwichtige Komponenten (Core Service)
(3) X-Tension:
Schnittstelle zu externen Applikationen
Programierung von speziellen Funktionalitäten (mit Hilfe von C++, Java ...)
(4) Tamino-Manager: realisiert die Administration über das Web (z.B. Erstellen
einer Datenbank, BackUp, Start und Stopp des Servers) setzt XML-Objekte in die interne Tamino-Struktur um
Architekturwichtige Komponenten (Enabling Service)
(5) X-Port:
intergriertes Web-Server-Interface, welches des Server-Kern mit dem Internet über Standard-Webserver verbindet
(6) X-Node: realisiert Zugriff auf andere traditionelle DBS bildet traditionelle Datenstrukturen (wie SQL) auf XML-
Strukturen ab Verbindungsglied zwischen XML-DB und anderen DB
Quellen
Internetquellen:
Uni-Bibliothek Halle:http://pcdoc.bibliothek.uni-halle.de/xml/xmldoku/index.htm
Seiten der FH Darmstadt:
http://www.iud.fh-darmstadt.de/
Software AG - Homepage:
http://www.softwareag.com
Weitere Webseiten:
http://www.rpbourret.com/xml/XMLAndDatabases.htm
http://hmd.dpunkt.de/214/03.html
http://www.linux-magazin.de/
Ende