DB-System muß Software-Investitionen schützen

Relationale Technik läßt sich schonend installieren

26.10.1990

In vielen Fällen steht die Datenverarbeitung eines Unternehmens vor einem Kollaps, wenn ein relationales Datenbanksystem neu eingeführt werden soll. Bernd Kahlbrandt beschreibt in seinem Beitrag die gängigen Verfahren der "Umrüstung" und bietet Vorschläge an, wie in einer Umgebung, die sowohl alte als auch neue Systeme umfaßt, relationale Technologie implementiert werden kann.

Relationale Datenbankmanagement-Systeme bieten einen bewährten Weg um das Informations-Management im Unternehmen weiter zu verbessern die Produktivität in der Anwendungsentwicklung zu steigern und die Kostendegression vom Großrechner zum PC effektiv auszunutzen. Bei der Umstellung kommt es darauf an von den Vorteilen relationaler Technologie Gebrauch zu machen ohne die Investitionen in bestehende Datenstrukturen und Anwendungen zu gefährden oder verschiedene Systeme parallel fahren zu müssen.

In der Regel stellen die DV-Systeme eines Unternehmens eine bedeutende Investition dar, die innerhalb der Gesamtinvestitionen einen hohen Stellenwert einnimmt. Dabei bilden die über viele Jahre gewachsenen Datenbestände, Programme und Erfahrungen der Mitarbeiter eine viel größere und wichtigere Investition als die Rechner und Peripheriegeräte.

Betrachtet man zum Beispiel die Vorgänge bei der Erneuerung der Hardwaretechnologie, dann ist festzustellen, daß die Preispolitik mancher Hersteller inzwischen sehr komplex gestaltet ist. Das ist der Grund, warum Anwender bereits Beratungsunternehmen hinzuziehen, wenn es darum geht den kostengünstigsten Weg beim Upgrade auszumachen. Technisch ist der Ersatz der Hardware durch neue Modelle relativ problemlos zu bewerkstelligen.

Anders sieht es oft bei der Einführung neuer Softwaretechnologien wie relationalen Datenbanksystemen aus. Nicht selten vergehen Jahre, bis Unternehmen den vollen Nutzen aus der Installation solcher Technologien ziehen können. Nachdem relationale Systeme inzwischen eindeutig ihre Leistungsfähigkeit bewiesen haben, besteht heute die entscheidende Aufgabe darin, einen Weg aufzuzeigen wie sich diese Systeme kostengünstig in die unternehmerische Datenverarbeitung integrieren lassen.

Drei Gesichtspunkte verdienen bei dieser Fragestellung besondere Berücksichtigung:

- Unternehmen haben erkannt, daß Informationssysteme einen entscheidenden Einfluß auf ihres zukünftige Wettbewerbsfähigkeit haben. Der gegenwärtige Wirtschaftsaufschwung wird von einigen Ökonomen sogar als Teil des fünften Kondratieff-Zyklus gesehen, der durch die Informationstechnologie bestimmt ist.

- Relationale Datenbanksysteme werden allgemein für eines der entscheidenden Mittel gehalten mit denen das Informations-Management zur Erreichung der Unternehmensziele beitragen kann.

- Glaubt man den Prognosen bekannter Hard- und Softwarehersteller, dann gibt es keinen kostengünstigen Weg, auf dem sich eine gewachsene DV-Organisation so transformieren ließe, daß die Vorteile relationaler Technologie vollständig genutzt werden könnten.

Die Notwendigkeit, relationale Systeme unternehmensweit zu nutzen, wird unter anderem durch folgende Leistungsmerkmale bestimmt:

- einfache Erlern- und Anwendbarkeit relationaler Technologie,

- erhöhte Entwicklungsproduktivität und Qualität,

- verringerter Wartungsaufwand,

- verbesserter und abgesicherter Endbenutzerzugriff.

Von ebenso großer Bedeutung, aber noch nicht allgemein akzeptiert ist die bereits heute erhebliche und weiter wachsende Kostendiskrepanz zwischen Großrechner- und PC-Systemen hinsichtlich der gebotenen Rechnerleistung. Um die kostengünstigeren und heute noch wenig genutzten PC-MIPS voll ausschöpfen zu können, müssen verschiedene Voraussetzungen geschaffen werden:

- portierbare Anwendungen,

- PC-basierte Entwicklungsumgebungen,

- miteinander kommunizierende Anwendungen sowie

