Rückblick: Pufferverwaltung

Größe: px
Ab Seite anzeigen:

Download "Rückblick: Pufferverwaltung"

Transkript

1 Rückblick: Pufferverwaltung Datenbankpuffer zum Schließen der Zugriffslücke zwischen Primär- und Sekundärspeicher Ersetzungsstrategien berücksichtigen Zeitpunkte und/oder Anzahl der Zugriffe auf bestimmte Seite FIFO, LFU, LRU (als klassische Verfahren) LRU-K und CLOCK (als moderne Verfahren) Caching kommt auch an anderen Stellen in einem RDBMS, z.b. für Anfrageergebnisse, zum Einsatz 73

2 3.4 Zugriffsstrukturen Tupel einer Relation lassen sich als Datensätze in den Seiten einer Datei speichern (vgl. Kapitel 3.2) Wie können wir solch eine Datei organisieren, um effizient auf Tupel zugreifen zu können, z.b. anhand ihrer Primärschlüsselattribute Anfrage Ergebnis Welche Zugriffsstrukturen gibt es, um effizient auf Tupel zugreifen zu können, z.b. anhand anderer Nichtschlüsselattribute Anfragebearbeitung Optimierung Auswertung Pufferverwaltung Hintergrundspeicher Daten Indizes Logs 74

3 Daten und Indizes Wir machen die (vereinfachende) Annahme, dass das RDBMS Daten und Indizes voneinander getrennt speichert Daten Index Index Echte RDBMS trennen u.u. weniger scharf: Oracle kennt z.b. sogenannte Index-Organized Tables (IOTs), wobei die Daten selbst als Index gespeichert werden 75

4 Zugriffsarten Nachschlagen eines Tupels anhand von Tupelnummer (z.b. Tupel mit Tupelnummer (198,12)) Nachschlagen eines Tupels anhand von Primärschlüssel (z.b. Tupel zu Kunde mit KundenNr ) Finde Tupel mit bestimmtem Attributwert (z.b. Tupel zu Kunden mit PLZ 66117) Finde Tupel mit Kombination von Attributwerten (z.b. Tupel zu Kunden namens Müller mit PLZ 66117) 76

5 Zugriffsarten Finde Tupel mit Attributwert in bestimmten Bereich (z.b. alle Kunden mit PLZ in 661*) Finde Tupel mit Attributwerten in bestimmten Bereichen (z.b. alle Kunden namens M* mit PLZ in 661*) Wie können wir diese Zugriffsarten durch Organisation der Daten bzw. zusätzliche Indizes unterstützen? 77

6 3.4.1 Datenorganisation Welche Organisationsformen gibt es, um Tupel einer Relation als Datensätze in einer Datei abzulegen? Primäres Ziel ist effizienter Zugriff auf Datensätze anhand von Tupelnummer oder Primärschlüssel Wie gut kann die Organisationsform mit dynamischen Daten, d.h. Einfügen/Löschen von Tupeln, umgehen? 78

7 Haufen (Heap) Datensätze organisiert als Haufen (Heap, jedoch nicht zu verwechseln mit der gleichnamigen Datenstruktur) Datensätze werden ohne Ordnung in Seiten gespeichert Neue Datensätze werden am Ende der Datei angefügt Datensätze werden durch Markieren mit Löschbit gelöscht Suche von Datensätzen mittels linearer Suche (d.h. Durchlaufen einer bzw. aller Seiten) 7 11 (133, Max, Imum, PI, 1) (331, Tom, Scheel, PI, 1) (412, Nora, Nolte, WI, 7) (122, Isa, Meier, KI, 3) 79

8 Haufen (Heap) Zusammenfassung: Ineffiziente Suche von Datensätzen Effizientes Einfügen von Datensätzen Ineffizientes Löschen von Datensätzen mit zunehmender Platzverschwendung mangels Freigabe von Speicherplatz 80

