Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Der B-Baum Richard Göbel
2
Wahl des Verzweigungsgrad
Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem Knoten definieren v Wertebereiche Zeitaufwand der Operationen ist auch hier abhängig von der Tiefe eines Baumes Welcher Verzweigungsgrad ist günstig?
3
Anzahl Einträge und Tiefe eines Baumes
4
Maximale Anzahl der Vergleiche
5
Verwaltung großer Datenmengen in Datenbanken
Tabelle Student Speicherung von Daten in Tabellen Suchanfragen mit Bedingungen für Spalten Unterstützung von Anfragen mit Indexstrukturen Speicherung aller Daten auf Festplatten dauerhafte (persistente) Speicherung Verwaltung sehr größer Datenmengen Matrikel Name Geburtsdatum 1001 Hans Bauer 1002 Peter Becker 1003 Inge Gerber 1004 Jürgen Hecht 1005 Petra Huber 1006 Dieter Meier 1007 Paula Müller 1008 Klaus Richter 1009 Maria Riese 1010 Anne Schmidt 1011 Franz Wächter 1012 Georg Wolf . . .
6
Verwaltung von Bäumen auf einer Festplatte
Für eine Festplatte wird immer mindestens ein Block gelesen und geschrieben. Mögliche Blockgrößen sind zum Beispiel zwischen 512 und Byte. Der Aufwand für den Zugriff auf einen Block ist um mehrere Größenordnungen höher als Operationen im Hauptspeicher! Der Verzweigungsgrad wird so gewählt, dass ein Block vollständig mit Werten und Referenzen auf Nachfolgeknoten gefüllt wird.
7
Effiziente Algorithmen für:
B-Baum - Konzept Baumstruktur mit: gleicher Länge aller Pfade von der Wurzel zu den Blättern (Baum ist „perfekt“ balanciert) Abbildung von Knoten auf Blöcke des Sekundärspeichers hohem Verzweigungsgrad (Kapazität der Blöcke) Effiziente Algorithmen für: die Suche das Einfügen das Löschen von Einträgen
8
B-Baum - Beispiel mit Verzweigungsgrad 3
9
B-Baum - Suche nach Wert 13
0) Fragestellung 1) B-Baum 2) Erweiterungen 3) R-Baum 4) Aktueller Stand
10
B-Baum - Suche Werte zwischen 12 und 26
0) Fragestellung 1) B-Baum 2) Erweiterungen 3) R-Baum 4) Aktueller Stand Verkettung zwischen den einzelnen Blättern für eine Bereichssuche sinnvoll!
11
B-Baum - Einfügen von Einträgen
Suche das Blatt, in das der neue Wert eingefügt werden muss Ausreichend Speicherplatz in dem Knoten vorhanden: JA: Wert einfügen NEIN: Blattknoten (und bei Bedarf Elternknoten) teilen Referenzen zwischen dem neuen Wert und den zugehörigen Einträgen herstellen
12
B-Baum - Löschen von Einträgen
Suche das Blatt, aus dem der Wert gelöscht werden muss Knoten noch ausreichend gefüllt: JA: Wert löschen NEIN: Inhalt des Blattknoten auf andere Blätter verteilen Referenz des Blattknoten in Vaterknoten löschen Elternknoten noch ausreichend gefüllt . . .
13
B-Baum für Bereichssuche
14
asymptotischer Aufwand
B-Baum - Diskussion asymptotischer Aufwand Finden des ersten Eintrags: O(log(n)) Lesen aller Ergebnisse (Blätter verkettet): O(n) Gesamtaufwand: O(log(n) + m) Für sehr große Datenbanken ist der Aufwand damit weitgehend unabhängig von der Größe der Datenbank
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.