- Aufbau eines unternehmensweiten Netzwerkes, das unterschiedliche Hardware- und Softwareplattformen zusammenschließt.

Das übliche Angebot der Software-Industrie zur Lösung dieses Dilemmas waren bisher neue, SQL-basierte Systeme, die vollständig inkompatibel zu den bewährten DV-Verfahren waren, die heute und auch in überschaubarer Zukunft einen wesentlichen Teil der kommerziellen Anwendungen abdecken werden. Man benötigt statt dessen relationale Systeme, die nicht nur die Entwicklung neuer SQL-basierter Systeme unterstützen, sondern darüber hinaus auch die Millionen Zeilen existierender Anwendungscodes einbeziehen. Diese prärelationalen Systeme dürfen aber nicht von den Vorteilen neuer Technologien abgeschnitten werden.

Hinsichtlich der PC-Nutzung ist festzuhalten, daß die meisten installierten PCs derzeit für typische PC-Anwendungen, wie Textverarbeitung, Tabellenkalkulation und Desktop-Publishing eingesetzt werden. Das wirkliche Nutzungspotential des PC ist damit erst an der Oberfläche "angekratzt".

In der traditionellen Denkweise scheint es nur zwei Lösungsansätze zu geben, die beide die Datenverarbeitungs-Last erheblich erhöhen. Der eine sieht den Einsatz mehrerer Datenbanksysteme über einen langen Zeitraum von zehn bis 20 Jahren vor. Dabei werden bestehende Systeme, wenn sie das Ende ihres "Lebenszyklus" erreichen, durch neue ersetzt, die unter Einsatz relationaler Datenbanken und moderner Anwendungsentwicklungs-Umgebungen erstellt wurden.

Auf diese Weise erfolgt nach und nach die Installation neuer Systeme. Alte Systeme sind von ihrer Ausmusterung aber noch weit entfernt. Bei diesem Ansatz sind folgende Konsequenzen zu bedenken:

- Wie wird die durch diesen Ansatz erzwungene Redundanz verwaltet?

- Wie gestaltet sich das notwendige Copy-Management?

- Können die erforderlichen Sicherheitsmechanismen für alle Umgebungen realisiert werden?

- Wie lassen sich die verschiedenen Mitarbeitergruppen und Know-how-Bereiche die für die unterschiedlichen Systeme notwendig sind, schaffen, erhalten und weiterentwickeln?

- Kann es sich ein Unternehmen überhaupt leisten, mit Anwendungen zu leben, die auf absehbare Zeit (20 Jahre?) keinen Nutzen aus neuer Technologie ziehen können?

Der zweite Ansatz sieht das Neuschreiben bestehender Anwendungen vor (Big Bang Approach). Dabei lassen sich die bestehenden Systeme durch neue ersetzen, ohne daß zusätzliche Funktionalität geschaffen werden muß. Dies bedeutet, daß Anwendungen von navigierender, satzweiser Verarbeitung auf mengenorientierte Verarbeitung umgestellt werden müssen.

Daraus ergeben sich zwei wesentliche Konsequenzen: Daten-Redesign von prärelational zu relational. Das relationale Design baut auf das existierender Programme auf. Bei den alten Anwendungen kann es sich um Dateisysteme wie VSAM oder und Datenbank-Management-Systeme wie DL/1 oder Total handeln. Dabei ist zu berücksichtigen, daß das bestehende System eine ihm eigene Performance-Charakteristik hat.

Die Anpassung an die neue Umgebung ist arbeitsaufwendig und erfordert ein genaues Verständnis der bestehenden Verarbeitungsprozesse. Dies ist aber nur der kleinere Teil des Problems. Die eigentliche Herausforderung steckt im Redesign der Programme, das heißt in der Umstellung solcher Programme, die für den Zugriff auf prärelationale Systeme mit satzorientierter Verarbeitung geschrieben wurden, auf mengenorientierte Verarbeitung mit SQL. Die Programmlogik in relationalen Systemen unterscheidet sich nämlich radikal von der älterer Anwendungen.

So wird die Navigation vom DBMS und nicht vom Programm geleistet. Ebenso geschieht die Satzauswahl durch das DBMS, das auch die Integrität der Daten gewährleistet. Eine weitere Komplikation ist die - mit an Sicherheit grenzender Wahrscheinlichkeit veränderte - physische Struktur der Daten. Die einfache Ersetzung der ursprünglichen Zugriffe durch jeweils einen SQL-Befehl führt fast immer zu einer nicht mehr akzeptablen Performance.