9 Sequenzielle Speicherung Datensätze organisiert als sequenzielle Datei Datensätze werden sortiert gespeichert Neue Datensätze werden sortiert eingefügt Datensätze werden gelöscht mit Freigabe von Speicherplatz Suche von Datensätze mittels linearer bzw. binärer Suche (linear über Seiten, binär innerhalb einer Seite) 7 11 (122, Isa, Meier, KI, 3) (133, Max, Imum, PI, 1) (331, Tom, Scheel, PI, 1) (412, Nora, Nolte, WI, 7) 81

10 Sequenzielle Speicherung Beim Einfügen und Löschen von Datensätzen wird evtl. ein Verschieben von Datensätze innerhalb der Seite oder über Seiten hinweg notwendig Zusammenfassung: Ineffiziente Suche von Datensätzen Ineffizientes Einfügen von Datensätzen Ineffizientes Löschen von Datensätzen allerdings ohne Platzverschwendung sofern Fragmentierung vermieden wird 82

11 Indexsequenzielle Speicherung (ISAM) Datensätze organisiert in sequenzieller Datei mit zusätzlicher Indexdatei Datensätze werden sortiert gespeichert Neue Datensätze werden sortiert eingefügt Datensätze werden gelöscht bei Freigabe von Speicherplatz Suche von Datensätze mittels linearer bzw. binärer Suche (linear über Seiten der Indexdatei, binär innerhalb Seite) (122, 7) (122, Isa, Meier, KI, 3) (331, 11) (133, Max, Imum, PI, 1) (331, Tom, Scheel, PI, 1) (412, Nora, Nolte, WI, 7) 83

12 Indexsequenzielle Speicherung (ISAM) Beim Einfügen und Löschen von Datensätzen wird evtl. ein Verschieben von Datensätze innerhalb der Seite oder über Seiten hinweg notwendig; zusätzlich muss die Indexdatei entsprechend aktualisiert werden Zusammenfassung: (Relativ) effiziente Suche von Datensätzen Effizientes Einfügen von Datensätzen Effizientes Löschen von Datensätzen ohne Platzverschwendung sofern Fragmentierung vermieden wird 84

13 Indexsequenzielle Speicherung (ISAM) Indexsequenzielle Speicherung (indexed sequential access method) kann mehrstufig verwendet werden, dann ist die Indexdatei selbst wieder indexsequenziell gespeichert 85

14 3.4.2 Indexstrukturen Indexsequenzielle Speicherung (ISAM) ist eine Möglichkeit, Tupel relativ effizient zugreifbar anhand ihres Primärschlüssels zu machen Zusätzliche Indizes (sogenannte Sekundärindizes) unterstützen effizienten Zugriff anhand von (Gruppen von) Attributen Je nach Zugriffsart eignen sich verschiedene Indexstrukturen; diese greifen meist Ideen bereits bekannter Datenstrukturen auf 86

15 Rückblick: Binäre Suchbäume Binäre Suchbäume zur effizienten Suche im Hauptspeicher Balancierte binäre Suchbäume (z.b. AVL-Bäume und Rot-Schwarz-Bäume) Jeder Knoten hat bis zu zwei Kinder Suchen, Einfügen, Löschen in O(log 2 n) Wieso nicht unverändert geeignet als Indexstrukturen? 87

16 Rückblick: Binäre Suchbäume Indexstruktur ebenfalls in Seiten einer Datei gespeichert Knoten des binären Suchbaums könnten jeweils in unterschiedlichen Seiten liegen, so dass man z.b. zum Suchen O(log 2 n) Zugriffe auf den Sekundärspeicher (I/Os) bräuchte Gesucht ist ein Suchbaum, der bei einer Seitengröße B alle Operationen mit O(log B n) I/Os unterstützt und O(n/B) Seiten belegt Bemerkung: Betrachtet man die Zahl der Zugriffe auf den Sekundärspeicher, spricht man von I/O-Komplexität 88

