Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Markus Hartmann Geändert vor über 7 Jahren
1
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 1 Seminar SS 2006 Bitmap Indizes in Data Warehouses
2
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 2 Gliederung (I) 1.Data Warehouses – OLTP – OLAP 2.Überblick über Indizierungstechniken 3.Bitmap Index 1.Standard Bitmap Index 2.Kodierung (a) Mehrkomponenten Bitmap Index (b) Bereichskodierte Bitmap Index (c) Mehrkomponenten-bereichskodierte Bitmap Index (d) Intervallkodierte Bitmap Index 4.Bitmap Join Index
3
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 3 5.Komprimierung 1.Run-length encoding 2.Huffman encoding 3.hierarchisches encoding 4.Bewertung der Komprimierungstechniken 6.Kommerzielle Anwendungen mit Bitmap Indizes 7.Bewertung in bezug auf Data Warehouses Gliederung (II)
4
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 4 ● große Datenmengen müssen verwaltet werden ● in Data Warehouses große Tabellen mit Daten Full-Table-Scan nicht sinnvoll Antwort auf Anfragen umfasst oft nur wenige Prozent der Daten Indizierung sinnvoll, um Anzahl der zu lesenden Daten zu reduzieren Entwicklung hocheffizienter Zugriffstechniken notwendig ● Vermeidung des satzweisen durchsuchen der Daten ● durch zusätzlichen Speicheraufwand von Indizes, suchen nach Methoden, die diesen reduzieren Motivation
5
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 5 ● Data Warehouse ● von operativen Datenbanken getrennte Decision-Support DB ● ermöglicht effizienten Zugriff auf Informationen aus unterschiedlichen Quellen ● ist multidimensional modelliert & dient der langfristigen Speicherung historischer, validierter, operativer, interner & externer Datenbestände ● Vergleich OLTP - OLAP Data Warehouses – OLTP – OLAP
6
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 6 ● eindimensionale Indexstrukturen – B-Bäume– B*-Bäume – lineares Hashing ● mehrdimensionale Indexstrukturen – R-Bäume – Grid-Files – UB-Bäume ● ein- und mehrdimensionale Indexstrukturen – Bitmap Indizes Überblick über Indexstrukturen
7
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 7 ● Grundidee ist das Nutzen eines einfachen Bits ● für jeden Attributwert eine Bitliste anlegen (enthält so viele Positionen, wie es Tupel in Faktentabelle gibt) ● Bit wird 1 gesetzt, wenn indiziertes Attribut die Ausprägung besitzt ● Bit wird 0 gesetzt, wenn indiziertes Attribut eine andere Ausprägung besitzt ● Beispiel: Standard BI auf Attribut „Geburtsmonat“ Standard Bitmap Index (I)
8
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 8 ● Beispielanfrage: „Ausgabe aller im Juni geborenen Männer“ ● bitweise konjunktive Verknüpfung der Bitmap-Vektoren und ● Ergebnistabelle: AND= Standard Bitmap Index (II)
9
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 9 ● Vorteile: – Operationen sind effizient zu implementieren – einfache, effiziente logische Verknüpfbarkeit – Bitmap-Vektoren können im Hauptspeicher boolsche Operationen ausführen – erstellen/pflegen von Bitmap Indizes weniger zeit- & raumintensiv als bei B-Bäumen – arbeiten effizient zusammen, um den Suchraum zu reduzieren ● Nachteile: – hoher Speicherplatzbedarf durch: ● anlegen eines Bitmap-Vektor für jede Attributausprägung ● Tabellen mit vielen Tupeln sehr großer Bitmap-Vektoren – viele Leseoperationen nötig Standard Bitmap Index (III)
10
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 10 ● mehrkomponenten-Bitmap-Index: Attribute mit bis zu n*m Ausprägungen durch n+m Bitmap-Vektoren dargestellt ● Attributwerte werden kodiert (ähnlich Konvertierg in ein anderes Zahlensystem) ● jeder Wert z des Attributs mit ist durch 2 Werte x & y mit Gleichung z = mx + y darzustellen ● Beispiel: -Mehrkomponenten BI auf Attribut Monat z = 4x + y Kodierung des Monats Juni: 5 = 4 * 1 + 1 Bitmap-Vektoren & auf 1 setzen Mehrkomponenten Bitmap Index
11
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 11 ● jeder Attributwert wird in binär kodierten Wert gespeichert ● benötigtBitmap Vektoren ● Beispiel: logarithmisch kodierter BI auf Attribut Monat - für jeden Wert wird eine retrieval function angegeben - Beispiele: Spezialfall: logarithmisch kodierter Bitmap Index
12
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 12 ● Vorteile: – besitzt Vorteile des Standard Bitmap Indizes ● gemeinsames nutzen von Vektoren ● effiziente Durchführung logischer Operationen ● effizientes Zusammenarbeiten zur Reduktion des Suchraumes – Reduktion der Anzahl der Bitmap-Vektoren Mehrkomponenten Bitmap Index
13
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 13 ● Nachteile: – Aufwand des Lesezugriffs für Punktabfrage erhöht sich immer Kompromiss zw. Speicherplatzersparnis & Leseaufwand – keine Optimalität bei Bereichsanfragen – Erhaltg des Index kann zu Erweiterung des Wertebereich führen Index muss neu erstellt werden & mögliche neue Vektoren eingefügt – logarithmische kodierte Bitmap Indizes: ● keine wirkliche Praxistauglichkeit, da immer alle Vektoren gelesen werden müssen Mehrkomponenten Bitmap Index
14
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 14 ● Grundidee: – Bits aller Bitmap-Vektoren, wo zugehörige Ausprägung größer oder gleich dem Wert des aktuellen Tupels ist, auf 1 setzen ● Beispiel: bereichskodierter BI auf Attribut Monat bereichskodierter Bitmap Index
15
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 15 ● Beispielanfrage (einseitig beschränkt): „Ausgabe aller nach dem Juni geborenen Menschen“ einlesen des Bitmap-Vektors Berechnung: ● Beispielanfrage (zweiseitig beschränkt): „Ausgabe aller zwischen März und September geborenen Menschen“ einlesen der Bitmap- AND = Vektoren & Berechnung: bereichskodierter Bitmap Index
16
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 16 ● Vorteile: – einsparen eines Bitmap-Vektoren gegenüber den Standard-Bitmap Indizes – beim Beantworten einseitig beschränkten Bereichsanfragen optimal – beim Beantworten zweiseitig beschränkten Bereichsanfrage nur zwei Bitmap-Vektoren einlesen ● Nachteile: – bei Punktabfragen nicht optimal (immer lesen zweier Vektoren) bereichskodierter Bitmap Index
17
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 17 ● zuerst Mehrkomponenten Bitmap Index anlegen ● auf dessen Gruppen Technik der bereichskodierten Bitmap Index anwenden ● da vorderste Bitmap-Vektoren der jeweiligen Komponente immer auf 1 gesetzt nicht abspeichern ● Beispiel: Mehrkomponenten-bereichskodierter Bitmap Index
18
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 18 ● Vorteile: – Einsparung eines Bitmap-Vektors pro Komponente – Ausnutzung des Platz- & Zeitvorteils der jeweiligen Bitmap- Index-Struktur zusammen – effiziente Unterstützg von Bereichsanfragen durch bereichskodierte Bitmap Indizes – durch Komponenten, nicht für jede Ausprägg eines Attributs neuer Bitmap-Vektor anlegen ● Nachteile: – erhöhter Leseaufwand – höhere Pflege- bzw. Erhaltungskosten Mehrkomponenten-bereichskodierter Bitmap Index
19
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 19 ● Kernidee: jeder Bitmap-Vektor repräsentiert bestimmtes, definiertes Intervall ● Bit genau dann 1, wenn Tupel in Intervall liegt ● Speicheraufwand nur noch halb so hoch wie bei bereichskodierten Bitmap Indizes ● Beispiel: intervallkodierter BI auf Attribut Monat entspricht 12 / 2 = 6 Bitmap-Vektoren I 0 = [0,5] I 1 = [1,6] I 2 = [2,7] I 3 = [3,8] I 4 = [4,9] I 5 = [5,10] intervallkodierter Bitmap Index
20
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 20 ● Beispielanfrage: „Ausgabe aller zwischen März und September geborenen Menschen“ einlesen der Bitmap-Vektoren & Berechnung: AND = intervallkodierter Bitmap Index
21
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 21 ● Vorteile: – optimal bei allgemeneinen Bereichsanfragen – einlesen von zwei Bitmap-Vektoren – optimal für die meisten Anfragetypen – hat nur halb so viel Speicherplatzbedarf wie bei bereichskodierten Bitmap Indizes ● Nachteile: – erhöhter Pflege- bzw. Erhaltungskosten durch mögliche Dimensionserweiterung – bei Punktanfragen müssen zwei Bitmap-Vektoren eingelesen werden – bei einseitig beschränkten Bereichsanfragen kann es möglich sein, dass auch zwei Bitmap-Vektoren einzulesen intervallkodierter Bitmap Index
22
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 22 Vergleich des Standard-Bitmap Index & der Kodierungsverfahren ● Vergleich der Optimalität bei Anfragetypen
23
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 23 Vergleich des Standard-Bitmap Index & der Kodierungsverfahren
24
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 24 ● Joins teuerste Operationen innerhalb DBMS ● nutzen von Foreign Column Join Indizes & Star Joins ● vom Vorteil des Star Schema Designs in Data Warehouses profitieren – Zentraltabelle (Faktentabelle) verbunden mit den Dimensionstabellen durch Fremdschlüssel Dimensionstabelle Faktentabelle Dimensionstabelle ● Join Index = Index auf eine Relation, der sich auf ein Attribut einer anderen Relation bezieht ● Idee: für jedes zu indizierende Attribut, das in Dimensionstabellen beschränkt wird, Index in Faktentabelle anlegen Bitmap Join Index
25
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 25 ● Foreign Column Join Index – Beispielanfrage: SELECT KID, sum(Umsatz) FROM Verkauf v, Kunde k WHERE v.KID = k.KID AND k.Geschlecht = „m“ GROUP BY KID; FCJ ● Verallgemeinerung: Restriktionen auf mehrere Tabellen heißt Multitable Join Indexing (MTJ) ● funktioniert genauso wie FCJ ● Anzahl der FCJ steigt linear mit Anzahl der „foreign columns“ Bitmap Join Index
26
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 26 ● Star Joins – erhöht die Join-Performance ohne Join Indizes zu erstellen – Annahme: es gibt einen Index auf jedes Attribut, dass in den Restriktionen involviert ist – Beispielanfrage: SELECT KID, sum(Umsatz) FROM Verkauf v, Kunde k, Produkt p WHERE v.KID = k.KID AND v.PID = p.PID AND k.Geschlecht = „m“ AND p.Marke = „x“ GROUP BY KID; – Vorgehensweise : ● alle KID-Werte für männliche Kunden selektieren ● speichern in einer temporären Tabelle T1 ● dann alle PID-Werte für Produkte der Marke x selektieren ● diese in eine andere Tabelle T2 speichern ● zuletzt kartesisches Produkt von T1xT2, um es mit einem vorher existierenden Index auf VERKAUF zu joinen Bitmap Join Index
27
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 27 ● Vorteile: – effiziente Implementierung der Indizes, da Joins teure Operationen in RDBMS – geringerer Speicheraufwand im Vergleich mit Standard-Bitmap- Indizes – effizienter als implementierte Algorithmen zur Berechnung von Joins ● Nachteile: – bei großer Anzahl Daten, weniger Zeit zur Erstellung von Standard-Bitmap-Indizes als zur Erstellung von Bitmap-Join- Indizes benötigt – Hauptnachteil bei Star Joins: ist die Faktentabelle dünn besetzt günstiger andere Technik zu nutzen Bitmap Join Index
28
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 28 ● run length encoding = Bitfolgen Komprimierung – Komprimierung von Eins- & Nullfolgen durch Kodiereinheiten, in denen z.B. Nullfolgen als ein Wert kodiert werden – ist ein Ansatz, der in vielen Komprimierungstechniken unterschiedlich angewendet wird ● Beispiel: 1000 0000 0000 0000 1100 – Run = Folge von Nullen mit einzelner folgender 1 – hier: 3 Runs: – komprimierter Vektor: 0011 1011 1100 Komprimierung – run length encoding
29
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 29 ● Huffman encoding = Verfahren der Block-Komprimierung – Vorgehensweise: ● aufteilen des Vektors in Blöcke mit fester Länge ● statistisch berechnen des Auftretens der verschiedenen Bitmuster ● basierend auf Statistik, den Bitmustern Codewörter eindeutig zuordnen ● Folge der Codewörter = komprimierter Bitmap-Vektor ● hierarchisches encoding = Verfahren der Block-Komprimierung – Vorgehensweise: ● Bitmap-Vektor in Blöcke fester Länge k aufteilen ● alle „Nullblöcke“ werden gelöscht ● um Rekonstruktion zu ermöglichen: Liste anhängen, die angibt, an welcher Stelle die Blöcke im Originalvektor standen ● Beispiel:1000 0000 0000 0001 1000 20 Bits k = 2: 10 01 10 100000011016 Bits k = 4: 1000 0001 100010011 17 Bits Komprimierung – Huffman & hierarchisches encoding
30
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 30 ● Vorteile: – hilft den Speicherbedarf auf dem Externspeicher zu reduzieren – gut anzuwenden bei dünn besetzten Bitmap Indizes ● Nachteile: – zum Arbeiten braucht man aber unkomprimierte Indizes, daher Dekomprimierung notwendig – zusätzliche Kosten bei Aufbau, Aktualisierung ● gibt kein „Bestes“ Komprimierungsschema Ergebnisse abhängig von den Verteilungen der Nullen und Einsen im Bitmap Index Bewertung der Komprimierungstechniken
31
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 31 ● Oracle – wichtigste Indextypen: ● B-Baum Indizes für OLTP Systeme ● Bitmap Indizes für Data Warehouses – Bitmap Star Transformation ● Informix – hat Version der Bitmap Indizes für Decision-Support- Systeme implementiert – testete verschiedene Komprimierungstechniken Entscheidung für die, mit bester CPU- Performance – unterstützt auch Strategien zur Datenpartitionierung, um paralleles Auswerten von Bitmap Indizes in SQL-Anfragen zu ermöglichen kommerzielle Anwendung
32
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 32 ● Bitmap Indizes beschleunigen die Anfrageauswertungen in Data Warehouses – einfache wie komplexe (über mehrere Attribute) Selektionsanfragen sind schnell ausgewertet – gute Nutzung durch verschiedene Techniken der Bitmap Indizes – effiziente Unterstützung logischer Operationen ● bei geringer Kardinalität der Attribute sind Bitmap Indizes effizient einzusetzen Vergleichsgröße (Was heißt gering? klein?) ● nicht alle Attribute sind diskret (Wie werden kontinuierliche Werte indiziert?) ● die Pflege der Bitmap Indizes ist sehr aufwendig ● aber geringer Speicheraufwand bei Nutzung der Komprimierungstechniken Kompromiss finden Bewertung der Bitmap Indizes
33
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 33 ● Chan Chee-Yong, Ioannidis, Yannis E. (1998): Bitmap Index Design and Evaluation ● Chan Chee-Yong, Ioannidis, Yannis E. (1999): An Efficient Bitmap Encoding Scheme for Selection Queries ● Lewis, Jonathan (1996): Understanding Bitmap Indexes ● Makkonen, Juha (1999): Lifespan of Data in a Warehouse, Kapitel 4.3 ● Vaisman, Alejandro Ariel (1998): Bitmap Indexing: From Model 204 To Data Warehouses ● Witzel, Stev (2002): Bitmap Indizes ● Wu, Ming-Chuan, Buchmann, Alejandro P. (1998): Encoded Bitmap Indexing for Data Warehouses Literaturverweise
34
Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 34 Vielen Dank für die Aufmerksamkeit
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.