TEUBNER-TEXTE zur Informatik Band 22 U. KeBler Flexible Speicherung und Indexierung komplexer Datenbankobjekte TEUBNER-TEXTE zur Informatik Herausgegeben von Prof. Dr. Johannes Buchmann, Darmstadt Prof. Dr. Udo Lipeck, Hannover Prof. Dr. Franz J. Rammig, Paderborn Prof. Dr. Gerd Wechsung, Jena Ais relativ junge Wissenschaft lebt die Informatik ganz wesentlich von aktuellen Beitragen. Viele Ideen und Konzepte werden in Originalarbeiten, Vorlesungsskripten und Konferenz berichten behandelt und sind damit nur einem eingeschrankten Leserkreis zuganglich. LehrbOcher stehen zwar zur VerfOgung, kennen aber wegen der schnellen Entwicklung der Wissenschaft oft nicht den neuesten Stand wiedergeben. Die Reihe nTEUBNER-TEXTE zur Informatik" soli ein Forum fOr Einzel-und Sammelbeitrage zu aktuellen Themen aus dem gesamten Bereich der Informatik sein. Gedacht ist dabei ins besondere an herausragende Dissertationen und Habilitationsschriften, spezielle Vorle sungsskripten sowie wissenschaftlich aufbereitete AbschluBberichte bedeutender For schungsprojekte. Auf eine verstandliche Darstellung der theoretischen Fundierung und der Perspektiven fOr Anwendungen wird besonderer Wert gelegt. Das Programm der Reihe reicht von klassischen Themen aus neuen Blickwinkeln bis hin zur Beschreibung neuartiger, noch nicht etablierter Verfahrensansatze. Dabei werden bewuBt eine gewisse Vorlaufigkeit und Unvollstandigkeit der Stoffauswahl und Darstellung in Kauf genommen, weil so die Leben digkeit und Originalitat von Vorlesungen und Forschungsseminaren beibehalten und weiter gehende Studien angeregt und erleichtert werden kennen. TEUBNER-TEXTE erscheinen in deutscher oder englischer Sprache. Flexible Speicherung und Indexierung komplexer Datenbankobjekte Von Dr. Ullrich KeBler B. G. Teubner Verlagsgesellschaft Stuttgart . Leipzig 1997 Dr. Ullrich KeBler Geboren 1960 in Hamburg. Von 1980 bis 1987 Studium der Informatik mit dem Anwendungs fach Betriebswirtschaftslehre/lndustriebetriebslehre an der Universitiit Hamburg. Von 1988 bis 1990 Gastwissenschaftler am Wissenschaftlichen Zentrum Heidelberg der IBM Deutschland GmbH in der Abteilung Advanced Information Management. Von 1990 bis 1995 Wissenschaft licher Mitarbeiter in der Abteilung Datenbanken und Informationssysteme der Universitiit Ulm bei Herm Prof. Dr. P. Dadam. 1m Juni 1995 Promotion zum Dr. rer. nat. mit dem Thema .Fle xible Speicherungsstrukturen und Sekundiirindexe in Datenbanksystemen fur komplexe Objekte". Gedruckt auf chlorfrei gebleichtem Papier. Die Deutsche Bibliothek - CIP-Einheitsaufnahme KeBler, Ullrich: Flexible Speicherung und Indexierung komplexer Datenbankobjekte / von Ullrich KeBler. - Stuttgart; Leipzig: Teubner, 1997 (Teubner-Texte zur Informatik; Bd. 22) ISBN 978-3-8154-2307-3 ISBN 978-3-322-95380-3 (eBook) DOI 10.1007/978-3-322-95380-3 Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschutzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulAssig und strafbar. Das gilt besonders fur VervielfAltigungen, Obersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. © B. G.T eubner Vertagsgesellschaft Leipzig 1997 Umschlaggestaltung: E. Kretschmer, Leipzig Geleitwort Relationale Datenbanksysteme werden heute immer haufiger in Anwendungsberei chen wie Computer Aided Design (CAD), Kartographie, geographische Informations systeme, technische Informationssysteme, Dokumentenverwaltungssysteme usw. ein gesetzt, fUr welche sie ursprtinglich nicht entworfen wurden. Aile diese Anwendungs gebiete haben gemeinsam, daB groBe, komplex strukturierte Datenobjekte ("komple xe Objekte") zu verwalten sind. Heutige relationale Datenbanksysteme, mit ihrem "fiachen" Relationenmodell, konnen diese Art von Datenobjekten nicht adaquat ver walten, was dazu fUhrt, daB im Anwendungssystem Funktionalitaten implementiert werden mtissen, die an sich ins Datenbanksystem gehoren. Die heute auf den Markt drangenden objektorientierten Datenbanksysteme (OODBMS), aber auch die im Be reich der SQL-Standardisierung ("SQL 3") geplanten Erweiterungen der relationalen Datenbanksysteme behaupten jeweils, hierfUr die richtigen Losungen bereitzustel len, wobei technologisch teilweise sehr unterschiedliche Ansatze verfolgt werden. Der (zuktinftige) Anwender solcher Systeme ist also gut beraten, sich etwas intensiver mit den Moglichkeiten und Grenzen eines bestimmten Ansatzes zu befassen, urn im gegebenen Fall die richtige Wahl treffen zu konnen. Herr KeBler untersucht in dem vorliegenden Buch systematisch, wie sich komplexe Objekte auf den Hintergrundspeicher abbilden lassen und wie der Zugriff auf diese Objekte tiber Indexe unterstUtzt werden kann. Ein wesentliches Merkmal der von ihm entwickelten Konzepte ist die strikte Trennung von logischem und physischem Schema, die eine nachtragliche Optimierung der Speicherungsstrukturen erlaubt; ein groBes Manko heutiger OODBMS. Die Starke des vorliegenden Buches ist seine Abgeschlossenheit und Vielseitig keit. Durch den ausfUhrlichen Uberblick tiber Datenmodelle und Systeme und die EinfUhrung des verwendeten RelationenkalkUls kann man es auch ohne Vorkenntnis se tiber komplexe Objekte lesen. Bei der Behandlung von Speicherungs- und Cluste rungsstrukturen wird aufgezeigt, welche prinzipiellen Moglichkeiten der Speicherung komplexer Objekte es gibt und wie sich die zugrundeliegenden physischen Struk turen beschreiben lassen. Die Kenntnis der moglichen Speicherungsstrukturen kann dem Leser helfen, verschiedene Systeme einzuordnen, zu bewerten und ggf. optimal einzusetzen. Ahnliches gilt fUr die Behandlung von Indexformen und deren mogli che Nutzung bei der Auswertung von Anfragen an komplexe Objekte. - Das Buch ist aber auch fUr den Entwickler von OODBMS interessant, da es sehr ausfUhrlich beschreibt, wie sich die vorgestellten Konzepte implementieren lassen. 6 Geleitwort Das Buch ist meines Erachtens sowohl fur Praktiker als auch fUr Wissenschaftler und Studenten interessant und lesenswert. Die Praktiker werden sich in den nachsten Jah ren mit diesem Thema entweder dadurch konfrontiert sehen, daB sie solche Systeme administrieren und tunen mussen. Fur Studenten ist die Arbeit interessant, urn sich im Rahmen einer Vertiefungsvorlesung oder eines Praktikums mit dem Thema "Un terstutzung komplexer Objekte in Datenbanksystemen" auseinanderzusetzen. Fur Wissenschaftler bietet es eine kompakte Moglichkeit, sich in dieses wichtige Gebiet einzuarbeiten. VIm, im Juni 1997 Prof. Dr. Peter Dadam Vorwort Bereits in den ersten kommerziellen Datenbank-Management-Systemen konnten strukturierte Daten direkt modelliert werden. Die zwei bekanntesten Datenmodel Ie sind das hierarchische Modell von IMS und das CODASYL-Netzwerk-Modell. Der Datenzugriff erfolgt jedoch noch iiber Prozeduren, in denen zumindest implizit die jeweiligen Speicherungsstrukturen und die vorhandenen sekundaren Zugriffspfade zu beriicksichtigen sind. Der daraus resultierende Aufwand bei der Programmentwick lung und -pflege war einer der wesentlichen Griinde fUr den Entwurf relationaler Datenbanksysteme. In ihnen werden die Daten in Tabellen gespeichert und Anfragen in einer deskriptiven Form, unabhangig von der physischen Reprasentation der Tabel len und den vorhandenen Zugriffspfaden, formuliert. Insbesondere diese deskriptive Anfrageformulierung, bei der der Anwender die zugrundeliegenden Speicherungs-und Indexstrukturen nicht kennen muB, ist verantwortlich fUr den Erfolg relationaler Sy sterne. Dahingegen wird die Notwendigkeit, die Daten stets auf Relationen in erster Normalform abzubilden, heute als starke Einschrankung empfunden. Mit der zunehmenden Notwendigkeit, komplex strukturierte Daten (= komplexe Ob jekte) effizient in Datenbanken zu verwalten, entstanden in jiingster Zeit verstarkt verallgemeinerte relationale und objektorientierte Datenmodelle. In ihnen sollen die Vorteile der direkten Modellierung komplex strukturierter Objekte mit den en von de skriptiven Anfragesprachen kombiniert werden. Urn aile Moglichkeiten des logischen Datenbankdesigns, die diese Modelle bieten, voll ausnutzen zu konnen, ist es erfor derlich, daB in den entsprechenden Datenbanksystemen klar zwischen dem logischen und dem physischen Datenbankschema unterschieden wird. Geschieht dies nicht und werden, wie heute noch weit verbreitet, die physischen Speicherungsstrukturen un mittelbar aus der logischen Struktur der Daten abgeleitet, wird in vielen Fallen der logische Datenbankentwurf von reinen Performanziiberlegungen gepragt sein, womit viele Vorteile der neuen Systeme verlorengehen wiirden. Diese haufig unterschatzte Problematik adressiert dieses Buch. Ausgehend yom "ex tended non first normal form" (= eNF2) Datenmodell wird untersucht, wie hierar chisch strukturierte Objekte (= eNF2-Tabellen) flexibel auf physische Speicherungs strukturen abgebildet und wie Sekundarindexe zum assoziativen Zugriff auf diese ein gesetzt werden konnen. In einer generellen Einordnung des Buchs wird dargelegt, daB solche Objekte sowohl als logisches Schema in verallgemeinerten relationalen Syste men als auch als internes Schema in objektorientierten System en dienen konnen. Da- 8 Vorwort nach werden verschiedene Variant en der physischen Speicherung von eNF2-Tabellen diskutiert und eine Datendefinitionssprache zur Beschreibung der gewahlten Struk tur entwickelt. AuBerdem wird ausgefiihrt, wie die Auswertung komplexer Anfragen durch Pfadindexe unterstiitzt werden kann und wie die Anfragen formal zu transfor mieren sind. Des weiteren werden Methoden entwickelt, urn unter Einbezug der jewei ligen Speicherungsstrukturen die Kosten alternativer Ausfiihrungsplane zu schatzen und den giinstigsten auszuwahlen. Das Buch liefert damit die Grundlagen, urn ver allgemeinerte relationale oder objektorientierte Datenbank-Management-Systeme zu realisieren, in denen das logische und das physische Datenbankdesign klar voneinan der getrennt sind. Dabei beschrankt es sich nicht auf rein theoretische Betrachtungen, sondern zeigt auch auf, wie die entwickelten Konzepte zu implementieren sind. Erste, teilweise jedoch noch recht spezielle Losungsansatze entstanden wahrend mei nes Aufenthalts als Gastwissenschaftler am Wissenschaftlichen Zentrum Heidelberg der IBM Deutschland GmbH. Die allgemeingiiltigen, in vielen Systemen umsetzba ren Konzepte, wie sie letztendlich hier prasentiert werden, wurden dann von mir in meiner Zeit als Wissenschaftlicher Mitarbeiter an der Universitat Ulm im Rahmen meiner Dissertation entwickelt und evaluiert. Mein ganz besonderer Dank gebiihrt in diesem Zusammenhang meinem Betreuer und Abteilungsleiter Herrn Prof. Dr. P. Dadam. Durch seine stetige Motivation, keine Speziallosungen zu verfolgen, sondern allgemeine Losungen zu such en, hat er ent scheidend mit zum Entstehen dieses Buchs beigetragen. Ebenfalls herzlich bedanken mochte ich mich bei Herrn Prof. Dr. M. H. Scholl. Er hat nicht nur das Zweitgutachten iibernommen, sondern durch seine stete Gesprachsbereitschaft geholfen, Anforderun gen objektorientierter Datenbanksysteme in meinen Konzepten zu beriicksichtigen. Bedanken mochte ich mich ebenso bei meinen ehemaligen Kollegen am Wissenschaft lichen Zentrum Heidelberg. Insbesondere sei hier Herr Prof. Dr. K. Kiispert genannt. Die zahlreichen Diskussionen mit ihm und die hierbei entstandenen Losungsideen bildeten letztlich den Grundstein meiner Arbeiten. Natiirlich gilt mein Dank auch und vor allem meinen Arbeitskollegen an der Uni versiUit VIm. Namentlich bedanken mochte ich mich an dieser Stelle fUr die sehr freundschaftliche Zusammenarbeit bei Herrn A. Dyballa, Herrn Dr. K. GaBner und Herrn Dr. C. Kalus, die mit mir quasi von der Stunde Null an der Abteilung an gehorten. Insbesondere gilt mein Dank hierbei Herrn A. Dyballa und seiner Frau, mit denen mich heute eine iiber das berufliche MaB hinausgehende private Freund schaft verbindet. Ausdriicklich danken mochte ich aber auch Herrn R. Seifert fUr die sehr gute technische Betreuung unserer Rechner und seiner stets kurzfristigen Losung auftretender Probleme. AbschlieBend mochte ich meiner Mutter danken. Sie hat mir stets Mut zugesprochen, wenn ich das GefUhl hatte, es geht nicht mehr weiter. Ihr sei dieses Buch gewidmet. Hamburg, im Juni 1997 Ullrich KeBler Inhaltsverzeichnis 1 Einleitung 13 1.1 Motivation . ...... 13 1.2 Ziele und Einordnung . 16 1.3 Aufbau des Buchs . . . 22 2 Uberblick tiber Datenmodelle und Systeme 24 2.1 Das relationale Datenmodell 24 2.2 Hierarchische Datenmodelle 29 2.2.1 Das NF2-Datenmodell 29 2.2.2 Das eNF2-Datenmodell . 31 2.2.3 XSQL - Eine Erweiterung des relationalen Modells 36 2.2.4 IMS - ein hierarchisches Datenbanksystem 37 2.3 Ne tzwerkdatenmodelle ........ 39 2.3.1 Das CODASYL-Datenmodell 40 2.3.2 Das Molekiil-Atom-Datenmodell . 41 2.4 Objektorientierte Datenmodelle ..... 43 2.4.1 Smalltalk-basierte Datenbanksysteme 44 2.4.2 Das objektorientierte Datenbanksystem O 46 2 2.4.3 Das objektorientierte Datenmodell GOM . 48 2.4.4 COCOON - ein mengenorientiertes Objektmodell 49 2.4.5 Persistente C++ Systeme .. 51 2.5 DASDBS - Ein Speicher kern-System 53 10 Inhaltsverzeichnis 3 Flexible Speicherungsstrukturen fiir hierarchische Objekte 55 3.1 Begriindung und Alternativen . . . . . . . . . . . . . . . 55 3.2 Uberblick iiber Speicherungs- und Clusterungsstrukturen 58 3.3 Benutzerdefinierte Speicherungsstrukturen . . . . . . . . 67 3.3.1 Anker-Records und Record-Typnamen . . . . . . 70 3.3.2 Speicherungsstrukturen fUr Mengen- und Listenkonstruktoren 71 3.3.3 Speicherungsstrukturen fiir Tupelkonstruktoren 73 3.3.4 Definition bekannter Speicherungsstrukturen 76 3.4 Benutzerdefinierte Clusterungsstrukturen .. . 79 3.4.1 Cluster und Segmente ........ . 80 3.4.2 Definition objektiibergreifender Cluster 80 3.4.3 Definition objektbezogener Cluster 81 3.4.4 Vergleich mit bekannten Verfahren 83 3.5 Komplexes Beispiel 84 3.6 Zusammenfassung. 86 4 Pfadindexe zur Auswertung von Pradikaten 88 4.1 Einfiihrung .................. . 88 4.2 Uberblick iiber Methoden des Indexeinsatzes . 91 4.2.1 Indexeinsatz in relationalen Systemen . 91 4.2.2 Indexeinsatz in anderen System en 93 4.3 Pfadindexe fUr eNF2-Tabellen . . . 101 4.3.1 Definition von Pfadindexen 102 4.3.2 Zugriffsoperationen fUr Pfadindexe 107 4.4 Auswertung von Pradikaten mit Pfadindexen . 114 4.4.1 Das Grundprinzip ........... . 114 4.4.2 Auswertung von Selektionspradikaten . 118 4.4.2.1 Indexeinsatz bei unabhiingiger Variablenbindung 120 4.4.2.2 Indexeinsatz bei abhiingiger Variablenbindung 124 4.4.3 Auswertung von Existenzpradikaten . . . . . . . . . 128 4.4.4 Einsatz mehrerer Indexzugriffe in einer Teilanfrage 133 4.4.5 Zugriff auf eNF2-Relationen ..... 136 4.4.6 AusfUhrung von Verbundoperationen 140 4.4.7 Komplexes Beispiel 145 4.5 ZusammenfasRung ..... 146
Description: