Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Nichtkonventionelle Indexstrukturen Wave Indices Motivation Techniken Übersicht Update-Techniken Encoded Bitmap Indexing Einführung Datenzugriff über den.

Ähnliche Präsentationen


Präsentation zum Thema: "Nichtkonventionelle Indexstrukturen Wave Indices Motivation Techniken Übersicht Update-Techniken Encoded Bitmap Indexing Einführung Datenzugriff über den."—  Präsentation transkript:

1 Nichtkonventionelle Indexstrukturen Wave Indices Motivation Techniken Übersicht Update-Techniken Encoded Bitmap Indexing Einführung Datenzugriff über den Index Updating gutes vs. schlechtes Codieren Seminar Data-Warehouse WS 98/99 Nichtkonventionelle Indexstrukturen Roger Walther

2 Nichtkonventionelle Indexstrukturen Quellenangabe Narayanan Shivakumar, Hector Garcia-Molina Department of Computer Science Stanford, CA SIGMOD 97 ( ) Extended Version 98 Wave-Indices: Indexing Evolving Databases

3 Nichtkonventionelle Indexstrukturen Wave Indices In vielen Applikationen wird täglich eine grosse Datenmenge generiert. Nun gibt es viele Anwendungen, bei denen nur aktuelle Daten von Interesse sind. Um entsprechende Anfragen effizient beantworten zu können, wird oft nur ein Fenster von n Tagen indiziert. Verkaufszahlen der letzten Woche Verzeichnis von Netnews-Artikeln Börsenkurse Beispiele:

4 Fenster indexieren Nichtkonventionelle Indexstrukturen Triviale Lösung: jeden Tag alten Index löschen und neuen Index berechnen.

5 Fenster indexieren - deletion based Nichtkonventionelle Indexstrukturen Bereits indizierte Tage werden nicht von neuem berechnet. Im folgenden werden systematisch verbesserte Lösungen vorgestellt.

6 Ansatzpunkte Nichtkonventionelle Indexstrukturen Einfügen in bestehende Indizes Löschen einzelner Tage aus Index Wie schnell steht der neue Index am selben Tag zur Verfügung? Es ist teuer, einzelne Tage in einen Index einzufügen. Lösung: Reindizieren der ganzen Indexdatei. Ebenso ist es billiger, eine ganze Indexdatei wegzuwerfen, als einzelne Tage zu löschen. Lösung: bulk-delete Nachdem die nötige Arbeit für den aktuellen Tag erledigt ist, kann schon Arbeit für den nächsten Tag in Angriff genommen werden.

7 Nichtkonventionelle Indexstrukturen DEL mehrere Indexdateien in wave-index = { i1, i2,...,im } hard windows Erhöht die Verfügbarkeit. Denn Indizes, die gerade geändert werden, stehen für Abfragen nicht zur Verfügung. Es ist besser möglich, Parallelität in die Bearbeitung der Indizes zu bringen. D.h. es sind zu jedem Zeitpunkt exakt W=10 Tage indiziert.

8 Nichtkonventionelle Indexstrukturen REINDEX einfacherer Code besser strukturierter Index Verwendung auch in Legacy Systems, die kein Delete verwenden hard windows Die Indexdateien werden durch Reindex wieder neu aufgebaut, keine Lücken durch Löschvorgänge. Peformance-Gewinn. Es muss kein Delete implementiert werden.

9 Nichtkonventionelle Indexstrukturen REINDEX+ BuildIndex( Days ) AddToIndex( Days, i ) Diese Operation baut einen Index auf. Days ist ein Set of Integer. Fügt Days in den bestehenden Index i ein. Reduktion der durchschn. Arbeit Indizes, welche in REINDEX jeden Tag neu berechnet werden, bleiben nun in einer temporären Indexdatei gespeichert. hard windows

10 Nichtkonventionelle Indexstrukturen REINDEX++ hard windows Die Zeit, um neue Daten zu indizieren, wird reduziert. Dies wird erreicht, indem die meiste Arbeit erledigt wird, bevor die neuen Daten verfügbar sind.

11 Nichtkonventionelle Indexstrukturen WATA (Wait and Throw Away) Effizienteres Löschen soft windows Auch in Legacy-Systems verwendbar Diese Art der Indizierung verwendet das sog. bulk-delete. Es ist billiger, eine ganze Indexdatei wegzuwerfen, als einzelne Einträge zu löschen. Es gibt Systeme, die das Löschen einzelner Indexeinträge nicht anbieten. Auch dann kann WATA verwendet werden. Die Anzahl indizierter Tage variiert (10 W 12).

12 Nichtkonventionelle Indexstrukturen RATA (REINDEX, WATA) hard windows mehr Arbeit als WATA Temporärer Index wird verwendet, um das Löschen alter Einträge zu simulieren. Die Arbeit kann so aufgeteilt werden, dass nie mehr als 2 Indizes pro Tag berechnet werden müssen.

13 Übersicht Nichtkonventionelle Indexstrukturen

