Anwendungsentwicklung Dimedis baut multidimensionale DB-Lösungen mit Internet-Front-ends

Das relationale Modell hat seine Grenzen erreicht

18.09.1998

Voraussetzung für die Verarbeitung multimedialer Daten sind Technologien, die neben Texten auch Ton- und Bildfolgen speichern können. Sind Archive für Endanwender gefragt, so muß auch das Wiederauffinden extrem schnell vonstatten gehen.

Wie Jörg Reder, Software-Entwickler bei Dimedis bestätigt, "reicht für Datenbanken, die neben Texten auch Fotos, Grafiken, Film- und Musiksequenzen enthalten, die relationale Technologie nicht aus". Deshalb nutzt das Software-Haus, spezialisiert auf die Erstellung, Archivierung und Distribution digitaler Medien, objektrelationale Systeme. Vorgabe dabei ist, bei den Front-ends ausschließlich auf Internet-Technologie aufzubauen.

Schon seit 1996 realisiert das Systemhaus Projekte auf der Basis von Informix Illustra und dem Universal Server. So entstanden im Sommer 1997 die Bilddatenbank Isiimage und der datenbankgestützte Internet-Auftritt des TV-Senders RTL http://www.rtl.de . Ende 1997 ging prisma-online http://www.prisma-on- line.de ans Netz, ein Online-Archiv rund um Film und Fernsehen mit einem ausgefeilten Redak- tionssystem.

Reder: "Entscheidend für die Wahl des Informix Universal Servers ist der objektrelationale Ansatz, der insbesondere die von Illustra bekannte Datablade-Technologie konsequent umsetzt." Ein Datablade erweitert den Kern der Datenbank um zusätzliche Funktionen und Datentypen, so daß auch komplexe Datenstrukturen in der Datenbank abgelegt und vor allem ihrem Datentyp entsprechend genutzt werden können.

Im Vergleich zu anderen Techniken, die Datenbank um neue Datentypen zu erweitern -, wie beispielsweise die Cartridge-Technologie von Oracle - liegt der Schwerpunkt bei der Informix-Lösung auf hoher Performance.

Die Datablades werden zum Datenbank-Kern hinzugeladen und können mit diesem sehr schnell kommunizieren. Es gibt keine Zwischenschicht, die bei der Kommunikation überbrückt werden muß. Der Nachteil dieser Lösung ist, daß ein fehlerhaftes Datablade den gesammten Datenbank-Kern in einen instabilen Zustand überführen kann. Aus diesem Grund gilt der Ansatz von Oracle, Cartridges über eine Middleware anzubinden, als sicherer, aber dafür auch langsamer.

Zur Anbindung der Datenbank an das World Wide Web gibt es ein eigenes Datablade, das die Einbettung von SQL-Befehlen in HTML-Code ermöglicht. Alle so codierten Applikations-Seiten werden in der Datenbank abgelegt, das heißt, die komplette Web-Site liegt in der Datenbank. Die Applikations-Seiten werden beim Abruf interpretiert, wobei die Inhalte aus Datenbankanfragen dynamisch in das generierte HTML-Dokument eingefügt werden. Der Abruf der Seiten erfolgt standardmäßig über ein traditionelles CGI (Computer Graphics Interface). Wenn ein Net- scape-Web-Server eingesetzt wird, kann über dessen NSAPI-Schnittstelle das Web-Datablade-Zugriffsmodul eingebunden werden.

Bei rein datenbankbasierten Web-Sites werden alle Objekte über ein einheitliches Datenbank-Interface manipuliert. Das ist ein Vorteil gegenüber statischen und filesystembasierten Web-Servern, bei denen die Inhalte unkontrollierbaren Modifikationen über das Filesystem ausgesetzt sind.

Für das Unternehmen ISIS Multimedia Net wurde die Bilddatenbank Isiimage realisiert. Allerdings befand sich zu diesem Zeitpunkt der Informix Universal Server noch im Betastadium und das Web-Datablade war noch nicht vollständig ausgereift. Deshalb wurde als Entwicklungsumgebung die Dimedis-eigene Software "spirit" und die Programmiersprache "Pearl" eingesetzt.

Isiimage ist eine Bilddatenbank, in der verschiedene Bildagenturen ihr Material online recherchierbar anbieten. Gleichzeitig können Layoutvarianten der Bilder für den Endbenutzer kostenlos vom Web-Server heruntergeladen werden. Nicht nur der Anwender greift mit seinem Web-Browser auf die Datenbank zu, auch die Bildanbieter können ihr Material über diese Schnittstelle in die Datenbank einspielen und manipulieren. Das System läuft auf einer Sun-Enterprise-4000-Plattform mit vier Prozessoren und 512 MB Hauptspeicher. Die Datenbank liegt auf einem 80-GB-RAID-Level-5-System.

Bei dieser Lösung werden zwei Datablades von Excalibur eingesetzt: das Text- und das Image-Datablade. Über das Text-Datablade wird eine Volltextsuche ermöglicht, die auch logische Verknüpfungen und Ungenauigkeiten in der Schreibweise zuläßt. Das Image-Datablade kann Bilder auf Ähnlichkeit hin untersuchen, wobei Farbverteilung, Texturierung und Form des Bildes mögliche Vergleichskriterien sind. Dabei spielt es keine Rolle, ob die Bilder als Large Objects in der Datenbank abgelegt sind oder als Dateien im Filesystem.

