Indexstrukturen für Datenbanken, Signature Files Seite : 1© 2000 Alexander Wey, Universität Bonn Proseminar: Indexstrukturen für Datenbanken Signature.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Matrixmultiplikation
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Eine dynamische Menge, die diese Operationen unterstützt,
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Christian Schindelhauer
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.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Übersicht RAID-Verfahren Labor für Betriebsdatenverarbeitung
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)
Suche in Texten (Stringsuche )
Kapitel 6. Suchverfahren
5. Sortier-Algorithmen Vorbemerkungen:
Sortierverfahren Richard Göbel.
Java: Dynamische Datentypen
Sortierverfahren Richard Göbel.
Indirekte Adressierung
Effizienz: Indexstrukturen
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Bestimmung des Next-Arrays im KMP-Algorithmus
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Produktform der Inversen 1
Support.ebsco.com Lernprogramm zur einfachen Suche in wissenschaftlichen Bibliotheken.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Christian Schindelhauer
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Inhalte und Maßnahmen eingegeben haben,
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.
Berechnung des Osterdatums
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Tutorium Aufgabe 1 Informationen in Designmatrix in: - Darin sind die Prädiktoren enthalten - Aber sagt uns noch mehr! Untersuchungsdesign darin.
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Technische Hilfe Datenauswertung
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Übung Datenbanksysteme II Index- strukturen
STATISIK LV Nr.: 1375 SS März 2005.
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Aufgabe 1 In einem Mikroprozessorsystem mit 32-bit-Datenzugriff auf den Hauptspeicher ist ein Daten-Cache vorhanden. Das Laden des Caches erfolgt in Blöcken.
1 Erstellung eines Lebenslaufes
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
 Präsentation transkript:

Indexstrukturen für Datenbanken, Signature Files Seite : 1© 2000 Alexander Wey, Universität Bonn Proseminar: Indexstrukturen für Datenbanken Signature Files Alexander Wey Sommersemester 2000

Indexstrukturen für Datenbanken, Signature Files Seite : 2© 2000 Alexander Wey, Universität Bonn Überblick l Was sind Signature Files ? l Wie erstelle ich Signature Files ? l Vertikale Partionierung (ohne Kompression) l Vertikale Partionierung (mit Kompression) l Literaturquellen l Schlussbemerkung

Indexstrukturen für Datenbanken, Signature Files Seite : 3© 2000 Alexander Wey, Universität Bonn Was sind Signature Files ? l Signature Files basieren auf der Idee des inexakten Filters : u Einträge einer Datenbasis, welche eine bestimme Bedingung erfüllen, können effizient herausgefiltert werden (z.B. Suchanfragen) u Leider können hierbei Fehler auftreten, d.h. es werden falsche Einträge herausgefiltert (sogenannte False Drops) l Signaturen werden durch die Abbildung von Wörtern auf Bitstrings mittels Hash-Funktion erzeugt. l Dokumente werden in einer Textdatei gespeichert und die Signaturen in einer separaten Datei, dem Signature File

Indexstrukturen für Datenbanken, Signature Files Seite : 4© 2000 Alexander Wey, Universität Bonn Vor – und Nachteile l Signatur – basierte Methoden sind ca. 1 bis 2 Größenordnungen schneller als String – Matching l Der zusätzlich benötigte Speicherplatz ist sehr gering u Signatur – basiert : 10 – 15 % mehr Speicherplatz u Invertierte Listen : 50 – 300 % mehr Speicherplatz l Einfügungen sind ohne Reorganisation der Signature Files möglich. u Einfügen geschieht durch anhängen u Dadurch in WORM – Systemen (Write once, Read many) gut anwendbar l Nachteil : False Drops und Ineffizienz für große Datenbanken

Indexstrukturen für Datenbanken, Signature Files Seite : 5© 2000 Alexander Wey, Universität Bonn Wie erstelle ich Signature Files ??? l Das am meisten angewendete Verfahren zur Erstellung einer Signatur heißt Superimposed Coding u Man bildet eine vorgegebene Zahl D von Wortsignaturen und überlagert dann diese l Vorgehensweise : u Dokument in logische Blöcke unterteilen u Ein Block enthält eine konstante Anzahl D zu indexierenden Wörtern (Wörter eines Blockes sind alle unterschiedlich) u Jetzt wird für jeden Block des Dokumentes, die einzelnen Signaturen der Wörter gebildet l Jede Wortsignatur besteht aus einem Bit-Muster der Größe F in dem m Bits per Hash-Funktion gesetzt werden

Indexstrukturen für Datenbanken, Signature Files Seite : 6© 2000 Alexander Wey, Universität Bonn Ein Beispiel zur Überlagerung l Die Wortsignaturen werden mit ODER verknüpft und bilden damit die Blocksignatur l Beispiel (Größe F = 12 Bits, m = 4 Bits pro Wort, D= 2 Wörter) WortSignatur Free Text Blocksignatur Um die Signatur des gesamten Dokumentes zu erhalten (Signature File) werden alle Blocksignaturen aneinandergehängt

Indexstrukturen für Datenbanken, Signature Files Seite : 7© 2000 Alexander Wey, Universität Bonn Suchanfrage l Das erzeugte Signature File können wir nun zum Suchen nach einem Wort z verwenden l Vorgehensweise : u Für das zu suchende Wort z wird dessen Signatur S z erzeugt. u Das Signature File wird durchsucht, indem für jede Blocksignatur S b eine UND – Verknüpfung (bitweise) mit der Signatur des Suchwortes durchgeführt wird u Wenn S z = S z UND S b gilt, wird b in die Menge der richtigen Kandidaten aufgenommen u Nach vollständiger Durchsuchung des Signature Files kann man noch False Drops eliminieren, indem man in der Menge der richtigen Kanditaten eine Stringsuche nach dem Wort z durchführt u Man erhält nun die Menge der Ergebnisse

Indexstrukturen für Datenbanken, Signature Files Seite : 8© 2000 Alexander Wey, Universität Bonn Sequential Signature Files l Im Prinzip stellt ein Signature File für N Blöcke eine Bitmatrix F x N dar l Der einfachste Weg diese Matrix zu speichern, ist nacheinander die Zeilen zu speichern (SSF) l Hierzu braucht man neben der Datenbasis und dem Signature File eine weitere Datei, welche auf die Blöcke verweist l Diese Verweisdatei enthält für jede Zeile der Signaturmatrix einen Verweis auf die entsprechende Position in der Datenbasis

Indexstrukturen für Datenbanken, Signature Files Seite : 9© 2000 Alexander Wey, Universität Bonn Schema von SSF F Bits N Blöcke Textdatei Verweisdatei

Indexstrukturen für Datenbanken, Signature Files Seite : 10© 2000 Alexander Wey, Universität Bonn Kompression l Um kostbaren Speicherplatz zu sparen, kann man die Signatur komprimieren l Gut komprimieren lassen sich Signaturen mit wenig gesetzten Bits l Bei der Erstellung einer Wortsignatur wählt daher man den Parameter m möglichst klein l Die Idee der Kompression basiert darauf, die Intervalle zwischen den gesetzten Bits zu erfassen (run-length encoding – Verfahren)

Indexstrukturen für Datenbanken, Signature Files Seite : 11© 2000 Alexander Wey, Universität Bonn Beispiel zur Kompression L 1 L 2 L 3 L 4 L 5 Blocksignatur = WortSignatur Data Base Management System Blocksignatur l Die erzeugte Blocksignatur kann in Gruppen unterteilt werden :

