Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling Vortrag: 12.07.2005 Based on: Top-k Selection.

Slides:



Advertisements
Ähnliche Präsentationen
Der R-Baum Richard Göbel.
Advertisements

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Polynomial Root Isolation
Data Cubes PG Wissensmangement Seminarphase Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund.
Claudio Moraga; Gisbert Dittrich
Objekt – Relationales – Modell Tomasz Makowski IN
<d,a,s, ,i,s,t, ,e,i,n,e, ,L,i,s,t,e>
Bauinformatik II Softwareanwendungen 1
der Universität Oldenburg
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
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.
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Übung Datenbanksysteme SQL-Anfragen (2)
Grundlegende Analysen & Zwischendarstellungen
Normalformen Normalisieren Schlüssel
6 Normalformen Normalisieren Schlüssel
Einführung Dateisystem <-> Datenbanksystem
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.
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Relationentheorie AIFB SS Algorithmen zur Bildung von 3NF-Relationsschemata Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) (2)Synthese.
Möglichkeiten der Anfragebearbeitung in mobilen Ad-hoc-Netzwerken
Seminar: Informationstechnik in der Medizin Universität Dortmund Skin Detection Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl für Kommunikationstechnik.
SQL - Ausführungspläne Matthias Jauernig (03INB), Michael Lahl (03IND)
Machine Learning Decision Trees (2).
Seminar Stringtheorie und Geometrische Methoden der Physik
Die Grundterminologie
Einführung in die Programmierung
Abschlussvortrag zur Studienarbeit
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt SS
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.
Mehrkriterielle Optimierung mit Metaheuristiken
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Von Isabelle Spörl und Simon Schausberger
Das relationale Modell
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Einführung Dateisystem <-> Datenbanksystem
1 Syntaktische Grundform selectA 1, A 2, …, A n fromR 1, R 2, …, R m wherebedingung w ;
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
Der A*-Algorithmus.
12. November 2001 Seminar Geoinformation Folie 1 Inhalt Einführung Bearbeitung raumbezogener Anfragen Ausblick Seminar Geoinformation Themenblock: „Implementierung.
Gliederung der Vorlesung
Binärbäume.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Approximative Queryevaluierung
Indexierung Oracle: indexes Indexierung.
 Präsentation transkript:

Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling Vortrag: Based on: Top-k Selection queries over rational databases: Mapping strategies and performance evaluation, TODS 2002 RankSQL: Query Algebra and Optimization for Rational Top-k Queries, SIGMOD 2005 Top-k Query Optimization

Übersicht  Motivation  Einleitung - Beispiel  Optimierung mit der Abbildungsstrategie  Idee (Was wird versucht ?)  Statische Strategie  Dynamische Strategie  Optimierung mit RankSQL  Idee (Was wird versucht ?)  Ranking-Operator  Fazit – Vor- und Nachteile  Zusammenfassung

Motivation  Vergleich und Ranking (Sortierung) von Daten  Suchmaschine  Multimedia, z.B. Bilder nach Farbe, Formen untersuchen  E-Commerce, z.B. Routenplanung, Urlaubsplanung  Data Mining, z.B. Marktforschung  uvm.

Motivation - Top-k Query  Was ist eigentlich eine Top-k Query?  engl. Top bildlich Gipfel, Höhepunkt |der|; höchste Stellung7.  Ergebnismenge soll k Elemente umfassen  Anfrage (Query), die die k besten Ergebnisse liefert

Beispiel  Suche nach einer Ferienwohnung  Benutzer hat eine Vorstellung von der Wohnung und möchte 10 Angebote angezeigt haben:  ca. 20 Euro und ca. 6 km vom Strand entfernt  Problem:  Exakte Anfragen sind zu streng  Ziel:  Top-k Ergebnisse bzgl. der Prädikate  Effiziente Bearbeitung Preis pro Tag in Euro Entfernung vom Strand in km

