Effizienz: Indexstrukturen

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Der R-Baum Richard Göbel.
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Der k-d-Baum Richard Göbel.
Constraint Satisfaction Problems
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Claudio Moraga; Gisbert Dittrich
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Algorithmen und Datenstrukturen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
<d,a,s, ,i,s,t, ,e,i,n,e, ,L,i,s,t,e>
Balancierte Bäume Effizienz der Wörterbuchoperationen auf Bäumen hängt direkt von der Baumhöhe ab. Baum mit n Knoten: Mindesthöhe: |_log2 n_|, maximale.
Löschen in B-Bäumen Die B-Baum-Eigenschaft muss wieder hergestellt werden, wenn die Anzahl der Elemente in einem Knoten kleiner als k wird. Durch Ausgleich.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Indexed Sequential Access Method
Spielbäume Richard Göbel.
FH-Hof Eine räumlich-zeitliche Suchmaschine für Sicherheitsanwendungen Richard Göbel.
Sortieren mit Binären Bäumen
Suchbäume Richard Göbel.
Sortierverfahren Richard Göbel.
Listen Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Indirekte Adressierung
FH-Hof Grundlagen mehrdimensionaler Suchstrukturen Richard Göbel.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Der R-Baum Richard Göbel.
Motivation Richard Göbel.
FH-Hof Analyse des R-Baums Richard Göbel. FH-Hof Ansatz Annahme: Die Bearbeitungszeit für eine Anfrage wird dominiert von der Ladezeit der Knoten von.
Baumstrukturen Richard Göbel.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Halbzeit: Kurze Wiederholung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Das Maßproblem von Klee
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen 09 - Weitere Sortierverfahren Heapsort-Nachtrag Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (07 - Skiplisten) Prof. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Algorithmische Geometrie
Vortrag: Ingo Gensch, Mathias Reich am:
FH-Hof Analyse des R-Baums - Teil 1 Richard Göbel.
Rekursion Richard Göbel.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
2. Die rekursive Datenstruktur Baum 2
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Einführung in die Programmierung
Diskrete Mathematik II
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Übung Datenbanksysteme II Index- strukturen
Graphen und Bäume.
Das Traveling Salesman Problem (TSP)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Binärbäume.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
AVL-Bäume.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

Effizienz: Indexstrukturen Richard Göbel

Indexstrukturen - Ideen Ohne Indexstrukturen wächst der Suchaufwand mindestens linear mit der Anzahl der Einträge Der Suchaufwand lässt sich zum Beispiel beschleunigen durch: binäres Suchen in sortierten Listen Hash-Verfahren Die Indexstruktur muss die Verwaltung des Sekundärspeichers berücksichtigen

Indexstrukturen 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 65536 Byte. Der Aufwand für den Zugriff auf einen Block ist um mehrere Größenordnungen höher als Operationen im Hauptspeicher! Die Indexstrukturen wird so gewählt, dass ein Block vollständig mit Werten und Referenzen auf Nachfolgeknoten gefüllt wird.

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

B-Baum - Beispiel mit Verzweigungsgrad 3

B-Baum - Suche nach Wert 13

B-Baum - Suche Werte zwischen 12 und 26 Verkettung zwischen den einzelnen Blättern für eine Bereichssuche sinnvoll!

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

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 . . .

B-Baum für Bereichssuche

asymptotischer Aufwand B-Baum - Diskussion asymptotischer Aufwand Finden des ersten Eintrags: O(log(n)) Lesen aller Ergebnisse (Blätter verkettet): O(m) Gesamtaufwand: O(log(n) + m) Für sehr große Datenbanken ist der Aufwand damit weitgehend unabhängig von der Größe der Datenbank

Suchbedingungen für mehrere Spalten Allgemeine Form der Anfragen lower1  column1  upper1 AND lower2  column2  upper1 . . . AND lowerd  columnd  upperd Ziel: Bearbeitungszeit einer Anfrage ist nur in geringem Maß abhängig von der Anzahl der gespeicherten Einträge Bearbeitungszeit einer Anfrage ist linear abhängig von der Anzahl der Suchergebnisse

Erweiterungen des B-Baums Ansatz: Abbildung mehrerer Werte auf einen einzelnen Wert Mögliche Operationen für die Kombination: Konkatenation Bit-Interleaving Auswirkung auf die Effizienz von Suchanfragen?

Analyse: Suchen mit zwei Spalten

Analyse: Beispiel mit 2 Spalten 2  a  4  2  b  3

Analyse - Werte der Spalten konkatenieren Werte der betrachteten Spalten werden „zusammengehängt“ Die neuen Werte werden mit Hilfe der lexikographischen Ordnung verglichen. . . .

Analyse - Bit-Interleaving 1 Werte mit den Bitfolgen 'x1x2 . . . xn‘ und 'y1y2 . . . yn' werden zu dem Wert 'x1y1x2y2 . . . xnyn‘ kombiniert Die erzeugten Bitfolgen lassen sich danach direkt vergleichen . . .

Analyse - Bit-Interleaving 2

Erweiterungen des B-Baums - Diskussion Erweiterungen unterstützen Punktsuchen mit logarithmischen Zeitaufwand Für Bereichssuchen ist der Ansatz des Bit-Interleaving günstiger als die Konkatenation Im schlechtesten Fall wächst der Suchaufwand für beide Verfahren linear mit der Anzahl der Einträge