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
25
Embed
Nichtkonventionelle Indexstrukturen Wave Indices Motivation Techniken Übersicht Update-Techniken Encoded Bitmap Indexing Einführung Datenzugriff über den.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Nichtkonventionelle Indexstrukturen
Wave Indices
MotivationTechnikenÜbersichtUpdate-Techniken
Encoded Bitmap Indexing
EinführungDatenzugriff über den IndexUpdatinggutes vs. schlechtes Codieren
Seminar Data-Warehouse WS 98/99
Nichtkonventionelle IndexstrukturenRoger Walther
Nichtkonventionelle Indexstrukturen
Quellenangabe
Narayanan Shivakumar, Hector Garcia-MolinaDepartment of Computer Science
Stanford, CA 94305
SIGMOD ‘97 (381-392)
Extended Version ‘98
Wave-Indices: Indexing Evolving Databases
Nichtkonventionelle Indexstrukturen
Wave Indices
In vielen Applikationen wird täglich eine grosseDatenmenge generiert.
Nun gibt es viele Anwendungen, bei denennur aktuelle Daten von Interesse sind.Um entsprechende Anfragen effizient beantwortenzu können, wird oft nur ein Fenster von n Tagenindiziert.
• Verkaufszahlen der letzten Woche
• Verzeichnis von Netnews-Artikeln
• Börsenkurse
Beispiele:
Fenster indexieren
Nichtkonventionelle Indexstrukturen
Triviale Lösung:
jeden Tag alten Index löschen undneuen Index berechnen.
• Wie schnell steht der neue Index am selben Tag zur Verfügung?
Es ist teuer, einzelne Tage in einen Indexeinzufügen.Lösung: Reindizieren der ganzen Indexdatei.
Ebenso ist es billiger, eine ganze Indexdateiwegzuwerfen, als einzelne Tage zu löschen.Lösung: „bulk-delete“
Nachdem die nötige Arbeit für den aktuellenTag erledigt ist, kann schon Arbeit für dennächsten Tag in Angriff genommen werden.
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ürAbfragen nicht zur Verfügung.Es ist besser möglich, Parallelität in dieBearbeitung der Indizes zu bringen.
D.h. es sind zu jedem Zeitpunkt exaktW=10 Tage indiziert.
Tag Neue Daten Operationen Index Datei i1 Index Datei i2
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üftwerden:
log2 A(m-1) = log2 A(m) (1)
• Gleichung erfüllt:
• Gleichung nicht erfüllt:
Mapping Table ergänzenBit-Vektoren aktualisieren
Mapping Table vergrössern und ergänzenBit-Vektor hinzufügenBit-Vektoren ergänzenRetrieval-functions korrigieren und ergänzen
Updating (Beispiel)
Nichtkonventionelle Indexstrukturen
... A ... B1 B0
a 0 0 a 00
b 0 1 b 01
c 1 0 c 10
b 0 1
... A ... B1 B0
a 0 0 a 00
b 0 1 b 01
c 1 0 c 10
b 0 1
a 0 0
... A ... B1 B0
a 0 0 a 00
b 0 1 b 01
c 1 0 c 10
b 0 1 d 11a 0 0
d 1 1
... A ... B2 B1 B0
a 0 0 0 a 000b 0 0 1 b 001c 0 1 0 c 010b 0 0 1 d 011a 0 0 0 e 100d 0 1 1
e 1 0 0
gutes vs. schlechtes Codieren
Nichtkonventionelle Indexstrukturen
a 000 a 000 a 000
c 001 b 001 c 001
g 010 c 010 g 010
e 011 d 011 b 011
b 100 g 100 e 100
d 101 h 101 d 101
h 110 e 110 h 110
f 111 f 111 f 111
Kriterium: A IN {a,b,c,d} und A IN {c,d,e,f}
B2‘B1‘ + B2‘B0 + B1‘B0 and B1‘B0 + B2B1‘ + B2B0
B2‘B1‘B0‘ + B2B1‘B0‘ + B2‘B1‘B0 + B2B1‘B0 = B1‘
B2‘B1‘B0 + B2B1‘B0 + B2‘B1B0 + B2B1B0 = B0
B1‘ and B0
(3)
(1)
(1) (2) (3)
Performance / Schlussbemerkung
Nichtkonventionelle Indexstrukturen
Wu und Buchmann stellten viele Messungenan und vergleichen Encoded Bitmap Indexingmit Simple Bitmap Indexing.
Ich möchte allerdings die Aussagekraft dieserVergleiche relativieren:
Es ist fraglich, ob diese zwei Varianten derBitmap Indexierung überhaupt vergleichbarsind.
Des weiteren ist es klar, dass Simple BitmapIndexing vor allem bei Attributen mit niedrigerKardinalität effizienter ist.Entsprechendes gilt für Encoded Bitmap Ind.bei Attributen mit hoher Kardinalität.
•
•
Anhang: Aufbau eines Index
Nichtkonventionelle Indexstrukturen
Directory: üblicherweise im Speicher Struktur: Hashtable oder B-Tree