Die Problematik verteilter DBDC-Systeme wird häufig unterschätzt:Datenbanken-Komplexität hemmt User-Entscheidungen

25.09.1981

Die verteilte Datenverarbeitungstechnik bietet heute reizvolle Alternativen für den Anwender und stellt dabei höchste Anforderungen an die Systeme. Das Distributed Processing hat inzwischen eine Komplexität erreicht, die Entscheidungen, wo und wie welche Daten vorgehalten werden müssen, immer schwieriger macht. Diese Komplexität ergibt sich vor allem aus den verschiedensten Anforderungen zur Verteilung von Daten. Hierbei stellt der Einsatz hochqualifizierter Datenbank-Verwaltungssysteme zunächst die wichtigste Voraussetzung dar.

Die Vielfalt der Verteilungsmöglichkeiten sowie die unterschiedlichen Techniken bei der Verarbeitung stellen derzeit die Datenbank-Verwaltungssysteme vor neue Probleme. Lösungen hierfür sind langfristig zwar absehbar, doch können diese wegen der einzelnen Philosophien und Architekturen der Rechner qualitativ durchaus unterschiedlich ausfallen.

Verteilte Datenbanken können auf verschiedene Art und Weise realisiert werden. In gewissem Maße gab es sie schon, bevor die Datenbanksysteme selbst verteilungsfähig waren, zum Beispiel durch eine Duplizierung der Bestände auf mehrere Rechnersysteme. Wenn wir heute jedoch von verteilten Datenbanken sprechen, so meinen wir dies ganz eng im Zusammenhang mit verteilter Verarbeitung und der dazu notwendigen Koordination zwischen den Systemen. Dabei unterscheiden wir zwei Kategorien:

1. Verteilte Verarbeitung zentralisierter Daten

Typische operationale Umgebung sind intelligente Terminals mit Datenaufbereitung und Bildschirm-Formatierung, denen Zugriff auf zentrale Daten gestattet ist.

Ebenfalls in diese Kategorie fallen sogenannte Datenbank-Maschinen. Dabei ist es unerheblich, ob diese Maschine ein im Betriebssystem integriertes DB-Konzept enthält, ein Software-Datenbank-Verwaltungssystem enthält oder gar auf der Mikroprozessor-Ebene hardwaremäßig arbeitet. Entscheidend ist nur die Rolle, die diese Maschine im Kommunikationsnetz spielt.

2. Verteilte Verarbeitung dezentralisierter und verteilter Daten

Die zweite und wohl häufigste Kategorie ist die Dezentralisierung und Verteilung der Daten mit der Möglichkeit, sie vielerorts zu verarbeiten. Diese Konstellation ist das, was wir heute im allgemeinen unter verteilten Systemen verstehen.

Beide Kategorien zeichnen sich im übrigen deutlich dadurch ab, daß die Systeme elektronisch miteinander verbunden sind, also ständigen Kontakt zueinander haben.

Jedes Informationssystem basiert auf Daten. Informationen, die daraus gewonnen werden, sind Daten mit einer bestimmten Bedeutung, die eindeutig abhängen von der Struktur und innerbetrieblichen Organisation eines jeden Unternehmens. Eine Verteilung von Daten kann somit nicht nach irgendeinem "Schema F" erfolgen, sondern muß als Ergebnis einer qualifizierten Datenanalyse und den Methoden des logischen Datenbank-Entwurfs ermittelt werden.

Die Überführung eines logischen Datenbank-Entwurfs in den physischen Entwurf unter Berücksichtigung der Verarbeitungsanforderungen sowie Einbeziehung existenter Daten kann nun unterschiedliche Kriterien zur Verteilung von Daten herausstellen. Relevant zur Verarbeitung auf mehreren Systemen können zunächst einmal grundsätzlich sein:

- logische Auschnitte aus der physischen Datenbank (Abb. 1),

- Relationen oder Dateien mit dem gesamten Datenbestand (Abb. 2),

- Sätze aus verteilten Dateien (Abb. 3),

- Elemente aus verteilten Sätzen.

- Am häufigsten vorzufinden sind bislang die ersten beiden Techniken zur Verteilung von Daten, sofern für den zweiten Fall folgende Einschränkung gilt: Logische Verbindungen

von Dateien (zum Beispiel Kunde-Auftrag) werden von den Datenbank-Verwaltungssystemen derzeit nicht verteilt. Dies ist jedoch eine Anforderung, die sich bei verteilter Verarbeitung immer häufiger herausstellt. Um jedoch die Aufträge im System II über den Schlüssel des Kunden im System I lesen zu können, bedarf es in den DB-Systemen einer Kommunikationstechnik, die bis heute nicht existiert. Und ohne diese Verständigung ist auch die dritte Verteilungstechnik nicht vernünftig realisierbar, aber denkbar. Zum Beispiel bei dezentralisierten Lagersystemen mit zentralem Auftragswesen, wo ein gemeinsamer Zugriff auf die jeweiligen Lagerbestandsdaten erwünscht ist. Schließlich bleibt noch die vierte Technik, die ganz klar auf relationale Verarbeitung - also nur noch logische Betrachtung der Daten für den Benutzer des DBMS - hinausgeht. Und spätestens hier ist auch zu erkennen, daß die Architektur und Philosophie eines DBMS entscheidend Einfluß darauf hat, ob und wie eine solche Verteilung realisierbar ist. Dies wird noch deutlicher, wenn wir uns die Kommunikationstechniken vor Augen führen.