17 B-Bäume B-Baum ist ein balancierter Suchbaum, bei dem sich die Gestalt der Knoten an der Seitengröße orientiert Knoten muss in eine Seite passen Knoten bestehen aus mehreren Werten als Schlüssel mehreren Verweisen auf Kindknoten mehreren Tupelnummern (oder gar den Tupeln selbst) 12 (2,1) 20 (7,2) 34 (9,3) 42 (2,3) 89

18 B-Bäume B-Bäume haben damit typischerweise einen höheren Verzweigungsgrad (fan out) als binäre Suchbäume Balancierung eines B-Baums wird mittels seiner Ordnung m und den Füllgraden der Knoten erreicht jeder Knoten außer der Wurzel enthält mindestens m Einträge jeder Knoten enthält höchstens 2*m Einträge jeder Knoten ist entweder Blattknoten ohne Kinder oder hat ein Kind mehr als Einträge alle Blattknoten liegen auf der gleichen Stufe 90

19 B-Bäume Beispiel: B-Baum der Ordnung m=

20 Suche in B-Bäumen Suche in B-Baum Beginne beim Wurzelknoten Falls der gesuchte Wert einem Schlüssel entspricht, gibt die zugehörige Tupelnummer zurück Verfolge ansonsten Verweis zu Kindknoten, der links vom kleinsten Schlüssel größer als gesuchter Wert steht rechts vom größten Schlüssel kleiner als gesuchter Wert steht Fahre mit Kindknoten analog fort Höhe des B-Baums ist in O(log m n) Suche auf B-Baum benötigt O(log m n) Zugriffe 92

21 Suche in B-Bäumen Beispiel: Suche nach dem Wert 22 im B-Baum Wert 22 nicht enthalten 93

22 Einfügen in B-Bäumen Einfügen in B-Baum Suche Blattknoten, in dem der einzufügende Wert stünde Enthält der Blattknoten mehr als m und weniger als 2*m Einträge, dann füge den Wert im Blattknoten ein Enthält der Blattknoten bereits genau 2*m Einträge, dann zerteile diesen in zwei Blattknoten mit je m Einträgen und reiche mittleres Element an Elternknoten hoch; dort wird analog fortgefahren Einfügen in B-Baum benötigt O(log m n) Zugriffe 94

23 Einfügen in B-Bäumen Beispiel: Einfügen des Werts

24 Einfügen in B-Bäumen Beispiel: Einfügen des Werts

25 Einfügen in B-Bäumen Beispiel: Einfügen des Werts Knoten voll 97

26 Einfügen in B-Bäumen Beispiel: Einfügen des Werts

27 Löschen in B-Bäumen Löschen im B-Baum Suche Knoten, in dem der gesuchte Wert steht Handelt es sich dabei um einen Blattknoten, so entferne den Eintrag und behandle evtl. Unterlauf des Knotens, falls Knoten danach weniger als m Einträge enthält Handelt es sich um einen inneren Knoten, so ersetze den Eintrag durch den Eintrag von einem Blattknoten mit nächstkleineren Schlüssel und behandle evtl. Unterlauf 99

28 Löschen in B-Bäumen Behandlung eines Unterlaufs (weniger als m Einträge) durch Ausgleichen oder Verschmelzen mit Nachbarknoten Hat der Nachbarknoten mehr als m Einträge, werden diese und die Einträge des untergelaufenen Knotens auf beide Knoten verteilt Hat der Nachbarknoten genau m Einträge, so werden die beiden Knoten verschmolzen und der mittlere Eintrag, wie beim Einfügen, zum Elternknoten weitergereicht Löschen im B-Baum benötigt O(log m n) Zugriffe 100

29 Löschen in B-Bäumen Beispiel: Löschen des Werts

30 Löschen in B-Bäumen Beispiel: Löschen des Werts in innerem Knoten, ersetze durch 20 aus Blattknoten 102

31 Löschen in B-Bäumen Beispiel: Löschen des Werts Unterlauf des Blattknotens 103

32 Löschen in B-Bäumen Beispiel: Löschen des Werts Ausgleichen mit Nachbarknoten 104

