Durch Berücksichtigung der Datensemantik

Die Denormalisierung trägt zur Perfonnance-Steigerung bei

21.08.1992

*Werner Müller ist Productbereichsleiter für Unix- und VAX-Systeme bei der Computer Associates GmbH in Darmstadt.

Neben Vorteilen wie Benutzerfreundlichkeit und Elexibilität weisen relationale Datenbanksysteme auch Unzulänglichkeiten auf - vor allem im Bereich der Datenspeicherung. Ursache dafür ist die starre Normalisierung. Denormalisierte Datenbankmodelle ermöglichen, so Werner Müller*, Speicherungsstrukturen, die die Performance verbessern, indem sie die Datensemantik berücksichtigen.

Eines der Hauptprobleme, vor das sich Verwalter und Benutzer komplexer Datenbanken immer wieder gestellt sehen, läßt sich folgendermaßen skizzieren: Um die Flexibilität der Datenbank zu verbessern, werden Basis-Datenbestände in Form einfacher Tabellen angelegt, auf die sich unproblematisch und schnell zugreifen läßt.

Daten, die getrennt voneinander gespeichert, aber gemeinsam zu benutzen sind, werden auf der Anwendungsebene in Form von Joins wieder zusammengeführt. Das ist die Grundidee des Relationenmodells, das wegen der Klarheit des Aufbaus und der Einfachheit der Handhabung heute von vielen Anwendern favorisiert wird.

Dieses Modell hat jedoch eine Schwäche. Sie besteht darin, daß mit den ihm eigenen Sprachmitteln nur sehr einfache Integritätsbedingungen ausdrückbar sind. Der gleiche Satz von Bedingungen wird daher an unterschiedlichen Stellen der Anwendung abgeprüft. Trotzdem besteht immer die Gefahr, daß die Integritätsprüfungen von verschiedenen Anwendern unterschiedlich formuliert werden, wodurch der Datenbestand nicht mehr integer ist.

Relationale Datenbanksysteme basieren auf einer "Normalisierung" der Daten. Der Begriff "erste Normalform" besagt unter anderem, daß eine Tabelle oder Relation nur aus einfachen Einträgen, sprich Attributen, bestehen darf. Die Daten komplexer Objekte sind also an vielen verschiedenen Stellen in voneinander unabhängigen Tabellen abzulegen und müssen über die Anwendung zusammengeführt werden.

Daraus resultiert eine weitere Schwäche des Relationenmodells: Für den Zugriff auf solchermaßen verstreut gespeicherte Daten sind viele Zugriffsoperationen, verbunden mit hohem Bedarf an Pufferspeicher, nötig. Das hat den relationalen Datenbanksystemen den Ruf eingetragen, "Ressourcenfresser" und nicht performant zu sein .

Einen Weg aus diesem Dilemma weist das Außerkraftsetzen der ersten Normalform. Dadurch wird es möglich, Daten, die regelmäßig in Joins gemeinsam benutzt werden, "geclustert", das heißt benachbart, zu speichern. Auf diese Weise reduziert sich die Zahl der Seiten, die bei Verwendung eines derart abgelegten Objekts aus dem physikalischen Speicher eingelesen werden müssen.

Verschiedene Arten von Beziehungen

Über diese Performance-Steigerung hinaus bieten denormalisierte Datenbanksysteme gegenüber herkömmlichen DBMS-Produkten mehr Möglichkeiten, bereits bei der Speicherung die Datensemantik zu berücksichtigen. Dabei sollen verschiedene Arten von Beziehungell zum Ausdruck gebracht werden: Zunechst einmal handelt es sich um Beyiehungen vom "has-attribute"-Typ, wie sie in jedem Datenbanksystem vorhanden sind. Innerhalb der relationalen Architektur wird eine Sammlung von Objekten, also ein Obiekttyp, in Form einer Tabelle wiedergegeben. Jede Spalte enthält ein Attribut, während die Zeilen jeweils ein einzelnes Obiekt mit seinen verschiedenen Attributen repräsentieren.

Solange es sich um gleicbartige Obiekte handelt, ist die Abbildung in einer relationalen Datenhank also problemlos möglich. Nicht ausdrücken läßt sich damit jedoch die Unterscheidung zwischen verschiedenen Arten eines Objekttyps, sprich Spezialisierung des Objekttyps in Form von "is-a"-Beziehungen. Die Bildung von Unterklassen eines Objekttyps, beispielsweise von verschiedenen Spezifikationen eines Produkts, ist allerdings auch mit anderen Datenbanksystemen des hierarehischen oder Netzwerk-Typs nicht möglich. Lediglich die objektorientierten Datenbankkonzepte widmen sich diesem Problem.

Eine weitere Form der semantischen Datenmodellierung ist die Hierarchie. Dabei geht es um die Zuordnung von Teilobjekten zu einem Gesamtobjekt. Auf diese Weise läßt sich beispielsweise die Zusammensetzung eines Fertigungsprodukts aus einzelnen Elementen wiedergeben. Hierarchische Beziehungen werden sowohl von hierarchischen als auch von Netzwerk-Datenbanken unterstützt, nicht jedoch von relationalen Systemen. Gemäß der ersten Normalform können die in einer Relation abgelegten Objekte nämlich nicht aus Teilobjekten bestehen. Anders ausgedrückt: Im klassischen Relationenmodell ist es nicht möglich. den Tupeln wiederum Sub-Tupel zuzuordnen.

Ein denormalisiertes Daten modell ist demgegenüber gut dafür geeignet, zusammengesetzte Objekte abzubilden. In ihm können von einem Tupel beliebig viele verschachtelte Sub-Tupel abhängen.

Semantische Beziehungen von der Art des "Entity-Relationship"-Modells werden bis her kaum von Datenbanksystemen unterstützt. Mit dem Begriff "Entity" sind Objekttypen bezeichnet; "Relationships" sind Beziehungen zwischen Objekten. Eine Beziehung wird beschrieben als die Rolle, die ein Objekt im Verhältnis zu einem anderen Obiekt spielt In kommerziell verfügbaren DBMS-Produkten noch nicht befriedigend gelöst ist die Integrität einer solchen Datenbank, die sich in Bedingungen für die Beziehungen komplexern in sich strukturierter Objekte zu gleichrangigen Obiekten manifestiert.

Sogenannte Non-Standard Anwendungen, bei denen komplexe und unterschiedlich strukturierte Objekte auftreten, sind unter anderem Textverarbeitung und Information Retrieval, Bild- und Sprachverarbeitung, Prozeßdatenverwaltung, Kartographie sowie Entwurf (CAD) und Fertigung (CAM). Objektorientierte Datenbank-Systeme machen es möglich, auf dieselbe Weise mit komplexen Objekten umzugehen, wie in herkömmlichen Systemen mit einfachen Objekten verfahren vird.