Indexstrukturen für Datenbanken, Signature Files Seite : 12© 2000 Alexander Wey, Universität Bonn Bit – Block Kompression BC l Basiert auf der Komprimierung der Bit-Blöcke l Auch hier werden die Signaturen sequentiell gespeichert, zuvor aber komprimiert l Für jeden Bit-Block erstellen wir eine Signatur mit einer variablen Größe l Die Variable Bit – Block Kompression VBC ist wie BC aufgebaut mit dem einzigen Unterschied, dass die Bitblock – Länge b variabel ist. Sie wird entsprechend der Anzahl W (die Anzahl der gesetzten Bits pro Zeile der Matrix) zu b opt angepasst

Indexstrukturen für Datenbanken, Signature Files Seite : 13© 2000 Alexander Wey, Universität Bonn Beispiel für Bit – Block Kompression l Die Signatur besteht aus 3 Teilen u 1. Teil : besteht aus 1 Bit, welches gesetzt wird, wenn der zugehörige Bitblock ein gesetztes Bit enthält, falls nein entfallen Teile 2 und 3 u 2. Teil : gibt die Anzahl der gesetzten Bits im Bitblock an. Dabei wird die Anzahl – 1 gespeichert und eine 0 angehängt u 3. Teil : gibt den Abstand zwischen dem Anfang des Bitblocks und der gesetzten Bits an Teil Teil Teil Das komprimierte SSF lautet :

