Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 1 Seminar SS 2006 Bitmap Indizes in Data Warehouses.

Ähnliche Präsentationen


Präsentation zum Thema: "Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 1 Seminar SS 2006 Bitmap Indizes in Data Warehouses."—  Präsentation transkript:

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


Herunterladen ppt "Bitmap Indizes in Data Warehouses Stefanie Tornow 64694 1 Seminar SS 2006 Bitmap Indizes in Data Warehouses."

Ähnliche Präsentationen


Google-Anzeigen