Lohnt der Wechsel zu einem relationalen Datenbanksystem?

21.10.1988

Viele DV-Abteilungen haben die Umstellung eingeleitet oder denken darüber nach: Ein relationales Datenbanksystem (RDBMS) soll das althergebrachte hierarchische System ersetzen. Die Expertenmeinungen gehen jedoch in manchen Punkten auseinander. Kernfrage ist, ob die Vorteile eines RDBMS seine Nachteile aufwiegen und ob eine Umstellung sich wirklich lohnt. Wir stellten Anwendern vier Fragen zum Thema RDBMS.

Die Fragen

1. Von DV-Anwendern ist immer wieder zu hören, die eingesetzte Technik sei zweitranging, die Aufgabenerfüllung habe Priorität: Sind Sie auch dieser Meinung, und gilt diese Denkweise auch beim Einsatz von RDBMS?

2. Der Schutz der meist erheblichen Investitionen ist ein gewichtiges Argument. Wie schätzen Sie das Problem der Kompatibilität vorhandener Datenbestände beim Umstieg auf die RDBMS-Technik ein?

3. Würden Sie zustimmen, wenn das Prädikat "Endbenutzer-geeignet" für relationale Systeme vergeben würde? Wie qualifiziert muß der Endbenutzer sein?

4. Für welche Anwendungen lassen sich relationale Datenbanksysteme überhaupt empfehlen, wo sind sie fehl am Platz?

Dr. Heinz Brill

Leiter DV bei der Krupp Stahl AG, Bochum

1. Sicher hat die Aufgabenerfüllung eines DV-Systems die höchste Priorität. Doch bei der DV-technischen Realisierung eines Datenbank-Systems sind DV-spezifische Gesichtspunkte von wesentlicher Bedeutung. Hier liegt eine wichtige Verantwortung des DV-Bereiches, denn durch die eingesetzte Technik werden Pflege, Wartung, Datenkonsistenz und Flexibilität entscheidend bestimmt. Ein effektiver Einsatz der DV-Kapazitäten ist Grundlage der Wirtschaftlichkeit der Datenverarbeitung und liegt somit im Interesse eines Unternehmens. Moderne DV-Techniken, wie RDBMS, sind heute die Voraussetzung für fortschrittliche Lösungen. Wer auf ihren Einsatz verzichtet, wird rasch den Anschluß verlieren und so die Wettbewerbsfähigkeit seines Unternehmens gefährden.

2. Der Umstieg auf relationale Datenbanken ist tatsächlich ein nicht zu unterschätzendes Problem. Leider mußten wir die Erfahrung machen, daß die vom Softwarehersteller angebotenen Migrationshilfen nur sehr eingeschränkt zu gebrauchen sind, da insbesondere eine Anpassung der Datenstrukturen an die spezifischen Eigenheiten des DBMS nicht stattfindet. Eine 1:1-Übernahme alter Datenmodelle wirkt sich jedoch in vielen Fällen performancegünstig aus, und aufgrund der häufig historisch gewachsenen alten Datenstrukturen kann man oft auch keine relationalen Strukturen abbilden. Aus unserer Sicht wäre eine bessere Unterstützung durch feinere Migrationshilfen, die auch ein Re-Design unterstützen, dringend erforderlich. Leider sehen dies manche Anbieter von RDBMS-Software nicht so.

Solange derartige Migrationshilfen nicht angeboten werden, scheint uns der einzige gangbare Weg einer Umstellung zu sein, daß man nach und nach Altanwendungen durch Neuentwicklungen ersetzt und Neuentwicklungen grundsätzlich nur noch auf Basis des neuen DB-Systems durchführt. Die komplette Umstellung bestehender größerer Anwendungen kann nur im Einzelfall im Rahmen einer strategischen Entscheidung beschlossen werden.

Bei der Entscheidung für eine Umstellung beziehungsweise Neuentwicklung auf Basis eines RDBMS ist nicht nur die Datenbasis zu bedenken, sondern auch die Entscheidung, mit welcher Programmiersprache auf Daten zugegriffen wird spielt eine wichtige Rolle. So bietet sich beim Einsatz eines RDBMS häufig eine 4-GL-Sprache an. Damit wird die Umstellungsproblematik noch größer, da nicht nur die Datenbasis betroffen ist, sondern auch Schnittstellen zwischen Programmen herzustellen sind, die aus verschiedenen Entwicklungsumgebungen stammen.