33 B-Bäume Im B-Baum enthalten sowohl innere Knoten als auch Blattknoten Tupelnummer (oder gar Tupel) B-Bäume unterstützen Suche nach einem bestimmten Wert effizient; die Suche nach allen Einträgen mit einem Schlüssel in einem bestimmten Wertebereich wird jedoch nicht effizient unterstützt, da eine Traversierung des entsprechenden Unterbaums notwendig wäre 105

34 B + -Bäume B + -Bäume sind eine verbesserte Variante der B-Bäume, die in der Praxis sehr häufig eingesetzt werden B + -Bäume sind hohle Bäume, d.h. Tupelnummern (oder Tupel selbst) befinden sich nur in den Blattknoten; die inneren Knoten enthalten nur Schlüssel und Verweise, sie dienen somit nur der Navigation B + -Bäume verketten die Blattknoten doppelt, wodurch Bereichsanfragen effizient ermöglicht werden 106

35 B + -Bäume Beispiel: B + -Baum der Ordnung m=

36 Bereichsanfragen in B + -Bäumen Bereichsanfrage in B + -Bäumen Suche nach linker Grenze des Wertebereichs Durchlaufe Blattknoten bis ein Schlüssel mit größerem Wert als rechte Grenze des Wertebereichs erreicht Bereichsanfrage benötigt O(log m n + r/m) Zugriffe, mit r als Anzahl der zurückgelieferten Einträge 108

37 Bereichsanfragen in B + -Bäumen Beispiel: Suche Einträge mit Schlüssen im Bereich [13,31]

38 Rückblick: Hashverfahren Hashtabellen zur effizienten Suche im Hauptspeicher Werte werden mittels Hashfunktion auf Buckets eines Arrays abgebildet Typische Hashfunktion: 2 h(k) = (k mod p) mod n mit Primzahl p und Kapazität n Kollisionen können z.b. 5 durch Verkettung behandelt werden 6 13 Suche, Einfügen, Löschen in O(1) (erwartet) p = 31 n = 7 110

39 Hashbasierte Indizes Hashbasierte Indizes in Datenbanksystemen Werte des Primärschlüssels oder anderer Attribute werden mittels einer Hashfunktion auf Buckets abgebildet Jedes Bucket entspricht initial einer Seite, in der die Tupel oder Tupelnummern gespeichert werden Kollisionen können wie im Hauptspeicher z.b. durch Verkettung von Seiten behandelt werden 111

40 Hashbasierte Indizes Hashbasierte Indizes unterstützen Suche, Einfügen und Löschen effizient, sofern vorab bekannt ist, wie viele Datensätze indiziert werden und die Zahl der Buckets entsprechend gewählt werden kann Verwendet man zu viele Buckets (Seiten) wird übermäßig viel Speicher verwendet; bei zu wenigen häufen sich die Kollisionen und die Effizienz nimmt ab Hashbasierte Indizes unterstützen nur die Suche nach einem bestimmten Wert, jedoch keine Bereichsanfragen 112

41 Indizes in RDBMSs RDBMSs (z.b. PostgreSQL und Oracle) implementieren verschiedene Arten von Indizes und erlauben dem Benutzer, die Art des Index sowie zusätzliche Parameter (z.b. den Füllgrad) anzugeben Beispiel: Hashbasierter Index in PostgreSQL 1 CREATE INDEX Studenten_MatrNr 2 ON Studenten USING hash(matrnr) Beispiel: Index (B + -Baum) über mehrere Attribute 1 CREATE INDEX Studenten_Name_Vorname 2 ON Studenten (Name, Vorname) 113

42 Zusammenfassung Datenorganisation der Tupel einer Relation als Haufen, sequenzielle Datei oder indexsequenzielle Datei Indexstrukturen zum effizienteren Zugriff auf Datensätze anhand Primärschlüssel oder anhand anderer Attribute B-Bäume als Indexstruktur auf Sekundärspeicher, die Wertanfragen effizient unterstützt B+-Bäume als Verbesserung, die auch Bereichsanfragen effizient unterstützt Hashbasierte Indizes als Indexstruktur, die Wertanfragen effizient unterstützen 114

