Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Rüdiger Siegel Geändert vor über 9 Jahren
1
Grid Files – Martin HaseneyerFolie 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
2
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 2/51 – 09.06.2005 Siegmundsburg 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.
3
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 3/ 51 – 09.06.2005 Siegmundsburg 1. Eigenschaften oder: kleine Wunschliste an eine Datenstruktur
4
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 4/51 – 09.06.2005 Siegmundsburg 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
5
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 5/51 – 09.06.2005 Siegmundsburg 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.
6
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 6/51 – 09.06.2005 Siegmundsburg 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%)
7
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 7/51 – 09.06.2005 Siegmundsburg 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
8
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 8/ 51 – 09.06.2005 Siegmundsburg 2. Aufbau oder: stecken Sie Array A in Liste E, um eine Datenstruktur zu erhalten
9
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 9/51 – 09.06.2005 Siegmundsburg 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
10
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 10/51 – 09.06.2005 Siegmundsburg 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)
11
Grid Files – Martin HaseneyerFolie 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
12
Grid Files – Martin HaseneyerFolie 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!)
13
Grid Files – Martin HaseneyerFolie 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)
14
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 14/51 – 09.06.2005 Siegmundsburg 2. (VI) Aufbau: Regionen, Buddy-System Buddy- oder Zwillingszellen: Zellen, die aus der Teilung einer vorhergehenden Zelle entstehen Teilmenge der Nachbarzellen
15
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 15/51 – 09.06.2005 Siegmundsburg 2. (VII) Aufbau: Das kommt davon…
16
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 16/51 – 09.06.2005 Siegmundsburg 2. Aufbau (VI): Beziehungen zwischen Komponenten Beziehung Region – Zelle: 1:n Beziehung Region – Bucket: 1:1
17
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 17/51 – 09.06.2005 Siegmundsburg Buckets Grid Directory 2. Aufbau (VII): Zusammenfassung Grid File
18
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 18/ 51 – 09.06.2005 Siegmundsburg 3. Dynamisches Verhalten oder: Pressen, da geht noch was!
19
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 19/51 – 09.06.2005 Siegmundsburg 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
20
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 20/51 – 09.06.2005 Siegmundsburg 3.1. Suchen (I): Beispiel Finde Datensatz (Q;68) Suchvorgang Intervallgrenzen Intervallnummern Daten(raum)
21
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 21/51 – 09.06.2005 Siegmundsburg 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
22
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 22/51 – 09.06.2005 Siegmundsburg 3.2. Einfügen (I): Beispiel Beispiel für: Datenraum D (1..100; A..Z) Bucketgröße b = 3 Bucket-Überlauf!
23
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 23/51 – 09.06.2005 Siegmundsburg 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
24
Grid Files – Martin HaseneyerFolie 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
25
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 25/51 – 09.06.2005 Siegmundsburg 3.3. Löschen (I): Beispiel Beispiel für: Datenraum D (1..100; A..Z) Bucketgröße b = 3 Bucket-Unterlauf!
26
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 26/51 – 09.06.2005 Siegmundsburg 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
27
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 27/ 51 – 09.06.2005 Siegmundsburg 4. Implementierung oder: Wie kriegen wir das jetzt hin?
28
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 28/51 – 09.06.2005 Siegmundsburg 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?
29
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 29/51 – 09.06.2005 Siegmundsburg 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)
30
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 30/51 – 09.06.2005 Siegmundsburg 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
31
Grid Files – Martin HaseneyerFolie 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?
32
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 32/51 – 09.06.2005 Siegmundsburg 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
33
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 33/51 – 09.06.2005 Siegmundsburg 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!
34
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 34/51 – 09.06.2005 Siegmundsburg 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
35
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 35/ 51 – 09.06.2005 Siegmundsburg 5. Relevanz für Data Warehousing oder: Wozu erzählt uns der Onkel das überhaupt?
36
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 36/51 – 09.06.2005 Siegmundsburg 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
37
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 37/51 – 09.06.2005 Siegmundsburg 5. Relevanz für Data Warehousing (II)
38
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 38/ 51 – 09.06.2005 Siegmundsburg 6. Erweiterungen oder: Warum denn nicht gleich so?
39
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 39/51 – 09.06.2005 Siegmundsburg 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
40
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 40/51 – 09.06.2005 Siegmundsburg 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
41
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 41/51 – 09.06.2005 Siegmundsburg 6.2. Interpolationsbasiertes Grid File (II): Hintergrund Zellen unterschiedlicher Größe (statt „Scheiben schneiden“) nur ein Directory-Eintrag pro Bucket Idee: zerteile Datenraum in Hierarchie jede Zelle angesprochen über Zell- und Ebenennummer Teilung in der Zellmitte Binärzellen
42
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 42/51 – 09.06.2005 Siegmundsburg 6.2. Interpolationsbasiertes Grid-File (III): Aufteilung
43
Grid Files – Martin HaseneyerFolie 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,2 3,3 7,415,4
44
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 44/ 51 – 09.06.2005 Siegmundsburg 7. Fazit oder: Das Buffet wird in O(n) eröffnet.
45
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 45/51 – 09.06.2005 Siegmundsburg 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
46
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 46/51 – 09.06.2005 Siegmundsburg 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
47
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 47/51 – 09.06.2005 Siegmundsburg 7. Fazit (III): Prinzipien Prinzip der 2 Plattenzugriffe gewahrt Lokalitätsprinzip auch gewahrt schön, da selten
48
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 48/51 – 09.06.2005 Siegmundsburg 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
49
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 49/51 – 09.06.2005 Siegmundsburg 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
50
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 50/51 – 09.06.2005 Siegmundsburg 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)WWW Zabala, S.: „Mehrdimensionale Indexstrukturen“ (Text/Folien)TextFolien Apell, M.: „The Grid File“ (Text/Folien)TextFolien Bilder teilweise an diese Werke angelehnt
51
1.Eigenschaften 2.Aufbau 1.Buckets 2.Grid Directory 3.Dynamisches Verhalten 1.Suchen 2.Einfügen 3.Löschen 4.Implementierung 5.Relevanz für Data Warehousing 6.Erweiterungen 1.Grid Grids 2.Interpolations- basiertes Grid File 7.Fazit Agenda Grid Files – Martin HaseneyerFolie 51/51 – 09.06.2005 Siegmundsburg Danke, dass Sie noch wach sind. Sie können nun Fragen stellen. Oder Merchandise-Artikel kaufen.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.