Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter...

51
Grid Files Martin Haseneyer Folie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen Zugriffspfaden Seminar im Sommersemester 2005 Dozent: Prof. Dr. Klaus Küspert Betreuer: Dipl.-Inf. David Wiese

Transcript of Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter...

Page 1: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 1/ 51 – 09.06.2005 Siegmundsburg

Grid FilesDaten hinter Gittern?

Eine dynamische Datenstruktur mit mehrdimensionalen Zugriffspfaden

Seminar im Sommersemester 2005Dozent: Prof. Dr. Klaus KüspertBetreuer: Dipl.-Inf. David Wiese

Page 2: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 2/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

Ein Einstieg in das Thema

Data Warehousing: oft… riesige Datenmengen (GB und mehr) hohe Aggregation hohe Selektivität (gesucht oft „nur“ im

Bereich MB/KB) d.h., wenn wir einen Table Scan auf die

Daten laufen lassen, haben wir genug Zeit, um richtig viel Kaffee zu kochen

Eine effiziente Datenstruktur muss hierbei helfen.

Page 3: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 3/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

1. Eigenschaften

oder: kleine Wunschlistean eine Datenstruktur

Page 4: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 4/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

1. Eigenschaften (I): Prinzip der zwei Zugriffe

Prinzip der zwei Plattenzugriffe für exakte Anfragen (point queries) bei Anfragen nach Ergebnismengen: erster

Datensatz nach zwei Zugriffen egal, wie die Verteilung der Datensätze

aussieht egal, wieviele Operationen vorher

durchgeführt wurden egal, wieviele Datensätze momentan

gespeichert sind

Page 5: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 5/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

1. Eigenschaften (II): Lokalitätsprinzip

Benachbarte Punkte im Datenraum sollen auch physisch benachbart gespeichert werden (möglichst ~) einfacher Zugriff auf „ähnliche“ Daten auf

der Platte Nearest-Neighbor-Abfragen

Diese beiden Prinzipien werden selten erfolgreich umgesetzt.

Page 6: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 6/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

1. Eigenschaften (III): Effizienzgesichtspunkte

Beim Teilen oder Verschmelzen von Zellen sollen nur zwei Speichereinheiten („Buckets“) betroffen sein

Durchschnittliche Speicherplatz-Ausnutzung (der „Buckets“) soll über einer „vernünftigen“ Grenze liegen (in der Regel bei ca. 70%)

Page 7: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 7/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

1. Eigenschaften (IV): Dynamik, Symmetrie

dynamische Anpassung beim Einfügen und Löschen

Symmetrische Behandlung aller Dimensionen des Datenraums alle Attribute wie Primärschlüssel

behandelt, es gibt keine Hierarchie Multikey-Access: es kann nicht „nur

einen geben“ ermöglicht partial-match-Anfragen Mehrdimensionalität

Page 8: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 8/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

2. Aufbau

oder: stecken Sie Array A in Liste E,um eine Datenstruktur zu erhalten

Page 9: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 9/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

2. Aufbau (I): Modellierung der Datensätze

Datensätze als Datenpunkte im Raum auf jeder Dimension ein Punkt alle Dimensionspunkte: „Ort“ des

Datensatzes im Datenraum

Page 10: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 10/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

2. Aufbau (II): Übersicht über Grid File-Strukturen

Buckets zur Speicherung der Daten Grid Directory, bestehend aus:

Skalenvektoren Grid-Directory mit Grid-Zellen (teilweise zu

Regionen zusammengefasst)

Page 11: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 11/ 51 – 09.06.2005 Siegmundsburg

2.1. Buckets (Speicherseiten)

Speichereinheit für Datensätze Menge von Datensätzen (oder besser:

Zeigern auf Datensätze), die zusammen auf einer physikalischen Einheit gespeichert werden

z.B. bei b = 3: Es passen bis zu drei Datenpointer in einen Bucket, sonst „läuft er über“

typischerweise auf Externspeicher

Page 12: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 12/ 51 – 09.06.2005 Siegmundsburg

2.2. Grid-Directory (I): Skalenvektoren

„Verwaltung der Verwaltung“ für jede Dimension von D ein Vektor

lineare Ordnung entlang der Dimension in Intervalle unterteilt skalieren Dimension auf Grid-Zellen

typischerweise im Hauptspeicher (Prinzip der zwei Plattenzugriffe!)

Page 13: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 13/ 51 – 09.06.2005 Siegmundsburg