43 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme Eine Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 7) [2] G. Saake, K.-U. Sattler und A. Heuer: Datenbanken - Implementierungstechniken, mitp Professional, 2011 (Kapitel 5) 115

Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank

Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank 8. Datenbanktuning Motivation Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank Beliebige SQL-Anfragen können auf den Daten ausgewertet

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.

Mehr

Baumbasierte Strukturen

Baumbasierte Strukturen Baumbasierte Strukturen Baumbasierte Struktur / Organisation als Binärbaum Haufendateien oder sortierte Dateien nützlich für statische Dateien Dateien organisiert als Binärbaum Effizientes Einfügen und

Mehr

Rückblick: Datenorganisation & Indexstrukturen

Rückblick: Datenorganisation & Indexstrukturen Rückblick: Datenorganisation & Indexstrukturen Datenorganisation der Tupel einer Relation als Haufen, sequenzielle Datei oder indexsequenzielle Datei Indexstrukturen zum effizienteren Zugriff auf Datensätze

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

Rückblick: Architektur und Hintergrundspeicher

Rückblick: Architektur und Hintergrundspeicher Rückblick: Architektur und Hintergrundspeicher Prototypische Architektur eines RDBMS Speicherhierarchie mit Zugriffslücke (10 5 ) zwischen Primär- und Sekundärspeicher (z.b. HDD) RAIDs zur Erhöhung der

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/

Mehr

Organisationsformen der Speicherstrukturen

Organisationsformen der Speicherstrukturen Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

Datenbanksysteme SS 2013

Datenbanksysteme SS 2013 Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms

Mehr

Indexe in Dateien. Thomas Behr. 19.November c 2015 FernUniversität in Hagen

Indexe in Dateien. Thomas Behr. 19.November c 2015 FernUniversität in Hagen Indexe in Dateien Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 19.November 2015 c 2015 FernUniversität in Hagen Indexe ermöglichen schnellen Zugriff

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen

Mehr

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 15. Jan Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 15. Jan Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10 Universität Augsburg, Institut für Informatik WS 009/010 Prof. Dr. W. Kießling 15. Jan. 010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10 Aufgabe 1: B-Bäume Datenbanksysteme I a) Abschätzen der Höhe

Mehr

5.5 Prioritätswarteschlangen

5.5 Prioritätswarteschlangen 5.5 Prioritätswarteschlangen LIFO- und FIFO-Warteschlangen entfernen Werte aus der Warteschlange in Abhängigkeit davon, wann sie in diese eingefügt wurden Prioritätswartschlangen interpretieren die Werte

Mehr

Datenbanken. Interne Datenorganisation:

Datenbanken. Interne Datenorganisation: Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 9 Übung zur Vorlesung Grundlagen: Datenbanken im WS4/5 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws45/grundlagen/

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden 5.6.2 AVL-Bäume Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden AVL-Bäume, benannt nach ihren Erfindern G. M. Adelson- Velskii und E. M. Landis,

Mehr

Datenbanksysteme II Indexstrukturen Felix Naumann

Datenbanksysteme II Indexstrukturen Felix Naumann Datenbanksysteme II Indexstrukturen (Kapitel 13) 30.10.2009 Felix Naumann Motivation: Platzierung der Tupel in Blöcke 2 Naiv: Beliebig verteilen Aber: SELECT * FROM R Jeden Block untersuchen (Header-Datei)

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1 Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Anwendungsbeispiel MinHeap

Anwendungsbeispiel MinHeap Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n

Mehr

Dynamische Datenstrukturen

Dynamische Datenstrukturen Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten

Mehr

Datenstrukturen und Algorithmen. Vorlesung 5

Datenstrukturen und Algorithmen. Vorlesung 5 Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bäume, Suchbäume und Hash-Tabellen Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen

Mehr

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen 5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume

Mehr

ContainerDatenstrukturen. Große Übung 4

ContainerDatenstrukturen. Große Übung 4 ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne

Mehr

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus 2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus {0, 1,..., B 1} d in Zeit O(d(n + B)) sortiert werden, indem sie zuerst gemäß dem letzten

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016

Mehr

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1} 105 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente

Mehr

WINTERSEMESTER 2006/2007. Mehrdimensionale Bäume

WINTERSEMESTER 2006/2007. Mehrdimensionale Bäume ALGORITHMISCHE ANWENDUNGEN WINTERSEMESTER 2006/2007 Team: B_blau_Ala0607 Wilhelm Faber 11032935 Ioannis Chouklis 11042438 1 Inhaltsverzeichnis Inhaltsverzeichnis...2 1. Der k-d Baum...3 1.1. Inhomogene

Mehr

Informatik II: Algorithmen und Datenstrukturen SS 2015

Informatik II: Algorithmen und Datenstrukturen SS 2015 Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik

Mehr

5. Relationale Entwurfstheorie

5. Relationale Entwurfstheorie 5 Relationale Entwurfstheorie Motivation Konzeptuelles Modell (ERM) kann in ein relationales Schema mit möglichst wenigen Relationen übersetzt werden (vgl Kapitel 4) Welche Eigenschaften hat ein gutes

Mehr

Hintergrundspeicher ISAM. Hashing

Hintergrundspeicher ISAM. Hashing Physische Datenorganisation Themenbereiche: h Speicherhierarchie Hintergrundspeicher Speicherstrukturen ISAM B-BäumeBäume Hashing Clustering Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher

Mehr

Aufgabe 7. Sei die Schema R(A, B, C, D, E) mit folgenden fkt. Abh.:

Aufgabe 7. Sei die Schema R(A, B, C, D, E) mit folgenden fkt. Abh.: Übungen Aufgabe 6 In der folgenden Relation speichern wir die Betreuer für jeden Studenten. Ein Student kann aber gleichzeitig mehrere Hauptfächer studieren (um am Ende mehrere Diplomen zu kriegen, z.b.

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Prioritätswarteschlangen Maike Buchin 18. und 23.5.2017 Prioritätswarteschlange Häufiges Szenario: dynamische Menge von Objekten mit Prioritäten, z.b. Aufgaben, Prozesse, in der

Mehr

6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen

6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen 6. Formaler Datenbankentwurf 6.4. Minimale Überdeckung Seite 1 6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen Seien F Mengen von funktionalen Abhängigkeiten. Wir suchen eine minimale Überdeckung

Mehr

Physische Datenorganisation

Physische Datenorganisation Vorlesung Datenbanksysteme vom 17.10.2016 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur eines DBMS Wichtigste

Mehr

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen von

Mehr

Hash-Verfahren. Einführung

Hash-Verfahren. Einführung Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

Hash-Verfahren. Prof. Dr. T. Kudraß 1

Hash-Verfahren. Prof. Dr. T. Kudraß 1 Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Seite 1 Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Bild-1 Dargestellt ist die Speicherung der Personentabelle als B+-Baum anhand der Personen-Nummer (PersNr). Die Blattebene

Mehr

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik Speichern von Daten Prof. Dr. Katharina Morik Unterschiede von DBMS und files! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr

Mehr

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Bemerkung: Die Wahl von a und b hängt wesentlich von der Anwendung

Mehr

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) .6 Ausgeglichene Mehrweg-Suchbäume Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) Methoden: lokale Transformationen (AVL-Baum) Stochastische

Mehr

Physische Datenorganisation

Physische Datenorganisation Vorlesung Datenbanksysteme vom 19.10.2015 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur

Mehr

Vorlesung Datenbanksysteme vom Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering)

Vorlesung Datenbanksysteme vom Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) Vorlesung Datenbanksysteme vom 22.10.2008 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) beste b t Zugriffsmethode

