Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

Entwicklung eines Datenbankcomputers:


07.12.1979 - 

Revidierte Architektur mit Komplexitätsniveau

Die Hauptaufgabe von Datenbankverwaltungssystemen besteht in der Optimierung von Steuerung und Nutzung der Datenressourcen einer Organisation. Die Leistung heutiger DB-Verwaltungssysteme (Software) kann hardwaremäßig mit einem Datenbankcomputersystem (Hardware) verbessert werden. Dank neuer Techniken wie LSI, Super-LSI, Mikroprozessortechnik, Magnetblasenspeicher und Ladungskopplungsschaltung eignen sich Datenbankcomputer (DBC) sehr gut für Informationsspeicherungs- und verarbeitungsaufgaben.

Bis heute sind für das Problem der Datenbankcomputersysteme zwei Lösungen vorgeschlagen und verwirklicht worden. Die eine Lösung bestand in der Trennung des DBVS vom Hauptrechner und seinem Anschluß an einen Allzweck-Minicomputer. Obschon sich die Konstruktion eines solchen Systems als nützlich erwiesen hat, gelang es nicht, damit die Leistungsvorteile zu realisieren(*1). Der Grund für die fehlende Leistungsverbesserung liegt in der Verwendung konventioneller Sequentiellrechner für Datenverwaltungsfunktionen ohne Hardwareunterstützung.

Die zweite Lösung benützt spezialisierte Geräte zur Durchführung aller oder eines Teils der Datenverwaltungsaufgaben.

DBC (*2) erwies sich als der einzige Datenbankcomputer, der sowohl für die Unterstützung von CODASYL als auch von relationellen DBVS geeignet ist.

Gegenwärtige Lösungen

Um die funktionellen Anforderungen an einen Datenbankcomputer zu bestimmen, wurde zunächst eine Umfrage unter Herstellern und Benützern von Datenbankanwendungen durchgeführt.

Die Ergebnisse erwiesen sich als sehr nützlich bei der Zusammenstellung der Anforderungen an einen Datenbankcomputer. Es ergab sich daß für die meisten Anwendungen die beim DBC vorgeschlagene Zusammenfassung der Daten in großen Blöcken entsprechend einem Zylinder auf einer Platte mit beweglichem Kopf die beste Lösung war, und es zeigte sich, daß bei den meisten Anwendungen die Anzahl der Leute, die zur Aktualisierung ermächtigt sind, nicht begrenzt ist. Ein weiteres Ergebnis ist, daß viele Benützer im Laufe der 80er Jahre über Datenbanken im Bereich zwischen zehn und 50 Milliarden Byte verfügen werden.

Nach der Formulierung der Anforderungen an das Datenbankcomputersystem wurde die Konstruktion des DBC revidiert und erweitert. Die grundlegende Lösung mit Beschleunigung sowohl der Auffindung der Verzeichnisinformation als auch der Daten blieb sich gleich. Die parallele Übertragung großer Datenblöcke, welche anschließend parallel auf inhaltsadressierbarer Basis verarbeitet werden, ist der Kern dieser Konstruktion.

Architektur

Die Datenbankcomputer-Konstruktion umfaßt sechs Hauptkomponenten:

1. Datenbankcomputer-Steuergerät (DBCS)

2. Verarbeitungselemente (VE)

3. Speichermoduln (M)

4. Schlüsselprozessor (SP)

5. Parallelübertragungsplatten-Steuergerät (PUPS)

6. Parallelübertragungsplatten (PUP)

Diese Komponenten und ihre Zwischenverbindungen werden in den folgenden Abschnitten beschrieben.

Das Datenbankcomputer-Steuergerät ist als Minicomputer ausgeführt und erhält Befehle vom Hauptrechner. Dabei handelt es sich entweder um Befehle auf Datenbehandlungsniveau von einem DBVS auf CODASYL-Basis oder um anfrageartige Befehle auf höherem Niveau und relationeller Art wie Sequel(*5) oder QLP(*6) -Befehle.