Indexstrukturen für Datenbanken, Signature Files Seite : 14© 2000 Alexander Wey, Universität Bonn Vertikale Paritionierung (ohne Kompression) l Bei der vertikalen Partionierung speichert man die Signaturmatrix spaltenweise in sogenannten Bit – slices (zu deutsch : Scheiben) u Idee : Unnötige Informationen werden nicht in den Hauptspeicher geladen. u Bei SSF – Verfahren werden die Blocksignaturen komplett gelesen l Für den Vergleich zwischen der Blocksignatur und der Signatur des zu suchenden Wortes werden nicht alle Bits der Blocksignatur benötigt, sondern nur die Bits der Positionen, die in der Anfragesignatur gesetzt sind l Wir lernen jetzt folgende Konzepte kennen : u BSSF (Bit-sliced Signature Files) áBSS`F u FSSF (Frame – sliced Signature Files) u GFSSF (Generalized frame – sliced Signature Files)

Indexstrukturen für Datenbanken, Signature Files Seite : 15© 2000 Alexander Wey, Universität Bonn Bit – sliced Signature Files (BSSF) l Bei SSF werden die einzelnen Bits einer Signatur in F verschiedenen Dateien gespeichert Jede Datei entspricht demnach einer bestimmten Bitpositon in einer Zeile der F x N Matrix l Bei einer Suche nach einem Wort braucht man nur die Einträge der m Bitscheiben zu lesen (anstatt alle F Bits), deren Bits in der Signatur des gesuchten Wortes gesetzt sind u Diese verküpft man mit UND, um einen Vektor der Länge N zu erhalten. u Die Stellen des Vektors, wo Bits gesetzt sind, deuten auf die zugehörigen logischen Blöcke hin l Das Einfügen eines Eintrages benötigt F Plattenzugriffe, einen pro Datei

Indexstrukturen für Datenbanken, Signature Files Seite : 16© 2000 Alexander Wey, Universität Bonn BSSF - Schema N - Blöcke F Dateien Verweisdatei N

Indexstrukturen für Datenbanken, Signature Files Seite : 17© 2000 Alexander Wey, Universität Bonn BSSF l BSSF – Verfahren sieht vor, einen Wert für m zu wählen, so dass die Signatur ca. 50 % gesetzte Bits enthält. (typischer Wert für m = 10, d.h. 10 Plattenzugriffe) l BSSF wählt den Parameter m möglichst klein, damit die Anzahl der Plattenzugriffe sinkt l Hierfür werden größere Signaturen benötigt, damit eine annähernd gleiche False Drops Wahrscheinlichkeit erreicht werden kann

Indexstrukturen für Datenbanken, Signature Files Seite : 18© 2000 Alexander Wey, Universität Bonn Frame – Sliced Signature Files (FSSF) l Idee : Man speichert ähnliche Signaturen mittels Hash – Funktionen hintereinander l Dies hat den großen Vorteil, dass bei einer Suchanfrage sequentiell und nicht zufällig auf die Platte zugegriffen wird Geschwindigkeitssteigerung l Die Dokumentsignatur wird in k Frames mit s Bits aufgeteilt l Jedes Wort wird einem Frame per Hash – Funktion zugeordnet. Mit einer anderen Hash – Funktion werden dann m Bits im Frame gesetzt

Indexstrukturen für Datenbanken, Signature Files Seite : 19© 2000 Alexander Wey, Universität Bonn Beispiel zu FSSF F = 12, s = 6, k = 2, m= 3 Das Wort free wird dem 2. Frame zugeordnet und es werden 3 Bits gesetzt, das Wort text wird dem 1. Frame zugeordnet, ebenfalls mit 3 gesetzten Bits Die Signaturmatrix wird frameweise gespeichert WortSignatur Free Text Dokumentsignatur Bei der Suche brauchen wir nur ein Frame pro Wort zu laden

Indexstrukturen für Datenbanken, Signature Files Seite : 20© 2000 Alexander Wey, Universität Bonn Generalized Frame – sliced Signature Files (GFSSF) l SSF, BSSF, BSSF, FSSF sind Spezialfälle von GFSSF. l Zur Wiederholung, die Parameter : u F = Größe des logischen Blockes u m = Anzahl der gesetzten Bits im Block u n = Anzahl festgelegter Frames mit m gesetzten Bits u k = Anzahl der Frames l Es handelt sich um SSF, wenn k = 1 und n= 1 (Dokumentsignatur besteht aus einem Frame) l Es handelt sich um BSSF, BSSF, wenn k=F und n=m l Wenn n=1 gilt, dann liegt die FSSF Methode vor

Indexstrukturen für Datenbanken, Signature Files Seite : 21© 2000 Alexander Wey, Universität Bonn Vertikale Partionierung (mit Kompression) l Wir haben kennengelernt, wie man Signaturmatrizen mit wenig gesetzten Bits komprimiert l Dieses Verfahren wenden wir an, und speichern nur die Abstände der gesetzten Bits für jede Bitscheibe l Übersicht über folgenden Methoden : u Compressed Bit Slices u Doubly Compressed Bit Slices u No False Drops Method

Indexstrukturen für Datenbanken, Signature Files Seite : 22© 2000 Alexander Wey, Universität Bonn Compressed Bit Slices (CBS) l Wir verlangen, dass m = 1 gilt. u Erinnerung : Für jedes gesuchte Wort müssen m Bit Dateien gelesen werden u Die Größe F der Signatur muss wegen den False Drops erhöht werden l Die Signaturen werden in sogenannten Posting Buckets der Größe B p gespeichert (Verweisdatei wird überflüssig) l Diese Posting Buckets enthalten für jedes Wort einen Zeiger auf die zugehörige Textstelle im Dokument und ein zusätzlichen Zeiger, der auf den nächsten Bucket verweist, falls dies nötig ist l Um die Bit – slices zuzuordnen, benötigt man eine Zuordnungstabelle (Hash – Tabelle) Dokumente brauchen nicht mehr in logische Blöcke unterteilt werden

Indexstrukturen für Datenbanken, Signature Files Seite : 23© 2000 Alexander Wey, Universität Bonn CBS – Abbildung & Beispiel l Das Wort base wird an die 30. Position gehasht (h(base)=30) l Im zugehörigen Posting Bucket verweiset ein Zeiger auf das 1145 Byte in der Textdatei l Der Posting Bucket wird mitsamt seiner verküpften Buckets in den Hauptspeicher geladen.

Indexstrukturen für Datenbanken, Signature Files Seite : 24© 2000 Alexander Wey, Universität Bonn Doubly Compressed Bit Slices (DCBS) l Idee: Man komprimiert zusätzlich noch die Zuordnungstabelle l Analog zu CBS benutzt man eine Hash - Funktion h 1 (), um die Position in der Zuordnungstabelle zu bestimmen l Eine zusätzliche Hash - Funktion h 2 () unterscheidet zwischen Synonymen (sinnesverwandte Wörter) u Die Funktion h 2 () liefert Bitstrings der Länge h, welche in einer intermediate – Datei gespeichert werden u Die intermediate – Datei besteht aus Buckets der Größe B i l Jeder Bucket hat Einträge der Form (Hashcode, Zeiger) u Der Zeiger verweist auf eine Liste von entsprechenden Posting Buckets

Indexstrukturen für Datenbanken, Signature Files Seite : 25© 2000 Alexander Wey, Universität Bonn DCBS - Beispiel l Die Länge der Bitstrings, welcher h 2 liefert, ist hier h=3 l Wie bei CBS : u h 1 (base) = 30 l Zusätzlich : u h 2 (base) = (011) 2

Indexstrukturen für Datenbanken, Signature Files Seite : 26© 2000 Alexander Wey, Universität Bonn No False Drops Method (NFD) l Bei dieser Methode entstehen keine False Drops u Dabei müssen nicht alle Wörter gespeichert werden u Es genügt die intermediate – Datei vom DCBS – Verfahren zu verändern l Es kommt ein zusätzlicher Zeiger auf das Wort im Dokument hinzu l Ein Eintrag in der intermediate – Datei hat bei NFD die Form : (Hashcode, Zeiger auf Posting Buckets, Zeiger auf Wort) l Vorteil : Jedes Wort kann von seinen Synonymen getrennt werden l Der Zeiger auf das Wort im Dokument liefert folgende Vorteile : u Speicherplatz gegenüber der Volltextspeicherung wird gespart u Die Einträge in der intermediate – Datei haben eine konstante Größe u Daher entfallen Terminierungssymbole zur Bestimmung des Ende eines Wortes u Ein Wort kann die Aufnahmefähigkeit eines Buckets sprengen

Indexstrukturen für Datenbanken, Signature Files Seite : 27© 2000 Alexander Wey, Universität Bonn NFD – Abbildung & Beispiel l Suchanfrage analog wie bei DCBS l Unterschied : Wenn ein passender Hashcode gefunden wurde, wird dem zugehörigen Zeiger auf das Wort gefolgt, um Synonyme auszuschließen

Indexstrukturen für Datenbanken, Signature Files Seite : 28© 2000 Alexander Wey, Universität Bonn Literaturquellen l Titel : Information Retrieval: Data Structures & Algorithms Autoren : William B. Frakes; Ricardo Baeza-Yates (eds.) Verlag : Prentice Hall, 1992 Titel : Information Retrieval - Datenstrukturen und algorithmische Grundlagen, Folien zur Vorlesung (1997) Datenbanken und Informationssysteme Autor : Peter Becker (Universität Tübingen)

Indexstrukturen für Datenbanken, Signature Files Seite : 29© 2000 Alexander Wey, Universität Bonn Schlußbemerkung l Für Datenbanken mittlerer Größe stellen die Signature Files eine effiziente Indexstruktur für Datenbanken dar l Suchanfragen und Einfügung neuer Daten gestalten sich recht einfach l Die Effizienz der kennengelernten Konzepte sind erheblich von der Wahl der Parameter abhängig l Man muss abwägen, ob eine schnellere Suchzeit mehr Speicherplatzbedarf rechtfertigt, oder ob man z.B. genauere Resultate verlangt, wie bei der NFD – Methode. Diese benötigt mehr Speicherplatz.