3. Relationale Systeme sind bedingt "Endbenutzer-geeignet ". Um gewünschte Aussagen aus Datenstrukturen zu gewinnen, müssen unter Umständen komplexe Verknüpfungen zwischen einzelnen Objekttypen hergestellt werden. Diese Technik setzt Benutzer voraus, die gewöhnt sind, mit logischen Operanden zu arbeiten und die ein Grundverständnis von relationalen Datenbanken haben.

Trotzdem ist ein relationales System besser Endbenutzer-geeignet als andere Systeme, da durch den relationalen Aufbau mehr Flexibilität hinsichtlich zukünftiger Anforderungen erreicht wird. 4. Eine Beurteilung der Performance fällt uns aufgrund fehlender umfassender Erfahrungen schwer. Es scheint sehr wichtig zu sein, daß die Stärken des speziellen Datenbanksystems genutzt und die Schwächen gemieden werden. Deshalb ist ein gutes DB-Design von zentraler Bedeutung, wobei die Praxis zeigt, daß auch manchmal von einem 3NF-Modell abgewichen werden muß, um auf der Performance-Seite gut zu liegen.

Aufgrund der Flexibilität, die man durch relationale Strukturen erzielt, sind RDBMS sicher gut für ein Informationssystem geeignet. Diese Aussage gilt auch unter Performance-Aspekten, da bei Informationssystemen aufwendige Update-Operationen selten sind.

Über die Eignung von RDBMS für operationale Systeme kann nur vermutet werden, daß man durch geeignetes DB-Design und Anwendungsdesign auch durchaus akzeptable Ergebnisse erzielen kann. Hierbei darf jedoch die Hardwareseite nicht außer acht gelassen werden, da zu starke Anlagenauslastungen gerade bei operativen Systemen gravierende Folgens haben können.

Anwendungen, für die RDBMS absolut ungeeignet sind, können aus unserer Erfahrung bisher nicht angegeben werden. Es ist sicher immer wichtig, zu überlegen, welche Zugriffsmethode beziehungsweise Programmiersprache verwendet wird. Von der Datenbasis her gibt es unseres Erachtens jedoch keine Restriktionen.

Jürgen Woppe

Sachgebietsleiter Methoden bei der Deutschen BP AG, Hamburg

1. Ja, das heißt: Die Technik ist zweitrangig, die Aufgabenerfüllung steht im Vordergrund - das gilt auch bei Einsatz von Techniken wie RDBMS.

2. Zum Thema Schutz der Investitionen meine ich, daß eine Umstellung von hierarchischen Systemen, wie wir sie zum Beispiel einsetzen, in Richtung einer relationalen Datenbank wie DB2 oder Oracle 1:1 sicher nicht sinnvoll ist. Das würde nämlich heißen, daß man vom Einstieg in die RDBMS-Technologie an eine Neukonzeption vornehmen müßte, und zwar in Richtung Datenstrukturen und in Richtung Programme - und das bedeutet Aufwand, Zeit und damit Kosten.

Für uns heißt das, daß wir so einen Schritt nicht in einer "Hauruck-Aktion" machen können. Man wird wohl einige Zeit parallel arbeiten müssen. Mit Sicherheit mehrere Jahre, denn man hat ja meistens einen riesigen Bestand an Anwendungen, der sich nicht von heute auf morgen neu konzeptionieren und neu realisieren läßt. Vier bis fünf Jahre Übergangszeit sind da sicher ein realistischer Ansatz, wahrscheinlich dauert es sogar noch länger.

Ich würde mich nicht für die Durchführung einer solchen "Hauruck-Aktion" aussprechen. Man sollte sich jedes einzelne Vorhaben auf die Wirtschaftlichkeit hin ansehen. Danach erst sollte über die Umstellung entschieden werden. Es kann da einfach keine anderen Gründe als die Wirtschaftlichkeit geben. Die Frage ist, ob der Aufwand sich lohnt und ob das Unternehmen die Kosten wieder zurückbekommt. Alles umzustellen, nur, weil eine neue Technologie da ist, halte ich für Quatsch.

Auch wir fangen jetzt mit einer neuen Technik an. Zwar nicht mit einem sogenannten RDBMS, aber mit einer moderneren Technologie als IMS, nämlich Adabas. Dabei werden wir nicht alle Anwendungen neu konzeptionieren, wir werden auch nicht die vorhandenen Datenbestände umstellen - bei 200 IMS-Datenbanken wäre das Wahnsinn. Mit Adabas lassen sich die alten Daten weiter benutzen: Es gibt Schnittstellen zur IBM-Welt, in Richtung DB2, IMS und auch zu anderen DB-Systemen.