Die Datenbank- und Verzeichnisinformationen befinden sich auf einer Serie von Parallelübertragungsplatten. Das Parallelübertragungsplatten-Steuergerät bewältigt die Übertragung von Informationen zwischen den Plattenlaufwerken und den Puffern (M). Das PUPS sorgt für die üblichen Fehlerkorrekturen, Defektbearbeitung und weitere bei modernen Platten-Steuergeräten übliche Funktionen.

Informationen von den entsprechenden Parallelüberträgungsplattenspuren werden gleichzeitig (also in einer Plattenumlaufperiode) in die mit ihnen verbundenen Puffer (Speichermoduln) übertragen.

Wenn die Speichermoduln mit den Daten einer Spur geladen sind, beginnen die Verarbeitungselemente ( Mikroprozessoren) ihre Arbeit an den Daten asynchron je nach erforderlicher Funktion. Die bei diesen Operationen verarbeiteten Daten werden dann zurück an den Hauptrechner oder zu den Platten geleitet.

Der Schlüsselprozessor (SP) ist ein einzigartiges Element zur Beschleunigung gewisser Datenbankoperationen, indem eine Datei vorübergehend über einem Zuschreibungswertraum aufgeteilt wird. Der Schlüsselprozessor besteht aus fünf Hauptkomponenten:

1. Steuerlogik.

2. Suchelemente (SE).

3. Speichermoduln (M).

4. Einfügungslogik.

5. Interface-Logik.

Der Schlüsselprozessor arbeitet mit konventionellen RAM-Chips und segmentiert eine Liste von Suchargumenten durch eine parallele binäre Such- und Einfügungstechnik.

Funktionen des DBC

Im allgemeinen operieren alle Komponenten im DBC synergistisch, um die in diesem Unterabschnitt dargelegten Funktionen zu erfüllen.

Suchen

Ein Zylinderabschnitt wird auf einmal von einem bestimmten PUP in die Speichermoduln geladen. Durch das DBCS initiiert, suchen alle VE ihre entsprechenden Moduln nach den Sätzen ab, welche den Suchkriterien entsprechen. Die auf diese Weise gefundenen Sätze werden entweder an das DBCS gesendet oder für die weitere Verarbeitung in einen anderen Teil des Moduls verschoben. Projektion

Bei dieser Operation wird nur ein Teil der den Kriterien entsprechenden Sätze ausgewählt. Wird eine Projektion mit Eliminierung der Duplikate gewünscht, so nimmt daran der Schlüsselprozessor teil.

Volle Verbindung

Bei der vollen Verbindung wird ein Satz aus einer Beziehung (oder Datei) A mit einem Satz aus einer Beziehung '(oder Datei) B verkettet, wenn die beiden Sätze den gleichen Wert eines gemeinsamen Attributs aufweisen.

Implizierte Verbindung.

Die implizierte oder halbe Verbindung wählt Sätze aus einer Beziehung (oder Datei) A aus, welche einen gemeinsamen Bezirk mit Sätzen aus einer Beziehung (oder Datei) B haben. Da keine Verkettung notwendig ist, handelt es sich um eine einfachere Operation als die volle Verbindung.

Addition

Um einen Satz einer Datei oder ein Tuple einer Beziehung beizufügen, wählt das DBCS zuerst einen Zylinderabschnitt, welcher dann in die Speichermoduln geladen wird. Anschließend wird nach Kriterium des verfügbaren Raums ein VE gewählt, auf dessen Spur der Satz eingeschoben wird.

Fortschreiben

Sind die Sätze einer besonderen Datei von fester Länge, so können die einzelnen Sätze an Ort und Stelle modifiziert und anschließend wieder auf die Platte geschrieben werden. Bei Sätzen von variabler Länge werden die Änderungen an den Sätzen in einem Segment der Speichermoduln vorgenommen, während sie in ein anderes Segment kopiert werden.

Sortieren

Jedes VE nimmt zuerst eine standardmäßige Sortier/Mischoperation des eigenen Speicherinhalts vor. Darauf folgt eine Mischoperation des Inhalts des unteren Teils des Speichers mit dem oberen Teil des benachbarten Speichers. Diese beiden Operationen wechseln sich ab, bis die Datei vollständig sortiert ist.

Löschen