Top-k Anfrage in SQL SELECT * FROM R WHERE [Bedingungen] ORDER [k] BY [Scoring-Funktion];

Scoring-Funktion  Definition (p-Norm Scoring-Funktion): - Relation R mit A 1,…, A n reellwertigen Attributen - q = (q 1,…,q n ) sind Präferenzwerte der Top-k Anfrage - t = (t 1,…,t n ) ist ein Tupel aus R  Manhattennorm:  Euklidische Norm:  Maximumsnorm:

Scoring-Funktion – graphische Darstellung  Manhattennorm (1)  Euklidische Norm (2)  Maximumsnorm (3)  Beispiel: Census2D Daten über Alter und Stundenlohn  Beispiel: Anfrage (Alter=30, Lohn=20 Euro)

Preis pro Tag in Euro Entfernung vom Strand in km Beispiel: Scoring-Funktion  Euklidische Norm:

Abbildungsstrategien Top-k Anfrage Selektionsbereichs- anfrage  (+) Effiziente Bearbeitung durch das RDBMS  (-) Liefert u.U. mehr als k Tupel  (-) keine effiziente Bearbeitung durch das RDBMS  (+) Liefert genau k Tupel Vorteile kombinieren !!! Abbildung

Abbildungsstrategien - Beispiel SELECT Besitzer, Preis, Distanz FROM Unterkünfte WHERE Preis = 20 AND Distanz=6 ORDER 10 BY Score; SELECT Besitzer, Preis, Distanz FROM Unterkünfte WHERE (15 < Preis < 25) AND (4 < Distanz < 8) Abbildung Wie geht das ?

 Scoringwert bestimmt den Selektionsbereich!  Wie wird ein guter Scoringwert bestimmt ? Abbildungsstrategien  Algorithmus: 1. Search – Benutze für die Relation R vorhandene Statistiken (z.B. Histogramme), um einen Scoringwert S q zu bestimmen, der k Tupel der Relation R liefert. 2. Retrieve – Konstruiere eine Selektionsbereichsanfrage C q und stelle diese an R. Es sei R‘ die Ergebnisrelation. 3. Verify/Restart – Wenn k >= |R‘|, dann gib die k Tupel mit der niedrigsten Distanz aus, sonst wähle einen größeren Wert und starte den Algorithmus erneut.

Histogramme (1)  Histogramme sind Statistiken, die vom Datenbanksystem für jede Relation geführt werden  Buckets b i enthalten Tupel der Datenmenge (Annahme: reellwertig)  Buckets b i haben Begrenzungen, die durch zwei Punkte definiert sind

Histogramme (2)  Alle Tupel eines Buckets b i werden auf ein repräsentierendes Tupels abgebildet.  Setze die Anzahl der Tupel im Bucket b i gleich der Häufigkeit des repräsentierenden Tupels  Abbildung zeigt eine Datenmenge und ein erzeugtes Histogramm

Abbildungsstrategien – im Detail  Ermittlung des Scoringwertes  Abbildungsstrategien:  Statische Strategie  Idee: Unabhängig von Datenmenge  Dynamische Strategie  Idee: Anpassung an Datenmenge

 NoRestart (1):  Annahme: Die Datenverteilung ist so schlecht wie möglich für eine Anfrage q.  Restart (2):  Annahme: Die Datenverteilung ist so gut wie möglich für eine Anfrage q. Statische Strategien - Methoden (1)(2)

Statische Strategie - Methoden  Inter1:  Definition: Inter1 = 1/3 * (2*Restart + NoRestart)  Inter2:  Definition: Inter2 = 1/3 * (Restart + 2 * NoRestart)

Statische Strategie - Beispiel  Beispiel:  q = (20, 15) sei eine Top-10 Anfrage  Bucket b 2 (5 Tupel) und b 3 (15 Tupel) werden benötigt  Restart Scoringwert = max(|15-15|,|35-20|) = 15  NoRestart Scoringwert = max(|50-20|,|40-15|) = 30 Beispiel (Restart): SELECT * FROM R WHERE 5<A 1 <35 AND 0<A 2 <30

Dynamische Strategie  Verallgemeinerung der statischen Strategien  Statischen Strategien:  = 0  Restart  = 1/3  Inter1  = 2/3  Inter2  = 1  NoRestart

Dynamische Strategie  Wahl der besten Auswertungsstrategie ist abhängig:  Verteilung der Daten (z.B. Gleichmäßig, Normal, Poisson, …)  Anfrage q  Es existiert für jede Anfrage ein Optimum, sodass mind.k Tupel, ohne Restart des Algorithmus, ermittelt werden können.  Wie kann das Optimum bestimmt werden ?  1. Für möglichst viele (verschiedene) Anfragen Q  2. Ohne sequentielle Scans über die Datenmenge

Dynamische Strategie – Vorbereitung  Vorbereitung für die Berechnung des Optimums * :  Q = (q 1,…,q n ) eine Menge von Top-k Anfragen  Funktion totalTupels(Q, ) bezeichnet alle Tupel, die mit dem Scoringwert S q ( ) ermittelt werden können  Funktion tupels(q, S q ( )) bezeichnet alle Tupel für eine Anfrage  Für die Dynamische Strategie wird der Scoringwert S q ( *) benutzt, wobei * definiert ist als:

Dynamische Strategie – Berechnung (1)  Berechnung des Optimums *:  1. Approximation der Funktion tupels durch tupels‘  tupels‘ muss * gut approximieren  effiziente Berechnung von tupels‘ (Diskretisierung)  2. Berechnung von dRq und dNRq für jede Anfrage q mit Hilfe von Histogramm H  3. Berechne die diskreten Werte zur Approximation der Funktion tupels‘ aus der Datenmenge, der Anfrage- menge und dem Histogramm H (seq. Scan der Daten)  4. Minimierung der Funktion totalTupels zur Bestimmung des Optimums *

Dynamische Strategie – Berechnung (2)  Optimierung der Berechnung durch Sampling der Daten  Vermeidung des kompletten sequentiellen Scans  z.B. p = 0.1% der Daten werden gesichtet  210 von Tupeln  Kurven haben keine signifikaten Abweichungen

RankSQL  Was ist RankSQL ?  Erweiterung der Relationenalgebra um das Ranking  Erweiterung der Relationen zu Rank-Relationen  Behandlung des Rankings als first-class Konstrukt  Warum ?  Generierung von effizienten Ausführungsplänen  Inkrementelle Bearbeitung und Pipelining

RankSQL - Beispiel SELECT * FROM Hotel h, Museum m WHERE h.star=3 AND h.area=m.area ORDER 5 BY cheap(h.price) + related(m.collection, „dinosaurier“);  Auswertung:  Verbund der Relationen Hotel und Museum und Bearbeitung der Filterbedingungen  Auswertung der Prädikate für jeden gültigen Verbund  Sortierung der Ergebnisse  Report der Top-5 Ergebnisse Ranking-Prädikate Sortierung 5

RankSQL  Nachteil dieser Auswertung:  Relationen, die verbunden werden, können enorm groß sein  Top-k Ergebnisse interessant, keine totale Ordnung  Auswertung der Prädikate für jeden gültigen Verbund  Ranking-Prädikate werden monolithisch ausgeführt

RankSQL - Voraussetzungen  Voraussetzungen:  Ranking-Operator (first-class Konstrukt)  Algebraische Äquivalenzen  Relationen, die das Ranking unterstützen

RankSQL – Rank-Relationale Algebra  Definition (maximal-erreichbarer Score):  t beliebiges Tupel  P = p 1, …, p n Prädikate  F(p 1, …, p n ) eine Scoring-Funktion  Definition (Rank-Relation):  Erweiterung einer Relation R  Zusätzliche Eigenschaften:  Score – maximal-erreichbarer Score für t unter F  Order – Order-Beziehung unter den Tupeln nach Score