3. Wenn man sich die relationale Welt ansieht, beispielsweise DB2 mit SQL, dann sind diese ganz sicher nicht für Endbenutzer geeignet. Ein Endbenutzer kann mit SQL keine vernünftigen Abfragen gestalten, er braucht wesentlich mehr Fachwissen. Er kann kein Select-Statement formulieren, das kann man ihm auch nicht zumuten. Er benötigt sehr viel an Unterstützung und Hilfe, was diese Technik betrifft. Allein die Tatsache, daß es sich um ein relationales System handelt, spricht meiner Ansicht nach nicht dafür, daß es auch Endbenutzer-geeignet ist - das mögen die Hersteller natürlich ganz anders sehen. Man muß dem Endbenutzer ein Werkzeug geben, mit dessen Hilfe er mit der Datenbank arbeiten kann.

Erst wenn man dem Endbenutzer die entsprechende Hilfestellung angedeihen läßt, ist das System für ihn geeignet. Für mich liegt der eigentliche Vorteil einer relationalen Datenbank oder eines relationalen Datenbanksystems nicht so sehr in seiner Eignung für den Endbenutzer. Letztlich können eben nur Spezialisten mit SQL-Systemen wirklich umgehen. Auf diesem Gebiet muß man soviel in Richtung Schulung und Verständnis der Datenstrukturen investieren, daß man schon von Spezialistenausbildung reden muß.

Es reicht nicht aus, nur um des relationalen Datenbanksystems willen ein DB2 und ein SQL zu kaufen. IBM hat das ja schon erkannt und bietet mit QMS schon eine Endbenutzerhilfe an. Der Weg ist also vorgezeichnet. Daraus entsteht aber nicht unbedingt ein neues Berufsbild. Das Berufsbild "Datenbankadministrator" im herkömmlichen Sinne wird es mit Sicherheit noch einige Zeit geben.

4. Der Einsatz von RDBMS für operationale Systeme ist für mich wenig denkbar. Da wo kurze Antwortzeiten benötigt werden, wo man ein großes Transaktionsvolumen hat, sehe ich das alles nicht, also zum Beispiel bei Anwendungen, wo viel Durchsatz erforderlich ist. Ich sehe auch keinen Sinn in RDBMS-Anwendungen, wenn man sich auch noch der relationalen Theorie anschließen will und sagt: "Ich implementiere alles in der Dritten Normalform".

Den Vorteil der RDBMS sehe ich vielmehr da, wo ich zum Beispiel für ein Management-Informationssystem Fragestellungen mit sehr variablen Verknüpfungsmöglichkeiten brauche. Ein hierarchisches System kann sie nicht bieten. Das erkauft man sich aber mit schlechten Antwortzeiten und mit wenig Durchsatz. Natürlich kann man sich auch mal von der RDBMS-Theorie verabschieden und nicht in der Dritten Normalform implementieren, was wieder Performance-Vorteile bringt. Aber letztendlich handelt es sich dabei um einen Kompromiß: Man gibt die Flexibilität des relationalen Systems auf und bekommt dafür ein wenig Performance.

Im großen und ganzen sehe ich aber schon eine Zukunft für die relationale Technologie. Die althergebrachten Datenbanksysteme wird es natürlich auch weiter geben, weil die Investitionen eben nicht so einfach abgeschrieben werden können.

Was auf lange Sicht passieren wird, läßt sich noch nicht sagen. In letzter Zeit hört man, daß IBM über eine neue Konzeption nachdenkt. Vielleicht ist das wieder eine halbe Kehrtwendung, weil man gemerkt hat, daß das mit der Dritten Normalform und dem absolut relationalen Modell doch nicht so gut war, möglicherweise bahnen sich hier Kompromisse an. Die Anhänger der relationalen Theorie sind eben ein wenig nachdenklicher geworden. Man weiß aber auch nicht, was sich auf der Maschinenseite tun wird. Vielleicht ist es ja in fünf Jahren kein Problem mehr, diese riesigen Datenmengen zu verarbeiten. Eine definitive Prognose kann ich hier nicht wagen.

Sicher ist nur eins: Man kann sich nicht alle zwei Jahre für ein neues Datenbanksystem entscheiden. Etwa zehn Jahre Mindesteinsatz müssen schon herausspringen, schließlich muß man viel Know-how aufbauen, Schulungen müssen durchgeführt werden und die Entwickler müssen sich in die neue Technologie einarbeiten.