Mehr

Bisher haben wir ein RDBMS als Black Box betrachtet und gelernt, wie man es effektiv einsetzen kann

Bisher haben wir ein RDBMS als Black Box betrachtet und gelernt, wie man es effektiv einsetzen kann 3. Datenbanksysteme Einführung Bisher haben wir ein RDBMS als Black Box betrachtet und gelernt, wie man es effektiv einsetzen kann Nun öffnen wir diese Black Box und betrachten wichtige Implementierungsaspekte

Mehr

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 8 Indizes und Suchbäume Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 15 Seite 1 von 15 Agenda 1 Einleitung 2 Binäre Suchbäume

Mehr

Baum-Indexverfahren. Einführung

Baum-Indexverfahren. Einführung Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1 Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: Binäre Suchbäume (a, b)-bäume (Folie 173, Seite 56 im Skript) Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: 1 Jeder Knoten hat höchstens b Kinder. 2 Jeder

Mehr

9. Sicherheitsaspekte

9. Sicherheitsaspekte 9. Sicherheitsaspekte Motivation Datenbanken enthalten häufig sensible Daten (z.b. personenbezogene oder unternehmenskritische) Vielzahl verschiedener Benutzer hat Zugriff (z.b. Anwendungen, Mitarbeiter,

Mehr

Algorithmen und Datenstrukturen II: Hashverfahren

Algorithmen und Datenstrukturen II: Hashverfahren Algorithmen und Datenstrukturen II: Hashverfahren Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 16:21 Algorithmen und Datenstrukturen II: Hashverfahren 1/28 Hashverfahren bisher jeder Datensatz durch

Mehr

Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik

Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik 5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen

Mehr

Satz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n).

Satz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n). 2.6 Vergleichsbasierte Sortierverfahren Alle bisher betrachteten Sortierverfahren sind vergleichsbasiert, d.h. sie greifen auf Schlüssel k, k (außer in Zuweisungen) nur in Vergleichsoperationen der Form

Mehr

7.3 Baum-Indexstrukturen

7.3 Baum-Indexstrukturen 7. Physischer Datenbankentwurf 7.3. Baum-Indexstrukturen Seite 1 7.3 Baum-Indexstrukturen B-Baum der Ordnung (m, l); m > 2, l > 1. Die Wurzel ist entweder ein Blatt oder hat mindestens zwei direkte Nachfolger.

Mehr

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen. Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten

Mehr

3. Relationales Modell & Algebra

3. Relationales Modell & Algebra 3. Relationales Modell & Algebra Inhalt 3.1 Relationales Modell Wie können wir Daten mathematisch formal darstellen? 3.2 Übersetzung eines konzeptuellen Modells Wie können wir ein konzeptuelles Modell

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Gefädelte

Mehr