2.2. Grid-Directory (II): Grid

Such- und Verwaltungseinheit typischerweise auf Externspeicher besteht aus:

Grid-Zellen: Hyperquader, die den Datenraum ausfüllen (konvex, paarweise disjunkt)

Grid-Regionen: Zusammenfassung von Grid-Zellen, die genau einem Bucket zugeordnet sind (konvex, paarweise disjunkt)

Page 14: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 14/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

2. (VI) Aufbau: Regionen, Buddy-System

Buddy- oder Zwillingszellen: Zellen, die aus der Teilung einer

vorhergehenden Zelle entstehen Teilmenge der Nachbarzellen

Page 15: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 15/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

2. (VII) Aufbau: Das kommt davon…

Page 16: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 16/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

2. Aufbau (VI): Beziehungen zwischen Komponenten

Beziehung Region – Zelle: 1:n Beziehung Region – Bucket: 1:1

Page 17: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 17/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

Buckets

Grid Directory

2. Aufbau (VII): Zusammenfassung

Grid File

Page 18: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 18/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3. Dynamisches Verhalten

oder: Pressen, da geht noch was!

Page 19: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 19/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3. Dynamisches Verhalten (I): Überblick

Was soll möglichst (kosten)günstig gehen? Datensätze einfügen Datensätze suchen Datensätze wieder löschen

dazu brauchen wir als Grundlage: Teilen von Grid-Zellen Verschmelzen von Grid-Zellen

…möglichst ohne sichtbare Pausen aufgrund „plötzlicher“ interner Verwaltungsroutinen

Page 20: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 20/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3.1. Suchen (I): Beispiel

Finde Datensatz (Q;68) SuchvorgangIntervallgrenzen

IntervallnummernDaten(raum)

Page 21: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 21/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3.1. Suchen (II): Algorithmus

bestimme für jede Dimension, in welchem Intervall (der Dimension) der gesuchte Wert ist

bestimme aus Intervallen die gesuchte Grid-Zelle

lade Directory-Teil, der Zelle(n) enthält lese Verweis auf Bucket(s) aus Grid-

Zelle(n) lade Bucket(s) durchsuche die gefundenen Werte liefere Ergebnis zurück

1. Plattenzugriff

2. Plattenzugriff

Page 22: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 22/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3.2. Einfügen (I): Beispiel

Beispiel für: Datenraum D (1..100; A..Z) Bucketgröße b = 3

Bucket-Überlauf!

Page 23: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 23/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3.2. Einfügen (II): Algorithmus

Schritt 1: Zuordnung zur Grid-Zelle finde Bucket, in den der Wert

gespeichert werden soll wie Suche…

speichere Wert in Bucket

Page 24: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 24/ 51 – 09.06.2005 Siegmundsburg

3.2. Einfügen (III): Algorithmus (Fortsetzung)

Schritt 2: Läuft der Bucket über? Ja: dann erstelle neuen, leeren Bucket

Wird „alter“ Bucket mehrfach referenziert? Ja (Fall A): dann…

Verbiege Zeiger der beiden Zellen auf die beiden Buckets

Verteile die Werte aus Bucket (und den neuen) gemäß der Zellgrenzen auf die beiden Buckets

Nein (Fall B): dann… Wähle Dimension und Trennwert teile die Zellen in der Dimension

entlang des Wertes; geteilte Zellen zeigen auf denselben Bucket

Auslöserzelle: Fall A Nein: füge den Wert in den Bucket ein

Fall B

Fall A

Page 25: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 25/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3.3. Löschen (I): Beispiel Beispiel für:

Datenraum D (1..100; A..Z) Bucketgröße b = 3

Bucket-Unterlauf!

Page 26: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 26/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

3.3. Löschen (II): Algorithmus

finde Wert in Bucket lösche Wert bestimme Merging-Kandidaten würde verschmolzener Bucket über

Auslastungs-Schwelle liegen? ja: Buckets verschmelzen, Zeiger

umbiegen ggf. Test ob man Intervall auf der

Dimension verschmelzen kann korrespondierende Zellen der Teilintervalle

verweisen auf jeweils dieselben Buckets? Ja: Intervallverschmelzung

Page 27: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 27/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung

oder: Wie kriegen wir das jetzt hin?

Page 28: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 28/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung (I)

Zwei Fragen der Implementierung: Wie läßt sich das Grid Directory möglichst

