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

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Partitionierungstechniken in Datenbanksystemen
PC-Senioren Ludwigsburg
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
Prof. Dr. T. Kudraß1 Hash-Verfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit.
Indizierung von Graphen durch häufige Subgraphen (2)
Übersicht RAID-Verfahren Labor für Betriebsdatenverarbeitung
Indexed Sequential Access Method
SendEplanung Datenbank
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Algorithmentheorie 04 –Hashing
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
Windows Explorer.
Externe Datenstruktur lineare Liste
Treffen mit Siemens Siemens: Werner Ahrens Volkmar Morisse Projektgruppe: Ludger Lecke Christian Platta Florian Pepping Themen:
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Smartphones im Kanzleinetz Vergleich der technischen Umsetzung COLLEGA - TAG Freitag, 27. November 2009.
Rushmore - Einführung oder wie Sie Fehler vermeiden.
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
Tipps und Tricks für Word 2000 Aytac, Felix, Steffen 04/05.
Outlook_03 - Freigabe von Postfächern für Kollegen
Automatische Übersetzungen mit Google
Effiziente Algorithmen
Storage für Datenbanken
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Effiziente Algorithmen
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Diskrete Mathematik II
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmiersprache C 4
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
ProSeminar WS 2007/08 Leo Hackstein
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
XML und Datenbanken © 2006 Markus Röder
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 28 Version 1.0a Elementare Datenstrukturen –Tables Ansammlung von rows Jede row enthält eine oder mehrere column(s)
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Structured Query Language
WINDOWS 2003 Server. Standart Varianten für 32 Bit: Web Edition: Unterstützt Single(1)- oder Dual(2)-Prozessor-Systeme und bis zu 2 GB RAM 32-Bit Standard.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
Mechanik I Lösungen.
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Preisfindung Rabattgruppen
Praktischer Einsatz von Datentransfers Pansi Vanessa und Sabrina Pichler.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Effektives Delta Laden DOAG SID Data Warehouse. Ziele Welche CDC Methoden gibt es? Typische Fallen Verschiedene Lösungsansätze praktische Beispiele.
CMS … Content Management System. Erster Schritt Das CMS funktioniert (leider) nicht mit allen Browsern. Eine fehlerfreie Bearbeitung ist mit Mozilla firefox.
Approximative Queryevaluierung
Sichtbar – Mit den Augen wahrnehmbar.
Installation und Beispiele
Indexierung Oracle: indexes Indexierung.
Hexadezimale Darstellung von Zahlen
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

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

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

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:

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

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

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.

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.

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.

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

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.

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).

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.

Übersicht Nichtkonventionelle Indexstrukturen

Performance Nichtkonventionelle Indexstrukturen

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.

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

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 }

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

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.

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

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

Updating (Beispiel) Nichtkonventionelle Indexstrukturen

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)

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.

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