Hashverfahren. (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun. Letzte Änderung: :33. Hashverfahren 1/29

Hashverfahren. (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun. Letzte Änderung: :33. Hashverfahren 1/29 Hashverfahren (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun Letzte Änderung: 19.03.2018 07:33 Hashverfahren 1/29 Hashverfahren bisher jeder Datensatz durch eindeutigen Schlüssel k K gekennzeichnet

Mehr

Algorithmen und Datenstrukturen II: Hashverfahren

Algorithmen und Datenstrukturen II: Hashverfahren Algorithmen und Datenstrukturen II: Hashverfahren Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 16:21 Inhaltsverzeichnis Hashverfahren....................................

Mehr

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure 7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht

Mehr

INDEXDATEIEN ( INDEXED FILES )

INDEXDATEIEN ( INDEXED FILES ) Indexdateien 1 INDEXDATEIEN ( INDEXED FILES ) ISAM (Indexed Sequential Access Method) Sätze werden nach ihren Schlüsselwerten sortiert. Schlüsselwerte sind immer vergleichbar und daher auch sortierbar.

Mehr

Physische Datenorganisation

Physische Datenorganisation Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Dr. Thomas Gottron Wintersemester 2012/13 Lernziele Speicherhierarchie ISAM B-Bäume, B + -Bäume,... Hashing Mehrdimensionalen Datenstrukturen

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

DB-Zugriffsverfahren: Übersicht B-Bäume B*-Bäume Übersicht

DB-Zugriffsverfahren: Übersicht B-Bäume B*-Bäume Übersicht DB-Zugriffsverfahren: Übersicht B*-Bäume N. Ritter, HMS Übersicht Zugriffsverfahren über Schlüssel Sequentielle Speicherungsstrukturen Baumsstrukturen Gestreute Speicherungsstrukturen Sequentielle Listen

Mehr

Suchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS

Suchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 309 Allgemeines Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 310

Mehr

Indexstrukturen in Datenbanken

Indexstrukturen in Datenbanken für Zeichendaten und Texte sowie mehrdimensionale Dateiorganisation und Zugriffspfade 3. Juli 2014 Inhaltsverzeichnis 1 Einleitung 2 Präfix B+-Baum 3 Tries 4 k-dimensionale Bäume 5 Grid-File 6 mehrdimensionales

Mehr

Datenbanken 2. Indexstrukturen. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

Datenbanken 2. Indexstrukturen. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Datenbanken 2 Indexstrukturen Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at WS 2018/19 Version 20. November 2018 Augsten (Univ.

Mehr

B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write

B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write Thomas Maier Proseminar: Ein- / Ausgabe Stand der Wissenschaft Seite 1 von 13 Gliederung 1. Hashtabelle 3 2.B-Baum 3 2.1 Begriffserklärung 3 2.2

Mehr

Datenbanksysteme II Indexstrukturen Felix Naumann

Datenbanksysteme II Indexstrukturen Felix Naumann Datenbanksysteme II Indexstrukturen (Kapitel 13) 5.5.2008 Felix Naumann Klausur 2 Mittwoch, 23.7. 9 13 Uhr 4 Stunden Umfang auf 1,5 Stunden ausgelegt Keine Hilfsmittel Motivation 3 Platzierung der Tupel

Mehr

Synchronisationsmodul Informatik Teil-Modul Datenbanken

Synchronisationsmodul Informatik Teil-Modul Datenbanken Synchronisationsmodul Informatik Teil-Modul Datenbanken Kapitel 4: Interne Datenorganisation Kapitel 4-1 Interne Datenorganisation Inhalte des Kapitels Aufbau eines Speichermediums, Pages und Pufferverwaltung

Mehr

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl

Mehr

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken Vertiefung Prüfung

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

Datenbanken 1. Kapitel 4: Interne Datenorganisation 4-1. Datenbanken 1 (Bachelor)

Datenbanken 1. Kapitel 4: Interne Datenorganisation 4-1. Datenbanken 1 (Bachelor) Datenbanken 1 Kapitel 4: Interne Datenorganisation 4-1 Interne Datenorganisation Inhalte des Kapitels Aufbau eines Speichermediums, Pages und Pufferverwaltung Datenorganisation Index und B-Baum Hash-Indexe

Mehr

Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens

Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens Beweis: Die obere Schranke ist klar, da ein Binärbaum der Höhe h höchstens h 1 2 j = 2 h 1 j=0 interne Knoten enthalten kann. EADS 86/600 Beweis: Induktionsanfang: 1 ein AVL-Baum der Höhe h = 1 enthält

Mehr

Physische Datenorganisat

Physische Datenorganisat Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher

Mehr

Physische Datenorganisat

Physische Datenorganisat Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Überblick: Speicherhierarchie 1 8 Byte Compiler Register 8 128 Byte Cache Cache-Controller

Mehr

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1 Teil 1: Suchen Problemstellung Elementare Suchverfahren Hashverfahren Idee Hashfunktion Hashverfahren mit Verkettung Offene Hashverfahren Dynamische Hashverfahren Binäre Suchbäume Ausgeglichene Bäume B-Bäume

Mehr