seminar zu datenbanksystemen sommersemester 2005 universität hannover b.sc. markus spehling...

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

Upload: doerte-hermann

Post on 06-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

Seminar zu DatenbanksystemenSeminar zu DatenbanksystemenSommersemester 2005Sommersemester 2005Universität HannoverUniversität Hannover

B.Sc. Markus SpehlingB.Sc. Markus [email protected]@web.de

Vortrag: 12.07.2005Vortrag: 12.07.2005

Based on:Based on:Top-k Selection queries over rational databases: Mapping strategies and performance evaluation, TODS 2002 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 2005RankSQL: Query Algebra and Optimization for Rational Top-k Queries, SIGMOD 2005

Top-k Query Optimization

Page 2: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Ü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

Page 3: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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.

Page 4: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Motivation - Top-k Query

Was ist eigentlich eine Top-k Query? engl. Top -- 7. bildlich Gipfel, Höhepunkt |der|; höchste

Stellung Ergebnismenge soll k Elemente umfassen

Anfrage (Query), die die k besten Ergebnisse liefert

Page 5: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

2 4 6 8 10 12 14

Page 6: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Top-k Anfrage in SQL

SELECT * FROM RWHERE [Bedingungen]ORDER [k] BY [Scoring-Funktion];

Page 7: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Scoring-Funktion

Definition (p-Norm Scoring-Funktion): - Relation R mit A1,…, An reellwertigen Attributen

- q = (q1,…,qn) sind Präferenzwerte der Top-k Anfrage

- t = (t1,…,tn) ist ein Tupel aus R

2

1

)(||||),( 2

n

i

ii tqtqtqEucl

||max||||),( 1 iini tqtqtqMax

||||||),(1

1

n

i

ii tqtqtqSum Manhattennorm:

Euklidische Norm:

Maximumsnorm:

Page 8: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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)

Page 9: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Preis pro Tag in Euro

Entfernung vom Strand in km

10

20

30

40

2 4 6 8 10 12 14

Beispiel: Scoring-Funktion

