Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Dörte Hermann Geändert vor über 8 Jahren
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?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.