14 Performance Nichtkonventionelle Indexstrukturen

15 Update Techniken 1. In-Place Updating 2. Simple Shadow Updating 3. Packed Shadow Updating Index wird geändert, wo er steht. Wird er zu gross kopieren und gleichzeitig mehr Speicher alloziieren. Index kopieren, Kopie ändern, zurückkopieren Vorteil: Alter Index kann während dem Update benutzt werden. Funktioniert wie Simple Shadow, aber beim Scannen wird alles komprimiert.

16 Quellenabgabe Nichtkonventionelle Indexstrukturen Ming-Chuan Wu, Alejandro P. Buchmann Computer Science Department Technische Universität Darmstadt ICDE 98 ( ) Encoded Bitmap Indexing for Data Warehouses

17 Nichtkonventionelle Indexstrukturen Einführung: Simple Bitmap Indexing Artikel: B Smart = [1, 0, 1, 0, 0] B Lupo = [0, 1, 0, 1, 1] Farbe: B rot = [1, 0, 0, 0, 0] B blau = [0, 1, 1, 1, 0] B gelb = [0, 0, 0, 0, 1] Extras: B mit = [1, 0, 0, 1, 1] B ohne = [0, 1, 1, 0, 0] Einfacher Bitmap Index auf Artikel: { B Smart, B Lupo }

18 Einführung: Simple Bitmap Indexing Nichtkonventionelle Indexstrukturen Simple Bitmap Indexing wird ineffizient, falls einzelne Attribute grosse Kardinalitäten aufweisen. Weiteres Problem: Bit-Vektoren sind schlecht ausgenutzt. 1m1m Ausnützung: m: Kardinalität

19 Encoded Bitmap Indexing Nichtkonventionelle Indexstrukturen Beispiel: Tabelle SALES mit N Tupeln und Artikeln. Simple Bitmap Indexing: Vektoren mit Länge N Encoded Bitmap Indexing: log 2 (14000) 14 Vektoren mit Länge N plus Mapping Table.

20 Retrieval Boolean Function Nichtkonventionelle Indexstrukturen Sei v 0 codiert als b 1 b 0. Retrieval Function: x 1 x 0 x i = B i, falls b i =1 x i = B i, falls b i =0. (B i = Negierung von B i ) Beispiel: f Smart = B 1 B 0 f Lupo = B 1 B 0 f Focus = B 1 B 0 konstanter Aufwand

21 Updating Nichtkonventionelle Indexstrukturen Werden nun neue Tupel in die Tabelle eingefügt, gilt es zwei bzw. drei Fälle zu unterscheiden: Update ohne Domain-Expansion: Update mit Domain-Expansion: Bit-Vektoren aktualisieren Zuerst muss folgende Gleichung überprüft werden: log 2 A (m-1) = log 2 A (m) (1) Gleichung erfüllt: Gleichung nicht erfüllt: Mapping Table ergänzen Bit-Vektoren aktualisieren Mapping Table vergrössern und ergänzen Bit-Vektor hinzufügen Bit-Vektoren ergänzen Retrieval-functions korrigieren und ergänzen

22 Updating (Beispiel) Nichtkonventionelle Indexstrukturen

23 gutes vs. schlechtes Codieren Nichtkonventionelle Indexstrukturen Kriterium: A IN {a,b,c,d} und A IN {c,d,e,f} B 2 B 1 + B 2 B 0 + B 1 B 0 and B 1 B 0 + B 2 B 1 + B 2 B 0 B 2 B 1 B 0 + B 2 B 1 B 0 + B 2 B 1 B 0 + B 2 B 1 B 0 = B 1 B 2 B 1 B 0 + B 2 B 1 B 0 + B 2 B 1 B 0 + B 2 B 1 B 0 = B 0 B 1 and B 0 (3) (1) (2)(3)

24 Performance / Schlussbemerkung Nichtkonventionelle Indexstrukturen Wu und Buchmann stellten viele Messungen an und vergleichen Encoded Bitmap Indexing mit Simple Bitmap Indexing. Ich möchte allerdings die Aussagekraft dieser Vergleiche relativieren: Es ist fraglich, ob diese zwei Varianten der Bitmap Indexierung überhaupt vergleichbar sind. Des weiteren ist es klar, dass Simple Bitmap Indexing vor allem bei Attributen mit niedriger Kardinalität effizienter ist. Entsprechendes gilt für Encoded Bitmap Ind. bei Attributen mit hoher Kardinalität.

25 Anhang: Aufbau eines Index Nichtkonventionelle Indexstrukturen Directory: üblicherweise im Speicher Struktur: Hashtable oder B-Tree Buckets: auf Disk können komprimiert sein


Herunterladen ppt "Nichtkonventionelle Indexstrukturen Wave Indices Motivation Techniken Übersicht Update-Techniken Encoded Bitmap Indexing Einführung Datenzugriff über den."

Ähnliche Präsentationen


Google-Anzeigen