1 Einführung

1.2 Anforderungen an Mehrrechner-Datenbanksysteme

Die Anforderungen an Mehrrechner-Datenbanksysteme ergeben sich weitgehend aus den zum Teil schon erwähnten Beschränkungen zentralisierter Datenbanksysteme. Im einzelnen sollte ein "ideales" Mehrrechner-DBS folgende Anforderungen erfüllen:

Hohe Leistungsfähigkeit

In typischen Einsatzbereichen von Datenbanksystemen dominiert die Ausführung relativ einfacher Anwendungsfunktionen, z.B. zur Durchführung einer Reservierung oder einer Kontenbuchung. Diese Funktionen werden jedoch mit großer Häufigkeit ausgeführt, so daß ein hoher Durchsatz mit für die Dialogbearbeitung ausreichend kurzen Antwortzeiten zu gewährleisten ist. Da selbst einfache Transaktionen oft einen CPU-Bedarf von über 100.000 Instruktionen aufweisen, können hohe Transaktionsraten (z.B. > 1000 Transaktionen pro Sekunde) nur durch Einsatz mehrerer Verarbeitungsrechner erreicht werden. Um eine effektive Nutzung von deren Kapazität zu ermöglichen, muß die verteilte Transaktionsbearbeitung innerhalb des Mehrrechner-DBS mit einem Minimum an Kommunikationsvorgängen erfolgen. Ferner muß die Transaktionslast so unter die Rechner aufgeteilt werden, daß möglichst eine gleichmäßige Auslastung der Rechner erreicht und somit die Überlastung einzelner Rechner vermieden werden (Lastbalancierung).

Neben der Bearbeitung vorgeplanter Anwendungen sind durch das Datenbanksystem auch zunehmend komplexe Anfragen (Queries) zu bearbeiten, die den Zugriff auf große Datenmengen und/oder aufwendige Berechnungen erfordern. Um für solche Anfragen ausreichend kurze Antwortzeiten erreichen zu können, ist eine Parallelisierung der Anfrageverarbeitung notwendig, wobei sowohl Parallelität bezüglich der Daten-E/A als auch bei der Verarbeitung selbst zu unterstützen ist. Ansonsten würde bereits das (sequentielle) Einlesen von Platte bei Datenmengen von z.B. 100 Gigabyte mehrere Stunden erfordern.

Modulare Wachstumsfähigkeit des Systems (Skalierbarkeit)

Die Leistungsfähigkeit des Systems sollte durch Hinzunahme weiterer Verarbeitungsrechner inkrementell erweiterbar sein. Idealerweise steigt dabei der Durchsatz linear mit der Rechneranzahl bzw. die parallele Verarbeitung komplexer Anfragen kann proportional mit der Rechneranzahl beschleunigt werden.

Hohe Verfügbarkeit

Die starke Verbreitung von Datenbanksystemen führt in den jeweiligen Umgebungen auch zu entsprechenden Abhängigkeiten von der Verfügbarkeit des Systems. In Bereichen, wo Umsatz und Gewinn direkt von der Möglichkeit des Datenbankzugriffs abhängen, wird daher vielfach eine "permanente" Verfügbarkeit verlangt (z.B. Ausfallzeiten von weniger als 1 Stunde pro Jahr [GS91]). Dies kann nur durch ausreichende Redundanz in allen wichtigen Hardware- und Software-Komponenten erreicht werden. Insbesondere muß ein Mehrrechner-Datenbanksystem den Ausfall eines DBVS (Rechners) tolerieren können, indem die Verarbeitung in den überlebenden DBVS möglichst unterbrechungsfrei fortgeführt wird. Die Daten selbst müssen mehrfach gespeichert werden, um einen Datenverlust bei Ausfall eines Externspeichers zu vermeiden. Um auch gegenüber "Katastrophen" gewappnet zu sein (z.B. Ausfall eines gesamten Rechenzentrums durch Erdbeben, Überschwemmung oder Terroranschlag) ist ggf. eine Replikation der Daten an geographisch verteilten Rechnern zu unterstützen (Kap. 9.5).

Verteilungstransparenz

