Seminar: DBMS für spezielle Anwendungen Native XML Datenbanken vs. ORDBMS für multimediale Dokumente Seminarvortrag von Alexander Loechel 19.02.2004 Gliederung • Multimedia Dokumente – Medientypen und Einteilung von Medientypen, MIME-Typen – Präsentationsformate – Aufbau von multimedialen Dokumenten – Markupsprachen • XML Gliederung • Datenbankmodelle – Objektrelationale Datenbank Management Systeme • Historie • Aufbau, Datenhaltung – XML-Datenbanken • Historie • Aufbau, Datenhaltung Gliederung • Grundlegender Vergleich beider Datenbankmodelle – Datenspeicherung – Datenhaltung – Datenaustausch – Anfragesprachen • Fazit Multimedia Dokumente Webseite des World Wide Web Consortium: www.w3c.org Multimedia Dokumente Medientypen • Texte (ACSII, Markup Dokumente, xml) • Bilder, Grafiken (gif, jpeg, svg, Bitmaps) • Ton, Musik (wav, mp3) • Videos (avi, mpeg) • Präsentationen, Animationen (Flash, PDF) Multimedia Dokumente Einteilbarkeit dieser Medientypen: Kontinuierliche Medien Diskrete Medien Reales Motiv Videos, Musik, Sprache Bilder Konstruiertes Motiv Animationen, Ton Bilder, Grafiken, Texte Multimedia Dokumente Einteilbarkeit dieser Medientypen: Text Dateien: Markupsprachen Binärdateien XML, SVG, HTML, X3D, … gif, jpeg, mpeg, avi, wav, mp3 Multimedia Dokumente Ein Multimedia Dokument ist ein Textdokument, das optional mit anderen Medien kombiniert sein kann. Multimedia Dokument Begriff Text Dokument + Multimedia Dokument Medienobjekt + Multimediaobjekt Video / Bild / Audio optional (kombiniert) + (ein Typ) + (kombiniert) Multimedia Dokumente Hypermediasysteme: Synthese aus: • Hypertextsystemen • Multimedia Objekten Typische Hypermediasysteme: • (X)HTML • SMIL • LaTeX Multimedia Dokumente (X)HTML: (eXtensible) HyperText Markup Language (X)HTML ist heute die meist verwendete Hypertextsprache der Welt. Die Syntax und Regeln der Dokumentenbeschreibungssprache HTML basieren auf SGML. XHTML ein XML Subset, das die gleichen Tags wie HTML besitzt aber auf den grundlegenden Regeln von XML aufbaut. Mehr Informationen unter: – www.w3.org/MarkUp/ selfhtml.teamone.de/ – Vorlesungen: Hypermediasysteme (Prof. Teege), Dokumentenbeschreibungssprachen (Dr. Schmitz) gelesen an der Fakultät für Informatik UniBw München Multimedia Dokumente SMIL: Synchronized Multimedia Integration Language SMIL ist wie XHTML ein XML Subset, was aber speziell für die zeitlich und räumliche Abfolge von Medienobjekten entwickelt wurde. Aktuelle Version SMIL 2.0 als W3C Recommendation vom 7. August 2001 verfügbar. Mehr Informationen unter: – www.w3.org/AudioVideo/ – Vorlesung: Hypermediasysteme (Prof. Teege) Fakultät für Informatik UniBw München Multimedia Dokumente LaTeX: LaTeX ist ein wissenschaftliches Textsetzungssystem, welches ebenso für multimediale Dokumente verwendet werden kann. Es basiert auf TeX einer Markup Programmiersprache auf SGML Basis. Mehr Informationen unter: – www.latex-project.org/ Multimedia Dokumente Hypermediasysteme sind einfache Systeme zum Verfassen von Multimedia Dokumenten und zur Präsentation dieser. Hypermediasysteme unterscheiden sich großteils durch die verwendete Markup Sprache. Die in Zukunft wichtigste Markup Sprache für Hypermediasysteme wird XML sein. Multimedia Dokumente Die HTML Syntax: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>Titel</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> </HEAD> <BODY> <p>Inhalt <ul> <li>Listitem </ul> </BODY> Multimedia Dokumente Die XHTML-Syntax: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Title</title> <link rel="stylesheet" type="text/css" media="screen" href="../stylesheet.css" title="Style" /> </head> <body> <p>Inhalt</p> <ul> <li>Listitem</li> </ul> </body> </html> Multimedia Dokumente Bei den beiden vorhergehenden Folien hat man gesehen, das HTML und XHTML kleine aber entscheidende Unterschiede besitzen: • HTML unterscheidet nicht zwischen Groß- und Kleinschreibung, Anfangstags benötigen teilweise nicht zwingend einen Endtag. • XHTML, als XML Subset, achtet auf die Groß- und Kleinschreibung, es werden Namensräume und weitere Ideen aus XML verwendet. XML XML: eXtensible Markup Language XML ist eine neuere Meta Markup Sprache, die erstmals am 10. Februar 1998 als W3C Recommendation spezifiziert wurde. XML basiert auf Ideen von SGML; die Syntax ist restriktiver und setzt eine strikte hierarchische Struktur den XML Dokumenten zugrunde. XML In XML gelten einige Regeln: 1. Jedes Dokument beginnt mit: 2. 3. <?xml version="1.0" encoding="UTF-8"?> Alle Dokumente werden als Unicode verarbeitet (nationale Sprachklassen wie ASCII, Latin1, Shift-JIS werden trotzdem unterstützt) XML Tags haben die folgende Form: <tag attribute=““ > fürs Begin Tag, </tag> fürs End Tag, <tag attribute=““ /> für Leer / Empty Tags. Alle öffnenden Tags müssen auch wieder geschlossen werden. XML Bei XML kann man zwischen zwei Ausprägungen unterscheiden: • Datenorientierte XML-Dokumente • Textorientierte XML-Dokumente XML Datenorientierte XML-Dokumente: Datenorientierte Dokumente entsprechen grob der XML Sicht auf stark strukturierte Daten. (z.B. Fahrpläne, Telefonbücher) • Reihenfolge der Elemente ist für die Semantik nicht relevant. • Die Dokumente sind einheitlich und meist einfach strukturiert. • Einzelne Bestandteile können Datentypen explizit zugeordnet werden. • Sinntragende Daten finden sich nur in den Blattelementen XML Textorientierte XML-Dokumente XML Verpackung von Texten (document centric) • Sind selten genau gleich strukturiert • Reihenfolge der Elemente ist wichtig • Sinntragende Daten finden sich auf allen Ebenen • Verarbeitung via Volltextsuche Multimedia Dokumente & Datenbanken Wichtige Fragestellungen zur Struktur von multimedialen Dokumenten und Datenbanken: • Syntax, Semantik • Modularisierung • Verweise • Kommentare, Metadaten Multimedia Dokumente & Datenbanken Probleme von Multimedialen Dokumenten in Bezug auf (XML-) Datenbanken: • Ist das Dokument XML oder ein anderes Format? • Existieren Verweise, wie sind diese zu behandeln? • Dynamische Inhalte? Datenbankmodelle Datenbankmodelle: • (Objekt-) Relationale Datenbanken • Native XML-Datenbanken Datenbankmodelle (Objekt-) Relationale Datenbanken: Relationale Datenbanken sind heute das meist verbreitete Datenbankmodell, Objektrelationale Datenbanken sind dazu nur eine moderne Weiterentwicklung. Die Mehrheit der aktuellen Relationalen Datenbanken arbeitet heute mit XML Unterstützung. Große ORDBMS: Oracle, DB2 (IBM), MS SQL Server, Sybase Datenbankmodelle In Relationalen Datenbanken werden die Daten traditionell in mehreren flachen Tabellen gespeichert. Die einzelnen Spalten der Tabelle haben einen einzelnen Wert. Bei der Speicherung von XML-Dokumenten unterscheidet man zwischen: • Inhaltsorientierte Zerlegung • Strukturorientierte Zerlegung • Opake Speicherung Datenbankmodelle • Inhaltsorientierte Zerlegung Bei der inhaltsorientierten Zerlegung werden XML Strukturen in relationale Strukturen umgesetzt. Aus XML Sicht wird dabei ein Dokument in mehrere Spalten, einer oder mehrerer Zeilen, einer oder mehrerer Tabellen zerlegt. Dies bezeichnet man als: shredding Die umgekehrte Erzeugung von XMLDokumenten bezeichnet man als: wrapping Datenbankmodelle • Strukturorientierte Zerlegung: Die strukturelle Zerlegung orientiert sich im Gegensatz zur inhaltsorientierten Zerlegung nicht am Inhalt eines XML-Dokuments, sondern an seiner Struktur. Ein XML-Dokument lässt sich als Baum auffassen und per DOM verarbeiten. Dieser Baum lässt sich in einer allgemeinen Weise auf ein oder mehrere generische Tabellen abbilden. Datenbankmodelle • Opake Speicherung: Bei der opaken Speicherung wird ein XMLDokument vollständig als Inhalt einer einzelnen Spalte einer Zeile in einer Tabelle abgespeichert. Diese Spalte hat einen allgemeinen Datentyp, der die Abspeicherung langer Zeichenketten erlaubt (z.B. CLOB, VARCHAR). Datenbankmodelle Inhaltsorientierte StrukturZerlegung orientierte Zerlegung Opake Speicherung XML-Dokument bleiben erhalten nein nein ja Indizierung von Inhalten ja ja schwer Anfragesprache SQL SQL In SQL eingebettete Funktionen (SQL/MM) oder Textsuchfunktionen Datenbankmodelle Es ist leicht verständlich, dass (Objekt-) Relationale Datenbanken – aufgrund der zerlegten Datenhaltung in Tabellen – für Multimedia Dokumente eher schlecht geeignet sind, wenn Forderungen wie Originaltreue oder Konsistenz existieren. Bis auf in der opake Speicherung werden die Dokumente aufgelöst. Leider sind auch kaum geeignete Such- und Manipulationsoperationen für Dokumente verfügbar. Datenbankmodelle Native XML-Datenbanken: XML-Datenbanken sind eine neuere Technik, die sich nach der Durchsetzung von XML im Bereich der Datenkommunikation und des Datenaustausch entwickelt haben. In XML-Datenbanken werden die Daten als XMLDokumente gespeichert, im Gegensatz zu (Objekt-) Relationalen Datenbanken, die dazu Tabellen nutzen. Datenbankmodelle Ausprägungen von XML-Dokumenten und die Möglichkeit für XML-Datenbanken: • Datenorientierte XML-Dokumente: – Mächtigkeit von Relationalen Datenbanken, vergleichbare Anwendungsbereiche • Textorientierte XML-Dokumente: – Dokumentverarbeitung, Vorteil für Multimedia Dokumente Datenbankmodelle XML-Datenbanken Behält die Struktur und Inhalt eines XMLDokuments bei und verändert es nicht, Originaltreue bleibt. Auch das Speichern von nicht XML-Daten (z.B. Bilder), ist möglich. XML-Datenbanken bieten vielfältige Möglichkeiten zur Medienindizierung. Das Speichern von zusätzlichen Metadaten macht es für Multimedia Dokumente sehr effektiv. XML bietet verschiedene Möglichkeiten zur Dokumentenverarbeitung, Manipulation und Suche (Information Retrieval) Vergleich der Datenbankmodelle Objektrelationale Datenbanken gegenüber nativen XML-Datenbanken: Zum direkten Vergleich beider Modelle zieht man alle relevanten Daten der Systeme heran sowie Speicherung, Datenhaltung, Abfrage und Indizierung der Multimedia Dokumente. Vergleich der Datenbankmodelle Datenhaltung ORDBMS XMLDatenbanken Als Einträge in relationalen Tabellen Als XML, bzw. nicht XML-Dokumente Originaltreue Bleibt nur bei opaker Bleibt grundsätzlich von Multimedia Speicherung erhalten erhalten Dokumenten Indizierung von Grundsätzlich Wertindex, Informationen möglich, aber nur für Textindex, ganze Zellen Strukturindex Vergleich der Datenbankmodelle ORDBMS XMLDatenbanken Anfragesprachen / Query Language SQL XQuery, XSQL, XPath, XNode Metadaten Manuell Eingabe Manuell oder durch XML Daten / XML Metadaten Wiederauffinden von Daten Durch Index Durch XML-Baum Fazit Heute haben noch die XML-Datenbanken die besseren Werte bei der Verwaltung von multimedialen Dokumenten, die auf XML basieren. Die Objektrelationalen Datenbanken werden aber in Zukunft bessere Unterstützung bieten. Fazit Multimediale Dokumente auf XML Basis sind in einer XML-Datenbank noch besser aufgehoben, Dokumente auf HTML Basis oder anderen nicht XML Sprachen sind in beiden Datenbankmodellen sinnvoll zu halten. Einzelne Medienobjekte (exklusive Text) sind in (Objekt-) Relationalen Datenbanken heute noch günstiger und effektiver, aber vom System her in beiden Modellen gut aufgehoben. Ausblick Was sind die Themenbereiche die im Bereich Multimedia Datenbankanwendungen noch weiter erforscht werden müssen: • Speicherung dynamischer Webseiten (server side skripts: php, perl, JavaServlets) • Vermeidung von Redundanz, zum Speichern verlinkter Medien (z.B. Logo) • Indizierung, Ähnlichkeitsfunktionen von Medienobjekten, Marken und Metadaten zu Videos, … Ende Noch Fragen?