5250)1520()66())15,6(),20,6(( 22 Eucl

341.98125.6)1120()5.86())11,5.8(),20,6(( 22 Eucl

Euklidische Norm:

Page 10: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Abbildungsstrategien

Top-k AnfrageSelektionsbereichs-

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

Page 11: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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)

Abb

ildun

gWie geht das ?

Page 12: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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 Sq

zu bestimmen, der k Tupel der Relation R liefert.

2. Retrieve – Konstruiere eine Selektionsbereichsanfrage Cq 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.

Page 13: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Histogramme (1)

Histogramme sind Statistiken, die vom Datenbanksystem für jede

Relation geführt werden

Buckets bi enthalten Tupel der Datenmenge (Annahme: reellwertig)

Buckets bi haben Begrenzungen, die durch zwei Punkte definiert sind

Page 14: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Histogramme (2)

Alle Tupel eines Buckets bi werden auf ein repräsentierendes Tupels

abgebildet.

Setze die Anzahl der Tupel im Bucket bi gleich der Häufigkeit des

repräsentierenden Tupels

Abbildung zeigt eine Datenmenge und ein erzeugtes Histogramm

Page 15: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Abbildungsstrategien – im Detail

Ermittlung des Scoringwertes Abbildungsstrategien:

Statische Strategie Idee: Unabhängig von Datenmenge

Dynamische Strategie Idee: Anpassung an Datenmenge

Page 16: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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. ),(min),( tqScoretqScore

bTt

Statische Strategien - Methoden

(1) (2)

),(max),( tqScoretqScorebTt

Page 17: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Statische Strategie - Methoden

Inter1:Definition: Inter1 = 1/3 * (2*Restart + NoRestart)

Inter2:Definition: Inter2 = 1/3 * (Restart + 2 * NoRestart)

Page 18: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Statische Strategie - Beispiel

Beispiel:

q = (20, 15) sei eine Top-10 Anfrage

Bucket b2 (5 Tupel) und b3 (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<A1<35 AND 0<A2<30

Page 19: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Dynamische Strategie

)(*)( qqqq dRdNRdRS 10

Verallgemeinerung der statischen Strategien

Statischen Strategien: = 0 Restart

= 1/3 Inter1

= 2/3 Inter2

= 1 NoRestart

Page 20: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Page 21: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Dynamische Strategie – Vorbereitung

Vorbereitung für die Berechnung des Optimums *: Q = (q1,…,qn) eine Menge von Top-k Anfragen Funktion totalTupels(Q, ) bezeichnet alle Tupel, die mit

dem Scoringwert Sq( ) ermittelt werden können Funktion tupels(q, Sq( )) bezeichnet alle Tupel für eine

Anfrage

Für die Dynamische Strategie wird der Scoringwert Sq( *) benutzt, wobei * definiert ist als:

),(min),( * QstotalTupelQstotalTupel

Page 22: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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 *

Page 23: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Page 24: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Page 25: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL - Beispiel

SELECT * FROM Hotel h, Museum mWHERE h.star=3 AND h.area=m.areaORDER 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

Page 26: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Page 27: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL - Voraussetzungen

Voraussetzungen:

Ranking-Operator (first-class Konstrukt)

Algebraische Äquivalenzen

Relationen, die das Ranking unterstützen

Page 28: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Rank-Relationale Algebra

Definition (maximal-erreichbarer Score): t beliebiges Tupel P = p1, …, pn Prädikate F(p1, …, pn) 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

Page 29: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Datenmodell OperatorenRelationale

AlgebraRelation σ, π, , ∩, U, −, scan

Rank-Relationale Algebra

Rank-Relation μ, σr, πr, r, ∩r, Ur, −r, scanr

Page 30: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Rank-Relationale Algebra

Page 31: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Page 32: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Beispiel (1) Ranking-Operator

TID … p1 p2 p3 scores1 0.7 0.9 0.8 2.4

s2 0.9 0.8 0.85 2.55

s3 0.4 0.7 0.95 2.05

s4 0.5 0.45 0.75 1.7

s5 0.3 0.9 0.6 1.8

s6 0.25 0.45 0.9 1.6

SELECT * FROM R ORDER 1 BY p1+p2+p3

Ausführungplan: )))((( 123 Rscanppp

Page 33: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Beispiel (2) Ranking-Operator

TID upper-bound

s2 2.9

TID upper-bound

TID upper-bound

TID … p1 p2 p3 score

s1 0.9 1.0 1.0 2.9

s2 0.9 1.0 1.0 2.9

s3 0.9 1.0 1.0 2.9

s4 0.9 1.0 1.0 2.9

s5 0.9 1.0 1.0 2.9

s6 0.9 1.0 1.0 2.9

Scanp1(R)

μp2

μp3

Page 34: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Beispiel (3) Ranking-Operator

TID upper-bound

s2 2.9

s1 2.7

TID upper-bound

TID upper-bound

s2 2.7

TID … p1 p2 p3 score

s1 0.7 1.0 1.0 2.7

s2 0.9 0.8 1.0 2.7

s3 0.7 1.0 1.0 2.7

s4 0.7 1.0 1.0 2.7

s5 0.7 1.0 1.0 2.7

s6 0.7 1.0 1.0 2.7

Scanp1(R)

μp2

μp3

Page 35: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Beispiel (4) Ranking-Operator

TID upper-bound

s2 2.9

s1 2.7

s4 2.5

TID upper-bound

s2 2.55

TID upper-bound

s2 2.7

s1 2.6

TID … p1 p2 p3 score

s1 0.7 0.9 1.0 2.6

s2 0.9 0.8 0.85 2.55

s3 0.5 1.0 1.0 2.5

s4 0.5 1.0 1.0 2.5

s5 0.5 1.0 1.0 2.5

s6 0.5 1.0 1.0 2.5

Scanp1(R)

μp2

μp3

Page 36: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

RankSQL – Beispiel (5) Ranking-Operator

TID upper-bound

s2 2.9

s1 2.7

s4 2.5

TID upper-bound

s2 2.55

s1 2.4

TID upper-bound

s2 2.7

s1 2.6

s4 1.95

TID … p1 p2 p3 score

s1 0.7 0.9 0.8 2.4

s2 0.9 0.85 0.8 2.55

s3 0.4 1.0 1.0 2.4

s4 0.5 0.45 1.0 1.95

s5 0.4 1.0 1.0 2.4

s6 0.4 1.0 1.0 2.4

Scanp1(R)

μp2

μp3

Top-1 Menge:

{ s2 (2.55) }

Page 37: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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ß

Page 38: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

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

Page 39: Seminar zu Datenbanksystemen Sommersemester 2005 Universität Hannover B.Sc. Markus Spehling spehling@web.de Vortrag: 12.07.2005 Based on: Top-k Selection

Ende

Vielen Dankfür Ihre Aufmerksamkeit !

Fragen?