Notwendigerweise muß daher die Zugriffslogik vollständig überarbeitet werden. Gleichzeitig gilt es, den "Service-Level" für die Benutzer aufrechtzuerhalten. Soweit die traditionellen Vorgehensweisen.

Der ideale und kostengünstigste Weg zur Verwirklichung relationaler Vorteile ist die Einführung eines Systems, das eine vollständige Unterstützung existierender Programme und Daten bietet. Bestehende, bewährte Programme sollten unverändert einsatzfähig bleiben, während die Daten für neue Anwendungen und die Manipulation mit neuen Werkzeugen zur Verfügung stehen.

Drei Voraussetzungen sollten gegeben sein

Damit ein solcher Ansatz mit Aussicht auf Erfolg angegangen werden kann, sollten drei Hauptvoraussetzungen gegeben sein:

- Beim Datenbankdesign muß das Originaldesign automatisch in ein relational verträgliches überführt und in einem Repository dokumentiert werden.

- Die Daten müssen vom prärelationalen System in das relationale überführt werden.

- Anwendungskontinuität ist dadurch zu sichern, daß die Anwendungen nach dem Redesign der Daten und dem Laden in das relationale System unverändert weiterlaufen können.

Letzteres kann durch ein System erreicht werden, das "Anwendungstransparenz" realisiert und wie folgt funktioniert: zunächst wird eine Zugriffsprüfung durchgeführt. Diese Komponente prüft die ursprünglichen Zugriffe und konvertiert sie für die neue Struktur. Um einen kontinuierlichen Übergang auf die neue Struktur zu ermöglichen, muß dieses System eine Mischung aus zu konvertierenden und nicht zu konvertierenden Zugriffen verarbeiten können.

Durch eine Komponente für Zugriffstransparenz wird dafür gesorgt, daß die Konvertierung der prärelationalen Zugriffe in relationale für die Anwendung transparent ist. Keinerlei Veränderung, Umwandlung oder Relinking ist notwendig. Bleibt die Frage nach dem Design eines solchen relationalen Systems und der zugehörigen Migrationssoftware. Um Konflikte zwischen relationaler Theorie und den praktischen Anforderungen zu lösen, sind Erweiterungen relationaler Systeme erforderlich.

So verlangt das relationale Konzept mengenorientierte Verarbeitung. Das heißt, der Anwender muß spezifizieren, welche Daten benötigt werden, und nicht mehr, wie der Zugriff

zu erfolgen hat. Bestehende Anwendungen setzen aber jeden Tag Millionen von navigierenden Zugriffen ab. Um die dort getätigte Investition zu sichern, müssen relationale Systeme solche Zugriffe unterstützen. Ein weiteres Kernstück des relationalen Konzepts ist die rigide Forderung nach atomaren Werten in Spalten. In prärelationalen Systemen wimmelt es aber von nicht-atomaren Strukturen wie Wiederholgruppen, "Redefines", Gruppenfeldern und so weiter. Auch solche Strukturen müssen also in kontrollierter Weise in relationalen Systemen unterstützt werden. In hierarchischen oder Netzwerk-Datenbanksystemen wie DL/1 oder Total sind Beziehungen zwischen Sätzen in diese eingebettet. Für die so abgebildeten Strukturen ist daher ein gewisses Maß an referentieller Integrität gewährleistest. Diese Integrität muß auf migrierte Strukturen übertragen und unabhängig von der Art des Zugriffs gewährleistet werden.

Sind alle diese Erweiterungen der relationalen Theorie in einem System implementiert, so ist der oben skizzierte Weg in eine relationale Umgebung gangbar.

Zusammenfassend läßt sich sagen, daß eine zügige, weitgehend schmerzlose Implementation relationaler Technologie auf dem oben beschriebenen Weg möglich ist. Daten und Programme können auf kostengünstige Weise konvertiert werden. Es wird keine künstliche Redundanz erzwungen, und die Lebensdauer von Anwendungen verlängert sich. Wahrscheinlich das wichtigste Ergebnis ist die Fähigkeit, in einer alte und neue Systeme umfassenden Umgebung von relationalen Möglichkeiten, kooperativer Verarbeitung und verteilter Datenhaltung Gebrauch machen zu können.