„gut“ abspeichern? Wo wird getrennt, wenn Zellen oder

Dimensionen geteilt werden sollen?

Page 29: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 29/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung (II): Speichern des GD (I)

Als Array?+ direkter, wahlfreier Zugriff auf die

Elemente möglich (random access)- hoher Aufwand beim Teilen und

Verschmelzen „in der Mitte“ (umkopieren)

Page 30: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 30/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung (III): Speichern des GD (II)

Als verkettete Liste?+ Teilen/Verschmelzen von Zellen einfach,

nur Umbiegen der Zeiger und Einfügen von Elementen

- kein direkter Zugriff auf Elemente, nur Durchlaufen der Liste möglich

Page 31: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 31/ 51 – 09.06.2005 Siegmundsburg

4. Implementierung (IV): Speichern des GD (III)

Mögliche Methode: Array-Größe über kleinstes Intervall bestimmen falls Min-Intervall geteilt wird: Array-Größe

verdoppeln genug Raum um Teilungen an anderer

Stelle zu kompensieren ggf. hoher Speicherplatzbedarf (besonders

bei schiefen Verteilungen) viele kleine Teilungen zu einer großen

Teilung zusammengefaßt

Ist die Einfüge-/Lösch-Laufzeit für Data Warehousing überhaupt wichtig?

Page 32: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 32/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung (V): Wo teilen? (I)

In welcher Dimension wird geteilt? Wo genau wird dann geteilt? Müssen wir eine Dimension teilen? Oder reicht es, einen Bucket

aufzusplitten? gerade bei großen Directories und

schiefen Verteilungen zeigen große Regionen auf ein und denselben Bucket

Page 33: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 33/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung (VI): Wo teilen? (II)

Aber bei Teilung viele Möglichkeiten, eine Dimension auszuwählen: zyklisch durchlaufend Bevorzugung von Attributen genauere

Auflösung der Ergebnisse (z.B. werden unterschiedliche Granulate bei Abfragen erwartet)

… Ein bestimmtes Verfahren ist nicht

vorgesehen. Vielfältige Optimierungsmöglichkeiten für

den Administrator Performance, Performance, Performance!

Page 34: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 34/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

4. Implementierung (VII): Wo teilen? (III)

Wo teilt man Zellen/Intervalle? Intervall halbieren Mittelwert der Intervallwerte Nach Einheiten (z.B. Zeitachsen-Split

immer zur ganzen Woche usw.) …

Auch hier kein bestimmtes Verfahren vorgesehen.

Optimierungspotenzial begrenzt; aber: ggf. Performance-Einbußen bei ungünstiger Verteilung der Daten, z.B. A1: a, d, d, d, f, s, v A2: 0, 5, 5, 5, 7, 9

Page 35: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 35/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

5. Relevanz für Data Warehousing

oder: Wozu erzählt uns der Onkel das überhaupt?

Page 36: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 36/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

5. Relevanz für Data Warehousing (I)

Anfangsszenario: zig GB Daten, teilweise hohe Selektivität wichtig ist Geschwindigkeit der Verarbeitung

Vorgehen: oft „BULK INSERT“, dann nur „SELECT“-Abfragen Prinzip der zwei Zugriffe ideal

ermöglicht einfache und schnelle Mehr-Komponenten-Anfragen über verschiedene Dimensionen („Scheiben schneiden“)

Bereichanfragen (partial range), partial match-Anfragen problemlos möglich

Page 37: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 37/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

5. Relevanz für Data Warehousing (II)

Page 38: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 38/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

6. Erweiterungen

oder: Warum denn nicht gleich so?

Page 39: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 39/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

6.1. Grid Grids, hierarchische Grid Files, …

viele Namen für ein Prinzip: ein kleines Grid verwaltet das/die großen Grids

Persistent Grid File

Hierarchical Grid File

Page 40: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 40/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

6.2. Interpolationsbasiertes Grid File (I): Motivation

Dimensionsverfeinerung: Grid benötigt eigentlich nur eine neue Zelle es wird aber die ganze Dimension geteilt Buckets bleiben, aber Directory wächst

besonders bei schiefen Verteilungen: viele leere Zellen

Page 41: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 41/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

6.2. Interpolationsbasiertes Grid File (II): Hintergrund

Zellen unterschiedlicher Größe (statt „Scheiben schneiden“)

nur ein Directory-Eintrag pro BucketIdee: zerteile Datenraum in Hierarchie jede Zelle angesprochen über Zell- und

