Software-Technologie braucht neuen Schub:Datenbanken und Expertensysteme verknüpfen

03.02.1989

*Der Beitrag basiert auf einem Referat, das der Autor auf dem Datenbank-Anwender-Forum'88 der IDG-CSE in München gehalten hat. Der Tagungsband ist bei CW-Publikationen erhältlich.

Relationale Datenbanken werden von den Anbietern als das Nonplusultra moderner Software-Technologie gepriesen. Kritiker sehen sie lediglich als Zwischenlösung. Das Ziel heiße Verknüpfung von Datenbank- und Expertensystemtechnologie - und davon sei man noch meilenweit entfernt. Ein Resümee der Diskussion zieht Professor Rudolf Bayer*, Direktor des Instituts für Informatik der TU München.

Relationale Datenbanksysteme setzen sich auf allen Arten von Rechensystemen sehr erfolgreich durch, stoßen aber bei ehrgeizigen Anwendungen an ihre Grenzen. Expertensystemtechnologie ermöglicht andererseits ehrgeizige prototypische Anwendungen, führt aber oft zu praxisfernen Insellösungen. Für den erfolgreichen Einsatz von Expertensystemen ist die Integration in die reale Welt der vorhandenen DV-Systeme eine unbedingte Voraussetzung. Dies erfordert insbesondere die effektive Kopplung zwischen Expertensystemen und konventionellen Datenbanksystemen.

Das relationale Datenbankmodell ist eine tragfähige Basis für die Integration von Datenbank- und Expertensystemtechnologie sowohl in zentralen als auch in verteilten Systemstrukturen. Zusätzlich ermöglicht es die Erweiterung zum objektorientierten Programmier-Paradigma.

Die heutige Datenverarbeitungswelt besteht hauptsächlich aus zwei großen Bereichen:

- dem wissenschaftlichen Rechnen, charakterisierbar als die Anwendung sehr komplizierter algorithmischer Verfahren auf kleinere Datenmengen,

- der kommerziellen Datenverarbeitung, bei der relativ einfache Verfahren auf sehr große Datenmengen angewandt werden.

Bei der kommerziellen Datenverarbeitung haben die Einführung der relationalen Datenbanksysteme und die Standardisierung von SQL einen großen Fortschritt gebracht. Beim wissenschaftlichen Rechnen ist ein solcher nicht eingetreten.

Heute anstehende Anwendungen erfordern aber den Einsatz sehr komplizierter Verfahren auf große, oft sogar über mehrere heterogene Datenbanksysteme verteilte Datenbestände. Dazu braucht man jedoch Programmiersprachen und Entwicklungsumgebungen, die über SQL wesentlich hinausgehen.

Die relationale Datenbanktechnologie ist inzwischen 20 Jahre alt. Sie wurde 1969 von Ted Codd entwickelt und zog im Vergleich zu den vorausgegangenen Modellen wesentlich bessere Entwurfstechniken, Benutzerschnittstellen und Abfragesprachen nach sich. Ebenfalls 1969 wurden die B-Bäume entdeckt, die eine effiziente Implementierung von Datenbanksystemen erst ermöglichten.

Mit der Prototyp-Implementierung des Systems R beim IBM Research Laboratory in San Jose 1975/76 wurden die zugehörigen Techniken zur Query-Optimierung und Transaktionsverarbeitung einschließlich Synchronisation und Recovery entwickelt. Damit war die rein technische Seite der relationalen Datenbanksysteme in den Grundzügen abgeschlossen. 1978 kam mit Oracle das erste ernsthafte relationale Datenbanksystem auf den Markt. Seit einigen Jahren haben die relationalen Datenbanksysteme ihren Siegeszug in der DV-Welt angetreten.

Dieser Erfolg beruht auf einer inzwischen 20 Jahre alten Technologie. Jetzt sollte die Informatik bereit sein für den nächsten Technologiesprung. Die Anwendungen brauchen diesen Sprung. Viele Beispiele aus dem Verkehrsbereich, der Fertigungsindustrie und dem Finanzwesen machen dies deutlich.

Allen diesen Anwendungen sind gewisse Charakteristika gemeinsam. Die erforderlichen Rohdaten sind oft über mehrere, sogar heterogene

Datenbanksysteme verteilt.

Die für Entscheidungen wesentliche Information kann nicht über einfache Retrieval- oder Query-Techniken auf der sprachlichen Ebene von SQL abgefragt werden, sondern erfordert sehr komplexe deduktive Analyseverfahren, wie sie durch die Expertensystemtechnologie entwickelt wurden.

Dementsprechend erfordert eine integrierte, überzeugende Lösung des Problems zwei wesentliche Komponenten. Die erste muß ein intelligentes Datenbankzugriffsmodul sein, das Anfragen an verschiedene heterogene relationale Datenbanksysteme umsetzen kann, deren Kommunikationsprotokolle befolgt, ihre DB-Schemata extrahieren und interpretieren kann, die systemspezifischen syntaktischen Dialekte der Abfragesprachen (zum Beispiel SQL) beherrscht, sowie Ergebnisse und Daten zwischen den benötigten Formaten konvertieren kann.

Diverse Expertensystem-Umgebungen haben versucht, dieses Problem zu lösen, allerdings nur mit sehr begrenztem Erfolg, da sie völlig isoliert entwickelt wurden und deshalb semantisch nicht zu den Datenbanksystemen passen. Darauf zurückzuführen ist auch der enttäuschend geringe kommerzielle Erfolg der Expertensysteme, die in der Produktionsumgebung der alltäglichen kommerziellen Datenverarbeitung kaum einsetzbar sind.

Die zweite wesentlich erforderliche Komponente ist eine mächtige Deduktions- und Programmierumgebung zur Beschreibung von komplexen Anwendungslösungen auf einer sehr hohen abstrakten Ebene, wie sie durch die regelbasierte oder logische Programmierung geboten wird. Es nutzt aber wenig, die Logikprogrammierung in der isolierten Welt der sogenannten künstlichen Intelligenz bereitzustellen. Entscheidend ist die Integration beider Komponenten auf der breiten Basis von Industriestandards der Datenverarbeitung.

Aus diesen Anforderungen ergibt sich nun fast zwingend eine bestimmte Systemarchitektur für ehrgeizige, komplexe Anwendungen auf der Basis eines Zugriffsmoduls zu heterogen verteilten DB-Systemen, eines lokalen Datenbanksystems und einer Deduktionskomponente. Besonders schwierig ist dabei die Deduktionskomponente, die komplizierte Optimierungsverfahren aus der Welt der relationalen Datenbanksysteme und der Logikprogrammierung vereinen muß. Diese Probleme sind jedoch von der Forschungsseite her gelöst, und erste Produkte sind in der Unix-Welt auf dem Markt verfügbar, zum Beispiel Declare von Mad Intelligent Systems.

Ein noch offenes Problem mit intensiven Forschungsaktivitäten ist der Umgang mit komplexen Datenobjekten und ihre Verwaltung in objektorientierten Datenbanksystemen. Das objektorientierte Programmier-Paradigma gewinnt wegen seiner Natürlichkeit an Bedeutung.

Zwar werden objektorientierte Datenbanksysteme derzeit ohne deduktive Fähigkeiten realisiert, ihre Integration mit der Welt der Expertensystemtechnologie ist aber eine unabdingbare Forderung an zukünftige Datenverarbeitungssysteme.