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

Slides:



Advertisements
Ähnliche Präsentationen
Partitionierungstechniken in Datenbanksystemen
Advertisements

Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Dr. Brigitte Mathiak Kapitel 10 Physische Datenorganisation.
Das LCA – Problem in Suffixbäumen
Übersicht RAID-Verfahren Labor für Betriebsdatenverarbeitung
Objekt – Relationales – Modell Tomasz Makowski IN
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
Dr. Brigitte Mathiak Kapitel 9 Physische Datenorganisation (ganz kurz)
Kapitel 3: Das Relationenmodell
On a Buzzword: Hierachical Structure David Parnas.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Effizienz: Indexstrukturen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/9 Data Mining Ist die Wissensgewinnung aus Datensammlungen (Knowledge Discovery in Database).
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Externe Datenstruktur lineare Liste
Access 2000 Datenbanken.
Was sind Histogramme? (1)
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
1 Gruppierung (1) Motivation: Bisher existierte nur die gesamte Relation als eine einzige Gruppe. Interessanter ist es, Aggregierungen über Teilmengen.
Relationale Datenbankmodelle
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Die Grundterminologie
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Einführung in die Programmierung
Datenbank.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Polynome und schnelle Fourier-Transformation
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Parallel Matrix Multiplication
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Datenbanksysteme für hörer anderer Fachrichtungen
Speichern und Lesen von Daten im Data Warehouse
Von Isabelle Spörl und Simon Schausberger
Vorlesung #10 Physische Datenorganisation
Nichtkonventionelle Indexstrukturen Wave Indices Motivation Techniken Übersicht Update-Techniken Encoded Bitmap Indexing Einführung Datenzugriff über den.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Nachtrag Abgrenzung OLAP / OLTP
Anfragen an multidimensonale Daten
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
DOAG SID Data Warehouse
Multidimensionale Datenbanken
Vorlesung #10 Physische Datenorganisation
Nachtrag Abgrenzung OLAP / OLTP
Approximative Queryevaluierung
Sichtbar – Mit den Augen wahrnehmbar.
Raster Operationen.
Indexierung Oracle: indexes Indexierung.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Big Data Anwendungen ... selbst gedacht.
Von Wietlisbach, Lenzin und Winter
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
Datenbanken Von Zoe und Carem.
COCOMO-Methode & FPA-Methode
Datenbanken Von Amed und Alicia.
Objektorientierte Programmierung
Von Wietlisbach, Lenzin und Winter
Nutzung und Modellierung von Datenbanken
Administrieren und Arbeiten mit Datenbanken und SQL
2.3 Gruppierte Datensätze
 Präsentation transkript:

Bitmap Indizes in Data Warehouses Stefanie Tornow Seminar SS 2006 Bitmap Indizes in Data Warehouses

Bitmap Indizes in Data Warehouses Stefanie Tornow 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

Bitmap Indizes in Data Warehouses Stefanie Tornow 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)

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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)

Bitmap Indizes in Data Warehouses Stefanie Tornow ● Beispielanfrage: „Ausgabe aller im Juni geborenen Männer“ ● bitweise konjunktive Verknüpfung der Bitmap-Vektoren und ● Ergebnistabelle: AND= Standard Bitmap Index (II)

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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)

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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 *  Bitmap-Vektoren & auf 1 setzen Mehrkomponenten Bitmap Index

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● Beispielanfrage: „Ausgabe aller zwischen März und September geborenen Menschen“  einlesen der Bitmap-Vektoren &  Berechnung: AND = intervallkodierter Bitmap Index

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow Vergleich des Standard-Bitmap Index & der Kodierungsverfahren ● Vergleich der Optimalität bei Anfragetypen

Bitmap Indizes in Data Warehouses Stefanie Tornow Vergleich des Standard-Bitmap Index & der Kodierungsverfahren

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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: – Run = Folge von Nullen mit einzelner folgender 1 – hier: 3 Runs: – komprimierter Vektor: Komprimierung – run length encoding

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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: Bits k = 2: Bits k = 4: Bits Komprimierung – Huffman & hierarchisches encoding

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow ● 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

Bitmap Indizes in Data Warehouses Stefanie Tornow Vielen Dank für die Aufmerksamkeit