Für diese Operation werden die Sätze aus den Speichermoduln nacheinander von den VE gelesen und geprüft. Sätze, die nicht gelöscht werden sollen, werden dann ausgegeben. Bei dieser Operation kann auch der Schlüsselprozessor verwendet werden. In diesem Falle werden die Suchschlüssel der zu löschenden Sätze im SP gespeichert und getestet.

Status des DBC

Der im obigen Abschnitt beschriebene Datenbankcomputer erfüllt alle Funktionen als Träger eines CODASYL- oder eines relationellen Datenbankverwaltungssystems. Zusätzlich zur Funktionalität benötigen die Benützer solcher Systeme auch die Möglichkeit, die Datenbank auf einen früheren Ausgangspunkt zurückzuführen und Fehler oder Systemausfälle zu behandeln. Solche Eigenschaften werden zur Zeit für den Einbau in DBC geplant. Hier erscheinen Techniken als sinnvoll, wie sie in den gegenwärtigen DBVS benützt werden(*7).

Obwohl Benützer- oder Programmfehler immer wieder zu fehlerhaften Daten führen, lassen sich die Folgen von Hardwarefehlern reduzieren, indem fehlertolerante Techniken angewendet werden' Da ein DBC aus Sätzen identischer Hardwarekomponenten besteht, lassen sich zusätzliche Reservemoduln anfügen und einschalten, falls in einem Modul ein Fehler entdeckt wird.

Ein weiteres Forschungsprojekt befaßt sich zur Zeit mit den Arten von Konfigurationen und Situationen, in welchen der Datenbankcomputer verwendet werden könnte. Bei großen Hauptsystemen würde, der DBC wahrscheinlich in der in diesem Artikel beschriebenen Art konstruiert werden. Um die Kosten des DBC bei der Verwendung mit einem Minicomputer zu senken, könnte der Steuergeräteabschnitt im Hauptsystem als Software ausgeführt werden. Für die Endbenutzereinrichtung könnte Kommunikationshardware angefügt werden.

Gegenwärtig wird ein zweiter Forschungsanlauf unternommen. Es werden Modifikationen untersucht, welche die oben diskutierten Erweiterungen tragen könnten. Es werden Komponenten wie Mikroprozessoren für VE und RAM-Chips für Speichermoduln ausgewählt. Die Softwarestruktur und die DBC-Operationsalgorithmen werden vorbereitet. Schließlich befindet sich ein Leistungsmodell zur Simulation des DBC in Konstruktion, welches die analytische Berechnung einer Leistungsverbesserung um ein bis zwei Größenordnungen über die gegenwärtigen DBVS mit Allzweckcomputern hinaus bestätigen soll.

Schlußbemerkung

Die Analyse gegenwärtiger Benützeranwendungen und die Projektion in die Zukunft lieferte ein System funktioneller Anforderungen an einen Datenbankcomputer. Die Anwendung dieser Anforderungen auf eine vorgeschlagene Konstruktion 2 führte zu einer revidierten Architektur, welche die erwünschten Vorteile mit einem sehr attraktiven Kosten- und Komplexitätsniveau verband.

Literatur

(*1).Leavitt, D., Two-Year Project Pays Off: Back-End DBMS Succeeds, Computerworld, Feb. 20, 1978, p. 1

(*2). Banorjee, J. & D. K. Hsiao, DBC - A Database Computer for Very Large Databases, IEEE Transactions on Computers, C-28, No. 6, June 1979

(*3). Sperry Univac, Data Management System (DMS 1100), UP-7907, Rev. 3, 1977

(*4). Bray, O. H. & H. A. Freeman, Data Usage and the Data Base Processor, Proceedings ACM '78, Dec. 1978, pp. 234-240

(*5). Chamberlin, D. D. & R. F. Boyce, SEQUEL: A Structured English Query Language, Proceedings ACM Workshop on Data Description, Access and Control, 1974, pp. 249-264

(*6). Sperry Univac, Query Language Processor (QLP 1100), UP-8231 Rev. 1, 1977

(*7). Sperry Univac, Data Management System (DMS 1100), System Support Functions, UP-7903, Rev. 4, 1978

*O. H. Bray, H. A. Freeman und J. R. Jordan, Sperry Univac, St. Paul/Minnesota