Die Tatsache, daß die Datenbankverarbeitung auf mehreren Rechnern erfolgt, sollte gegenüber Anwendungen und Benutzern vollkommen unsichtbar bleiben. Diese Forderung der Verteilungstransparenz impliziert u.a. Ortstransparenz, das heißt, die physische Lokation eines Datenbankobjektes muß den Anwendungen gegenüber verborgen bleiben. Werden Daten vom Mehrrechner-DBS repliziert gespeichert, ist auch dies gegenüber Anwendungen vollständig zu verbergen (Replikationstransparenz); die notwendige Wartung der Replikation nach Änderungen ist Aufgabe des Mehrrechner-DBS[4]. Die Forderung der Verteilungstransparenz ist wesentlich für die Einfachheit der Anwendungserstellung und -wartung, da so z.B. Änderungen in der Verteilung von Daten ohne Rückwirkungen auf die Transaktionsprogramme bleiben. Die Nutzung des Datenbanksystems sollte wie im zentralisierten Fall möglich sein.

Verteilungstransparenz bedeutet ferner, daß die Zusicherungen des Transaktionskonzepts (Kap. 2.1.3) auch für Mehrrechner-DBS gewahrt bleiben.

Unterstützung dezentraler Organisationsstrukturen

Große Unternehmen und Institutionen sind häufig geographisch verteilt organisiert. Um die Abhängigkeiten von einem zentralen Rechenzentrum zu reduzieren, soll eine Datenverwaltung und Transaktionsbearbeitung vor Ort unterstützt werden [Gr86].

Integrierter Zugriff auf heterogene Datenbanken

In vielen Anwendungsfällen sind benötigte Informationen über mehrere unabhängige Datenbanken verstreut, die typischerweise von unterschiedlichen DBS auf mehreren Rechnern verwaltet werden [Th90, SW91]. Es sollte möglich sein, innerhalb einer Transaktion auf diese unabhängigen und i.a. heterogenen Datenbanken zuzugreifen. Der Zugriff sollte dabei über eine einheitliche Anfragesprache erfolgen können.

Einfache Systemadministration

Im verteilten Fall ist generell mit einer Verkomplizierung der Systemverwaltung gegenüber zentralisierten Systemen zu rechnen, da insbesondere eine Zuordnung von Programmen, Daten und Transaktionen unter mehrere Rechner festzulegen ist. Um die Komplexität dafür zu begrenzen, sollten diese Aufgaben entweder vollkommen automatisiert (z.B. Lastverteilung) oder zumindest durch entsprechende Tools (z.B. zur Allokation von Daten und Programmen) unterstützt werden. Entsprechend sollten Änderungen bei der Last-, Programm-, oder Datenallokation möglichst automatisch durchgeführt werden (z.B. nach einem Rechnerausfall oder bei dauerhaften Leistungsproblemen).

Im geographisch verteilten Fall ergibt sich eine weitergehende Erschwerung der Systemverwaltung, da i.a. in jedem Knoten eine eigene Administration notwendig ist. Diese sollte einerseits vor allem die Verarbeitung lokaler Anwendungen und Benutzer unterstützen, jedoch ist auch eine globale Koordinierung zwischen den Knoten erforderlich (z. B. für Änderungen im logischen Datenbankaufbau oder zur Definition globaler Zugriffsberechtigungen). Die Abhängigkeit zu anderen Rechnern sollte jedoch möglichst gering bleiben, das heißt, es ist ein hohes Maß an Knotenautonomie anzustreben [GK88, SL90].

Hohe Kosteneffektivität

Die enormen Vorteile von Mikroprozessoren gegenüber Großrechnern bezüglich Kosteneffektivität (Kosten pro MIPS) sollten auch für die Datenbankverarbeitung genutzt werden. Dies gilt umso mehr, da die Leistungsfähigkeit von Mikroprozessoren (z.B. auf RISC-Basis) derzeit wesentlich schneller zunimmt als in anderen Rechnerklassen [Ra93a]. Mehrrechner-DBS sollten daher Mikroprozessoren als Rechnerknoten verwenden können.

Diskussion

Leider gibt es keinen idealen Typ eines Mehrrechner-Datenbanksystems, mit dem alle genannten Anforderungen erfüllt werden können. Dies liegt schon daran, daß einige Anforderungen gegensätzlicher Natur sind. So verlangt die Forderung nach Verteilungstransparenz eine enge Zusammenarbeit der einzelnen DBVS, was jedoch der Forderung einer hohen Knotenautonomie sowie Unterstützung heterogener Datenbanken entgegensteht. Weiterhin sind einfache Systemverwaltung sowie Unterstützung geographisch verteilter Organisationsstrukturen weitgehend gegensätzliche Anforderungen. Aus diesen Gründen wurden unterschiedliche Typen von Mehrrechner-DBS entwickelt, die bestimmte Teilmengen der Forderungen abdecken. Hierauf wird in Kapitel 3 genauer eingegangen.


[4] Weitere Transparenzforderungen werden in Kap. 4.1 erhoben.