RankSQL – First-class Konstrukt  Ranking-Operator:  Splitting – Auswertung der Prädikate in Stufen  Interleaving – Verschachtelung des Ranking-Operators mit anderen Operatoren (Selektion, JOIN, Schnitt, etc.)  Operatoren (Selektion, JOIN, Schnitt, etc.)  Erweiterung der Operatoren um die Ranking-Eigenschaft DatenmodellOperatoren Relationale Algebra Relation σ, π,, ∩, U, −, scan Rank-Relationale Algebra Rank-Relationμ, σ r, π r, r, ∩ r, U r, − r, scan r

RankSQL – Rank-Relationale Algebra

RankSQL - Ausführungsplan  Modell der Anfragebearbeitung  Baum mit physischen Operatoren (rekursive Arbeitsweise)  Operatoren besitzen Methoden zum tupelweisen Zugriff  Pipelining - Bearbeitungsstrategie  Erweiterung des Modells für RankSQL  Operatoren geben Tupel der Rank-Relationen schrittweise aus, d.h. die Reihenfolge des maximal-erreichbaren Scores wird eingehalten  Anfrage besitzt eine explizite Ergebnisgröße k

RankSQL – Beispiel (1) Ranking-Operator TID…p1p2p3score s s s s s s SELECT * FROM R ORDER 1 BY p1+p2+p3  Ausführungplan:Ausführungplan:

RankSQL – Beispiel (2) Ranking-Operator TIDupper-bound s22.9 TIDupper-bound TIDupper-bound TID…p1p2p3score s s s s s s Scan p1 (R) μ p2 μ p3

RankSQL – Beispiel (3) Ranking-Operator TIDupper-bound s22.9 s12.7 TIDupper-bound TIDupper-bound s22.7 TID…p1p2p3score s s s s s s Scan p1 (R) μ p2 μ p3

RankSQL – Beispiel (4) Ranking-Operator TIDupper-bound s22.9 s12.7 s42.5 TIDupper-bound s22.55 TIDupper-bound s22.7 s12.6 TID…p1p2p3score s s s s s s Scan p1 (R) μ p2 μ p3

RankSQL – Beispiel (5) Ranking-Operator TIDupper-bound s22.9 s12.7 s42.5 TIDupper-bound s22.55 s12.4 TIDupper-bound s22.7 s12.6 s41.95 TID…p1p2p3score s s s s s s Scan p1 (R) μ p2 μ p3  Top-1 Menge:  { s2 (2.55) }

Fazit Optimierung  Abbildungsstrategien  Vorteile:  Leichte Implementierung  Verbesserungen am RDBMS resultiert in Performancesteigerung  Nachteile:  Bei großen k wird der verwendete Algorithmus mehrfach und somit auch die Selektionsbereichanfrage mehrfach ausgeführt  RankSQL  Vorteile:  Effiziente Ausführungspläne und Inkrementelle Bearbeitung  Reduktion der Zwischenergebnisse  Nachteile:  Komplizierte und aufwendige Implementierung  Vorverarbeitungsschritt ist aufgrund der Bewertungphase groß

Zusammenfassung  Steigende Bedeutung von Top-k in vielen Anwendungsgebieten  Konzept der Top-k Anfragen bietet Toleranz, und liefert zu angegebenen Suchkriterien die k besten Ergebnisse zu liefern  Schnelle und effiziente Bearbeitung von Top-k Anfragen  Abbildungsstrategien  RankSQL mit dem Ranking-Operator  Exakte Suchkriterien sind oftmals zu streng für viele Benutzer- anfragen und liefern häufig leere Ergebnismengen  Fehlende Toleranz bei der Bearbeitung und im Ergebnis

Ende Vielen Dank für Ihre Aufmerksamkeit ! Fragen?