Ebenennummer Teilung in der Zellmitte Binärzellen

Page 42: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 42/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

6.2. Interpolationsbasiertes Grid-File (III): Aufteilung

Page 43: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 43/ 51 – 09.06.2005 Siegmundsburg

6.2. Interpolationsbasiertes Grid-File (IV): Aufteilung

mehrere Hierarchieebenen verwendet: Binärzellen verschiedener Größe bessere Anpassung an ungleichförmige

Datenverteilung im Datenraum Grid Directory als Baum

1,23,3

7,4 15,4

Page 44: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 44/ 51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

7. Fazit

oder: Das Buffet wird in O(n) eröffnet.

Page 45: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 45/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

7. Fazit (I): Vergleich – Überlappungsverfahren

Verfahren mit überlappenden Regionen (z.B. R-Baum): Suchen ineffizient Grid File: sehr

effizient (Prinzip der zwei Plattenzugriffe) gute Speicherausnutzung Grid File:

Buckets gut, Grid Directory weniger gut geringer Wartungsaufwand Grid File:

geringer Wartungsaufwand Grid Files sind bei Suche schneller,

brauchen aber ggf. mehr Speicher

Page 46: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 46/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

7. Fazit (II): Vergleich – Objektaufteilungsverfahren

Verfahren, die Objekte aufteilen (z.B. R+-Baum, Zellbaum) und redundant in mehreren Zellen speichern: Suche effizient Grid File: auch effizient schlechte Speicherplatzausnutzung

Grid File: Buckets relativ gut, Grid Directory weniger gut

Probleme bei der Wartung Grid File: relativ geringer Wartungsaufwand

Grid Files sind wartungsfreundlicher

Page 47: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 47/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

7. Fazit (III): Prinzipien

Prinzip der 2 Plattenzugriffe gewahrt Lokalitätsprinzip auch gewahrt

schön, da selten

Page 48: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 48/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

7. Fazit (IV): Überblick

Nutzung der Datenstrukturen für punktförmige Objekte (Datenobjekte zu Punkten transformiert und abgebildet)

symmetrische, anpassbare Datenstruktur für multiple Schlüssel

schneller Zugriff, effiziente Bereichsanfragen

Wartung einfach möglich, Speicherausnutzung gut

Page 49: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 49/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

7. Fazit (V): Probleme

Speichernutzung/Stabilität bei ungünstigen Datenverteilungen (Wachstum des Directorys)

zusätzliche Indirektion TIDs in Buckets gespeichert viel Platz im Bucket viele TIDs viele

Daten zu lesen langsam (besonders für Primärschlüsselzugriff)

Ansatzpunkt der/für Erweiterungen

Page 50: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 50/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

Quellen, Bildnachweis

Nievergelt, J.; Hinterberger, H.; Sevcik, K.: „The Grid File: An Adaptable, Symmetric Multikey File Structure“. TODS, 9(1):38-71. 1984.

Härder, T.; Rahm, E.: „Datenbanksysteme: Konzepte und Techniken der Implementierung“. Springer Verlag. 1999.

Saake, G; Heuer, A.: „Datenbanken: Implementierungstechniken“. MITP-Verlag. 2005.

Lehner, W.: „Datenbanktechnologie für Data-Warehouse-Systeme. Konzepte und Methoden“. dpunkt.verlag, Heidelberg. 2002.

Leser, U.: „Data Warehousing“ (WWW) Zabala, S.: „Mehrdimensionale Indexstrukturen“ (Text/

Folien) Apell, M.: „The Grid File“ (Text/Folien)

Bilder teilweise an diese Werke angelehnt

Page 51: Grid Files – Martin HaseneyerFolie 1/ 51 – 09.06.2005 Siegmundsburg Grid Files Daten hinter Gittern? Eine dynamische Datenstruktur mit mehrdimensionalen.

Grid Files – Martin Haseneyer Folie 51/51 – 09.06.2005 Siegmundsburg

1. Eigenschaften2. Aufbau

1. Buckets2. Grid Directory

3. Dynamisches Verhalten1. Suchen2. Einfügen3. Löschen

4. Implementierung5. Relevanz für

Data Warehousing 6. Erweiterungen

1. Grid Grids2. Interpolations-

basiertes Grid File

7. Fazit

Agenda

Danke, dass Sie noch wach sind.

Sie können nun Fragen stellen. Oder Merchandise-Artikel kaufen.