Architektur und Kommunikationstechnik

Unter Einbeziehung der relationalen Verarbeitung (logische Betrachtung der Daten) besteht ein Datenbank-Verwaltungssystem aus drei Komponenten, die zur Abwicklung einer logischen Datenfunktion durchlaufen werden (siehe Abb. 4).

1. Relationale Verarbeitungsinterpretation: Der logische Service für den Benutzer muß interpretiert werden. Das heißt nicht nur, welche Daten zu bearbeiten sind, sondern auch wo und wie. Die Verwendung eines leistungsfähigen Verzeichnisses hierfür ist unabdingbar.

Die Bedeutung dieses Verzeichnissystems ist jedoch neu, da es eine übergeordnete, kontrollierende und koordinierende Rolle spielt, also aktiv ist. Seine Aufgabe ist, satzspezifische Funktionen an die Datenbank-Verwaltungskomponenten weiterzuleiten.

2. Datenbank-Verwaltung: Diese Komponente enthält alle Funktionen, um logische Datensätze zu verwalten wie Lesen, Ändern, Hinzufügen und Löschen. Die logische Hinzufügung eines Datensatzes kann jedoch mehrere logische Ein- und Ausgabeoperationen auslösen, da der hinzugefügte Satz logische Verbindung zu anderen Sätzen enthalten kann.

3. Logische Ein- und Ausgabe: ist die Schnittstelle des DBMS zum physischen Datenmanagement, in dem jede Veränderung registriert und durchgeführt wird. Hier findet auch die Protokollierung statt, die zur Sicherung der Datenintegrität notwendig ist.

Art und Weise der Kommunikation dieser Komponenten untereinander ist entscheidend für die Flexibilität bei verteilter Datenspeicherung.

Die Verständigung von RVI zu RVI (1) ist nur im Rahmen der Verwaltung des Verzeichnisses notwendig. Die Informationen über gemeinsame Daten müssen aktuell und konsistent sein. Es ist durchaus denkbar, daß bei hierarchischen Kommunikations-Netzwerken (Hauptrechner zu Minirechner) nur ein Verzeichnis existiert.

Wichtig ist vor allem der Kommunikationstyp RVI zu DBV (2) bei relationalen oder DBV zu DBV (3) bei nichtrelationalen Systemen. Diese Kommunikationstypen unterstützen natürlich nicht oder höchsten sehr aufwendig die Technik der verteilten Sätze oder verteilten Dateien mit Intersystem-Verbindungen. Haben aber den Vorteil, daß der gegenseitige Nachrichtenaustausch minimal ist. Demgegenüber steht der Kommunikationstyp DBV zu LEA (4), welcher höchste Flexibilität gestattet, doch wegen des niedrigen Kommunikatiornsniveaus intensiven Nachrichtenaustausch auslösen kann. Hier wird sicherlich die Frage auf den Anwender zukommen, wie hoch er seine Ansprüche setzt und welchen Aufwand er höchstens in Kauf nehmen will.

Der Benutzer wird an die verteilten Datenbank-/Datenkommunikationssysteme im wesentlichen folgende Anforderungen stellen:

- Datensicherheit

Die Integrität und Konsistenz der Daten auf allen Systemen muß jederzeit gewährleistet sein. Wenn eine logische Arbeitseinheit abnormal beendet, müssen deren Veränderungen auf allen Systemen zurückgesetzt werden, ohne daß andere Benutzer davon betroffen sind, also benutzerspezifische Wiederherstellungsverfahren.

- Maschinenunabhängigkeit

Bei Ausfall eines Systems müssen die anderen Systeme betriebsfähig bleiben. Programme müssen hierauf reagieren dürfen und Nachrichten gegebenenfalls in Warteschlangen einfügen können.

- Systemunabhängigkeit

Anwendungsprogramme sollen transparent und übertragbar sein. Dies erfordert die Unterstützung durch relationale Verarbeitung (logische Betrachtung) auf der einen Seite, Verträglichkeit der unterschiedlichen Software (Datenbank-Verwaltungssysteme auf verschiedenen Rechnertypen) auf der anderen Seite.

- Leistungsfähigkeit

Systembelastung und Nachrichtenaustausch müssen auf das Notwendigste begrenzt sein, um trotz der Komplexität Informationen schnell bereitzustellen. Dabei spielt die Kommunikationstechnik eine sehr wichtige Rolle. Insbesondere die Inter-Rechner-Kommunikation, die derzeit ausschließlich über DC-Schnittstellen realisiert ist, wird sich dabei entscheidend verbessern müssen.

Wir dürfen gespannt sein was in den nächsten Jahren von Seiten der DB/DC-Hersteller geboten wird.