Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling Vortrag: 12.07.2005 Based on: Top-k Selection."—  Präsentation transkript:

1 Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 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

2 Ü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

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

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

5 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 10 20 30 40 2468101214

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

7 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:

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

9 Preis pro Tag in Euro Entfernung vom Strand in km 10 20 30 40 2468101214 Beispiel: Scoring-Funktion  Euklidische Norm:

10 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

11 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 ?

12  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.

13 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

14 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

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

16  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)

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

18 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

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

20 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

21 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:

22 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 *

23 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 210.000 Tupeln  Kurven haben keine signifikaten Abweichungen

24 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

25 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

26 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

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

28 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

29 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

30 RankSQL – Rank-Relationale Algebra

31 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

32 RankSQL – Beispiel (1) Ranking-Operator TID…p1p2p3score s10.70.90.82.4 s20.90.80.852.55 s30.40.70.952.05 s40.50.450.751.7 s50.30.90.61.8 s60.250.450.91.6 SELECT * FROM R ORDER 1 BY p1+p2+p3  Ausführungplan:Ausführungplan:

33 RankSQL – Beispiel (2) Ranking-Operator TIDupper-bound s22.9 TIDupper-bound TIDupper-bound TID…p1p2p3score s10.91.0 2.9 s20.91.0 2.9 s30.91.0 2.9 s40.91.0 2.9 s50.91.0 2.9 s60.91.0 2.9 Scan p1 (R) μ p2 μ p3

34 RankSQL – Beispiel (3) Ranking-Operator TIDupper-bound s22.9 s12.7 TIDupper-bound TIDupper-bound s22.7 TID…p1p2p3score s10.71.0 2.7 s20.90.81.02.7 s30.71.0 2.7 s40.71.0 2.7 s50.71.0 2.7 s60.71.0 2.7 Scan p1 (R) μ p2 μ p3

35 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 s10.70.91.02.6 s20.90.80.852.55 s30.51.0 2.5 s40.51.0 2.5 s50.51.0 2.5 s60.51.0 2.5 Scan p1 (R) μ p2 μ p3

36 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 s10.70.90.82.4 s20.90.850.82.55 s30.41.0 2.4 s40.50.451.01.95 s50.41.0 2.4 s60.41.0 2.4 Scan p1 (R) μ p2 μ p3  Top-1 Menge:  { s2 (2.55) }

37 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ß

38 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

39 Ende Vielen Dank für Ihre Aufmerksamkeit ! Fragen?


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

Ähnliche Präsentationen


Google-Anzeigen