Zu Beginn des Projekts mußte der Speicherort der Bilddaten festgelegt werden. Die Entscheidung fiel aus Performance-Gründen zugunsten einer Filesystembasierten Ablage. Dadurch können die Bilder im Sichtbereich des Web-Servers liegen, so daß direkt über eine URL (Uniform Re- source Locator, sozusagen die Adresse, die einen Web-Server und ein -Dokument repräsentiert) auf ein Bild zugegriffen werden kann. Wenn das Bild als Large Object in der Datenbank liegt, muß es über einen eigenen CGI-Prozeß aus der Datenbank geholt werden. Das würde bei der Darstellung eines Suchergebnisses (beispielsweise 24 Bilder entsprechen 24 CGI-Aufrufen) unnötig Performance kosten.

Am Beispiel des Image-Data- blades wird verdeutlicht, wie Applikationsprogrammierer ein Data- blade einsetzen können:

Die Bildvergleichsfunktion setzt einen speziellen Index auf die Tabellenspalte voraus, die das Bild enthält. Anhand dieses Verweises kann zur Laufzeit sehr schnell der Bildvergleich durchgeführt werden.

Drei SQL-Befehle zeigen den Umgang mit dem Datablade. Der "create table"-Befehl legt eine Tabelle "Image" an, wobei die Spalte "image" das Bild aufnimmt. Der Datentyp "IfdImgDesc" wird von dem Datablade zur Verfügung gestellt und abstrahiert vor allem von dem tatsächlichen Aufenthaltsort des Bildes (Large Object oder Filesystem). In dieser Datenstruktur werden auch Pixelauflösung, Farbmodell etc. abgelegt, so daß diese Informationen für Abfragen zur Verfügung stehen.

Der "create index"-Befehl legt einen Index für den Vergleich nach Farbähnlichkeit an. Dabei verweist die "using"-Klausel auf die Funktion "frnet", die vom Image-Datablade zur Verfügung gestellt wird. Diese Funktion übernimmt die Analyse des Bildinhalts.

Das "select"-Statement vergleicht alle Bilder aus der Tabelle mit dem Bild, das die Nummer 42 hat. Den Vergleich übernimmt die Funktion "Resembles". Dabei wird eine virtuelle Spalte "rank" erzeugt, die die Ähnlichkeit der Bilder in Form einer Real-Zahl widerspiegelt.

Je höher diese Zahl, desto ähnlicher ist das entsprechende Bild. Deshalb wird eine absteigende Sortierung vorgenommen, so daß die ähnlichsten Bilder nun zuerst und die weniger ähnlichen zum Schluß ausgegeben werden.

Im Isiimage-Screenshot auf Seite 77 wird eine Ähnlichkeitssuche im Sucherergebnis angezeigt. Im linken Bereich sind die verwendeten Suchkriterien sichtbar. Hier wurde eine Suche nach dem Schlagwort "sprung" in Verbindung mit einer Ähnlichkeitssuche durchgeführt. Das Referenzbild dafür steht unter der Überschrift "Similar". Im rechten Bereich sind die ersten 24 Bilder des Ergebnisses dargestellt. Die Ähnlichkeit der Bilder in bezug auf die allgemeine Farbverteilung des Referenzbildes ist unverkennbar.

Der Hauptvorteil der hypertextuellen Präsentation eines Archivs liegt in der Möglichkeit der Verbindung von Inhalten untereinander. Jörg Reder: "So kann bei prisma-online über einen Link aus einer Filmkritik heraus auf die Biographie des Regisseurs verwiesen werden, wenn sein Name erwähnt wird. Mit klassischen relationalen Methoden ist diese Aufgabenstellung kaum zu lösen, da aus einem Fließtext heraus auf Objekte in der Datenbank referenziert wird. Der Fließtext liegt aber zunächst als unstrukturierte Information in der Datenbank. Es gibt insbesondere keine Tabellenspalten, an denen solche Verweise festgemacht werden können."

Der Redakteur bei prisma-online fügt über ein Redaktionssystem Verweise direkt in den Fließtext ein. Die Referenzen werden über einfache Makrobefehle abgebildet, die aus einer Suchmaske heraus mit Cut and paste in den Text kopiert werden.

Ein C-Modul ersetzt bei der Ausgabe des Textes alle Makrobefehle durch die entsprechenden Links. Dabei ist es auch möglich, den Link vorher auf seine Gültigkeit hin zu überprüfen, so daß dieser nur umgesetzt wird, wenn sich das entsprechende Objekt auch in der Datenbank befindet. Da diese bei der Methode nicht mehr selbst die referentielle Integrität gewähren kann, wird die Funktionalität von dem C-Modul übernommen.

So können nicht nur Hyperlinks gesetzt, sondern ebenso Bilder und andere Multimedia-Inhalte in das Dokument eingebunden werden.

Zur Zeit realisiert Dimedis einen Web-Server für ein nordrhein-westfälisches Ministerium. Über dieses System sollen Interessierte aktuelle Informationen über das Land NRW erhalten.

Eine wichtige Anforderung ist hier die Sprachunabhängigkeit bei der Suche innerhalb des Servers. Anfragen sollen nicht nur in deutscher Sprache, sondern beispielsweise auch in Englisch und Französisch formuliert werden können. Dabei darf es keine Rolle spielen, in welcher Sprache die Dokumente verfaßt wurden. Das von Dimedis entwickelte Datablade Cocoon erfüllt diese Anforderungen. Von der Funktionalität her ist es vergleichbar mit einem multidimensionalen Thesaurus, der sprachübergreifende Synonyme erkennt. Dabei orientiert sich das Datablade an der Theorie der konzeptionellen Grafen.Für die Informationssysteme der Zukunft werden immer flexiblere Datenbanksysteme benötigt. Weitere Entwicklungen werden beispielsweise die Integration von Java im Datenbank-Kern sein. Durch den Einstatz von Datablades können Software-Entwickler aber auch jetzt schon Projekte mit komplexen Anforderungen in kurzer Zeit realisieren.

Ruth Bosch ist freie Journalistin in Kirchheim bei München.