Informationsintegration Top-N Anfragen - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

Informationsintegration Top-N Anfragen

Description:

Informationsintegration Top-N Anfragen 13.12.2005 Felix Naumann – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 62
Provided by: FelixN8
Category:

less

Transcript and Presenter's Notes

Title: Informationsintegration Top-N Anfragen


1
Informationsintegration Top-N Anfragen
  • 13.12.2005
  • Felix Naumann

2
Überblick
  • Anfragen nach den ERSTEN Ergebnissen (First-N)
  • Es reicht! in SQL CK97
  • Syntax und Semantik
  • Optimierung
  • Anfragen nach den BESTEN Ergebnissen (Top-N)
  • Motivation
  • Fagins Algorithm

3
Motivation für First-N
  • 1. Anfragen
  • Semantik
  • Korrektheit
  • Vollständigkeit
  • D.h. alle Ergebnisse erwünscht
  • Bsp. Aggregation
  • Anwendungen
  • DBMS
  • Data Warehouses
  • 2. Browsen
  • Semantik
  • So korrekt wie möglich
  • So vollständig wie gewünscht
  • D.h. einige, bespielhafte Ergebnisse
  • Bsp Life Sciences
  • Anwendungen
  • GUI
  • 3. Suchen
  • Semantik
  • So korrekt wie möglich
  • Nur die besten Ergebnisse
  • D.h. Ein oder wenige passende Ergebnisse
  • Bsp Dokumente
  • Anwendungen
  • Digital Library Systeme
  • Content Management Systeme
  • Google

4
Informationsintegration und Browsen
  • Warum sind First-N Techniken für die
    Informationsintegration interessant?
  • Für Nutzer
  • Art der Daten unbekannt
  • Umfang der Daten unbekannt
  • Browsen
  • Nutzen/Qualität der Daten sowieso zweifelhaft
  • Anfragen nur fuzzy formuliert
  • Verfeinerung der Anfrage in weiteren Schritten
  • Query refinement
  • Für System
  • Datenbeschaffung oft langsam und teuer
  • Deshalb Großes Optimierungspotential
  • Lokale Optimierung
  • Globale Optimierung Netzwerkkosten

5
Anfragebearbeitung in DBMS
  1. SQL Anfrage formulieren
  2. System nimmt SQL Anfrage entgegen
  3. Parsen
  4. Optimieren
  5. System führt Anfrage aus
  6. Tupel-pipeline aufbauen
  7. Ergebnistupel in temporäre Tabelle schreiben
  8. Rückgabe eines Cursors auf erstes Ergebnistupel
  9. Sukzessives next() auf Cursor durch Anwendung
  10. GUI (z.B. AquaDataStudio)
  11. Programm (z.B. mittels JDBC)

6
Anfragebearbeitung in DBMS
  • Problem
  • DBMS berechnet vollständiges Ergebnis
  • Anwendung holt eventuell nur wenige Tupel
  • z.B. ein Fenster voll
  • z.B. Top-N Ergebnisse entsprechend einer
    Sortierung
  • Anwendung spart Aufwand, DBMS jedoch nicht!

7
Überblick
  • Anfragen nach den ERSTEN Ergebnissen (First-N)
  • Es reicht! in SQL CK97
  • Syntax und Semantik
  • Optimierung
  • Anfragen nach den BESTEN Ergebnissen (Top-N)
  • Motivation
  • Fagins Algorithm

8
SQL
Selektion und Join-Bedingungen
Projektion
Relationen
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING
... ORDER BY ...
Gruppierung
Selektion nach Gruppierung
Sortierung
9
Teures SQL Beispiel
SELECT h.name, h.adresse, h.tel FROM hotels h,
flughäfen f WHERE f.name TXL ORDER BY
distance(h.ort, f.ort)
20.000
1.000
1
  • Ergebnis 20.000 Hotels mit aufsteigender
    Entfernung zu TXL
  • Zudem 20.000x distance() ausführen

Beispiele nach CK97
10
STOP AFTER Syntax
Selektion und Join-Bedingungen
Projektion
Relationen
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING
... ORDER BY ... STOP AFTER ...
Gruppierung
Sortierung
Selektion nach Gruppierung
STOP AFTER nach CK97 Wichtig Nicht SQL
Standard!
Neu Beschränkung der Ergebniskardinalität
11
STOP AFTER Semantik
  • Semantik
  • Führe sämtliches Standard-SQL in der Anfrage aus.
  • Beschränke Ergebnis auf erste Tupel.
  • Keine Sortierung
  • Genaue Ergebnismenge nicht spezifiziert
  • Sortierung
  • Genaue Ergebnismenge spezifiziert, außer bei
  • Duplikaten in Sortierungsattributen Genaue
    Ergebnismenge nicht spezifiziert
  • Weniger als N Tupel im Ergebnis Kein Einfluss
    durch STOP AFTER

12
STOP AFTER Beispiel
SELECT h.name, h.adresse, h.tel FROM hotels h,
flughäfen f WHERE f.name TXL ORDER BY
distance(h.ort, f.ort) STOP AFTER 5
  • Ergebnis 5 Hotels mit aufsteigender Entfernung
    zu TXL
  • Einsparungen bei distance()?

13
STOP AFTER Beispiel
SELECT p.name, v.umsatz FROM Produkte p,
Verkäufe V WHERE p.typ software AND p.id
v.prod_id ORDER BY v.umsatz DESC STOP AFTER (
SELECT count()/10 FROM Produkte p
WHERE p.typ software)
Liste Name und Umsatz der 10 umsatzstärksten
Softwareprodukte.
14
STOP AFTER Updates
UPDATE Spieler SET Gehalt 0.5 Gehalt WHERE
id IN ( SELECT s.id FROM Spieler s
ORDER BY s.tore STOP AFTER 3 )
Hertha BSC - Kürze die Gehälter der 3
schlechtesten Spieler um 50.
15
STOP AFTER Implementierung
  • Implementierung in der Anwendung
  • Keine Veränderung des DBMS
  • Optimierungspotential nicht ausgeschöpft
  • Implementierung in DBMS als äußere Schicht
  • Einsparungen bei Datenübertragung
  • Optimierungspotential nicht voll ausgeschöpft
  • Implementierung im DBMS Kern
  • Volles Optimierungspotential
  • Schwieriger

16
Rückblick Anfrageoptimierung
  • Umwandlung von SQL in interne Repräsentation
  • Interne Operatoren
  • Scan, Sort, Select, Project,...
  • Interpretation als Baum
  • Transformationsschritte im Baum
  • Wahl des Schrittes gemäß Kostenmodell

17
Rückblick Anfragebearbeitung
SELECT m.name FROM mitarbeiter m, abteilung
a WHERE m.abt_id a.id AND a.name
Verkauf ORDER BY m.gehalt
In Worten?
?m.name(sortm.gehalt(?m.abt_id a.id, a.name
Verkauf (m x a)))
18
Rückblick Anfragebearbeitung
?m.name(sortm.gehalt(?m.abt_id a.id, a.name
Verkauf (m x a)))
20
20
?(m.name)
?(m.name)
20
20
Sort(m.gehalt)
Sort(m.gehalt)
Einsparung
20
20
a.Name Verkauf
a.Name Verkauf
990
m.abt_id a.id
990
?m.abt_id a.id
100.000
X
100
100
1.000
1.000
Mitarbeiter m
Abteilung a
Mitarbeiter m
Abteilung a
19
Rückblick Anfragebearbeitung
20
20
?(m.name)
?(m.name)
20
20
Sort(m.gehalt)
Sort(m.gehalt)
?
20
20
a.Name Verkauf
?m.abt_id a.id
Einsparung
990
a.Name Verkauf
5
?m.abt_id a.id
100
100
1.000
1.000
Mitarbeiter m
Abteilung a
Mitarbeiter m
Abteilung a
20
Neuer Operator
  • Logischer Operator
  • Stop(N, Sortierungsrichtung, Sortierungsausdruck)
  • N maximale Ergebnisgroesse
  • Sortierungsrichtung asc, desc, none
  • Sortierungsausdruck meist wie ORDER BY
  • Physikalische Operatoren
  • Implementierungsvarianten des logischen Operators
  • Scan-Stop
  • Sort-Stop

21
Scan-Stop
  • Falls Sortierungsrichtung none
  • Schließt Input-Strom nach N Tupeln
  • Kostenmodell
  • p Plan unterhalb (im Baum) Stop Operator
  • s Plan inkl. Stop Operator
  • Cost(1) Kosten für erstes Tupel (Latenz,
    latency)
  • Costp(ALL) Kosten für alle Tupel von p

Pipelines werden bevorzugt! Warum?
22
Sort-Stop
  • Falls Sortierungsrichtung asc/desc
  • Falls schon entsprechend sortiert Schließt
    Input-Strom nach N Tupeln
  • Kosten wie Scan-Stop
  • Sonst sortieren
  • Erste N Tupel in priority-heap (Haufen)
  • Nächste Tupel gegen Heap testen

Kosten eines Vergleichs
Input-Strom komplett erzeugen
Test gegen Heap-Grenzen
i Einfügungen in Heap N ? i ? ALL
23
Überblick
  • Anfragen nach den ERSTEN Ergebnissen (First-N)
  • Es reicht! in SQL CK97
  • Syntax und Semantik
  • Optimierung
  • Anfragen nach den BESTEN Ergebnissen (Top-N)
  • Motivation
  • Fagins Algorithm

24
Optimierung mit Stop-Operator
  • Platzierung des Stop Operators im Anfrageplan
  • Fundamentales Problem Frühe Platzierung
    vorteilhaft aber risikoreich
  • Vorteil Kleine Zwischenergebnisse ? geringe
    Kosten
  • Risiko Endergebnis nicht groß genug ? Erneute
    Ausführung
  • Zwei Strategien
  • Konservativ und aggressiv

25
Optimierung mit Stop-Operator
  • Konservative Strategie
  • Kostenminimal Platziere Stop so früh wie möglich
    in Plan.
  • Korrekt Platziere Stop nie so, dass Tupel
    entfernt werden, die später eventuell gebraucht
    werden.
  • D.h. Wende Stop nur auf Input-Ströme an, deren
    Input-Tupel jeweils mindestens ein Output-Tupel
    erzeugen.
  • Operatoren, die Tupel filtern, müssen also früher
    ausgeführt werden.

26
Optimierung mit Stop-Operator
SELECT FROM mitarbeiter m, abteilung a WHERE
m.abt_id a.id ORDER BY m.gehalt DESC STOP AFTER
10
Stop(10) sortStop
m.abt_id NOT NULL m.abt_id ist Fremdschlüssel
?m.abt_id a.id
Unter welchenBedingungen?
Stop(10) sortStop
?m.abt_id a.id
Mitarbeiter m
Abteilung a
Mitarbeiter m
Abteilung a
27
Optimierung mit Stop-Operator
SELECT FROM mitarbeiter m, abteilung a WHERE
m.abt_id a.id AND a.name Verkauf ORDER
BY m.gehalt DESC STOP AFTER 10
Stop(10) sortStop
?m.abt_id a.id
Nein!
Erlaubt?
?m.abt_id a.id
Stop(10) sortStop
a.Name Verkauf
a.Name Verkauf
Mitarbeiter m
Abteilung a
Mitarbeiter m
Abteilung a
28
Optimierung mit Stop-Operator
  • Aggressive Strategie
  • Platziere Stop so früh wie möglich in Plan.
  • Wähle (hoffentlich) hinreichend großes N
  • Füge Reserve hinzu (z.B. 20).
  • Platziere weiteres, endgültiges Stop(N) später im
    Plan.
  • Platziere geeignete Restart Operatoren.

29
Optimierung mit Stop-Operator
SELECT FROM mitarbeiter m, abteilung a,
reisen r WHERE m.abt_id a.id AND r.konto
m.reisekonto ORDER BY m.gehalt DESC STOP AFTER 10
Stop(10)
?m.abt_id a.id
Restart
Abteilung a
?m.rkonto r.konto
Stop(20) sortStop
Reise r
Mitarbeiter m
30
Implementierungen von First N
  • SQL
  • select name, salary from employee A where 50 gt
    (select count() from employee B where
    B.salary gt A.salary)
  • ...WHERE rownum lt N
  • MySQL
  • SELECT ...FROM ... LIMIT 10
  • DB2
  • FETCH FIRST N ROWS ONLY
  • OPTIMIZE FOR N ROWS
  • MS SQL Server
  • SELECT TOP N ... FROM ...
  • Oracle
  • OPTIMIZER_MODE FIRST_ROWS_N
  • Optimierung jeweils unklar!
  • Weitere Optimierung (Bremsweg verkleinern) z.B.
    in CK98

31
Überblick
  • Anfragen nach den ERSTEN Ergebnissen (First-N)
  • Es reicht! in SQL CK97
  • Syntax und Semantik
  • Optimierung
  • Anfragen nach den BESTEN Ergebnissen (Top-N)
  • Motivation
  • Fagins Algorithm

32
Anfragen nach den Top-N Ergebnissen Motivation
  • First-N beschränkt Ergebnismenge aber nicht
    (unbedingt) Eigenschaften des Ergebnisses
  • Ausnahme Sortierung auf einem Attribut
  • Top-N beschränkt Ergebnismenge und Eigenschaften
  • Sortierung nach einem (beliebigen) Maß
  • Maße sind oft fuzzy.
  • Maße haben oft mehrere Attribute als Input.

33
Anfragen nach den Top-N Ergebnissen Beispiele
  • Suchmaschinen
  • Maß Vorkommen des Suchworts authority
  • Information Retrieval
  • Maß Relevanz
  • In DBMS
  • 4-Zimmer Wohnungen, unter 30,000
  • Bisher nicht unterstützt
  • In Multimedia DBMS
  • Bilder mit roten und runden Objekten

34
Top-N in Multimedia DBMS
  • Farb-Ähnlichkeit
  • Z.B. Anfrage Farbe rot
  • Berechnung der Röte oft komplex (viele
    Farbdimensionen, viele Pixel)
  • MMDBMS liefert top-N roteste (röteste?) Objekte
  • Multidimensionale Indices
  • Form-Ähnlichkeit
  • Z.B. Anfrage Form rund
  • Berechnung der Rundheit oft komplex
  • MMDBMS liefert top-N rundeste Objekte
  • Entspricht First-N Semantik (Maß auf einem
    Attribut)
  • Aber wie kombinieren?

35
Top-N in Multimedia DBMS
  • Beatles Red Album
  • Anfrage
  • Farbe rot ? Name Beatles
  • Was als Antwort
  • Menge?
  • Sortierte Liste?

Fuzzy Prädikat Antwort ist sortierte Liste
Non-Fuzzy Prädikat Antwort ist (unsortierte) Menge
36
Top-N in Multimedia DBMS
  • Anfrage
  • Farbe rot ? Name Beatles
  • Antwort
  • Menge?
  • Sortierte Liste?
  • Anfrage
  • Farbe rot ? Form rund
  • Antwort
  • Menge?
  • Sortierte Liste?

Idee Fa96 Antwort ist benotete Menge
(graded set)
37
Top-N benotete Mengen
  • Benotete Menge
  • Menge aus Paaren (x,g)
  • x ist ein Objekt
  • g ? 0,1 ist eine Note (grade)
  • Anfrage Name Beatles
  • Antwort benotete Menge mit g ? 0,1
  • Anfrage Farbe rot
  • Antwort benotete Menge mit g ? 0,1

38
Top-N benotete Mengen
  • Anfrage
  • Name Beatles ? Farbe rot
  • Name Beatles ? Farbe rot
  • Problem
  • Maß Benotung der Objekte in Antwort
  • Sei gA(x) die Note von Objekt x unter Anfrage A.
  • Erwünschte Eigenschaften
  • Falls g ? 0,1 sollte Standard-Logik gelten.
  • Bewahrung der logischen Äquivalenz
  • gA?A(x) gA(x)
  • gA?(B ?C)(x) g(A?B) ? (A ? C)(x)
  • Monotonie gA(x) ? gA(y), gB(x) ? gB(y) ? gA?B(x)
    ? gA ?B(y)

39
Top-N benotete Mengen
  • Vorschlag
  • Konjunktionsregel Za65
  • gA?B(x) mingA(x), gB(x)
  • Disjunktionsregel Za65
  • gA?B(x) maxgA(x), gB(x)

40
Top-N benotete Mengen
  • gA?B(x) mingA(x), gB(x), gA?B(x) maxgA(x),
    gB(x)
  • Standardlogik (g ? 0,1)
  • 0 ? 1 min0,1 0
  • 0 ? 1 max0,1 1
  • Äquivalenz
  • gA?A(x) mingA(x), gA(x) gA(x)
  • gA?(B ?C)(x) mingA(x), maxgB(x), gC(x)
    maxmingA(x), gB(x), mingA(x), gC(x)
    g(A?B) ? (A ? C)(x)
  • Monotonie
  • gA(x) ? gA(y), gB(x) ? gB(y) ? gA?B(x) ? gA ?B(y)
  • gA(x) ? gA(y), gB(x) ? gB(y) ? mingA(x), gB(x)
    ? mingA(y), gB(y)

41
Andere Maße?
  • AVG
  • gA?B(x) avggA(x), gB(x), gA?B(x) maxgA(x),
    gB(x)
  • 0 ? 1 avg0,1 0.5
  • 0 ? 1 max0,1 1
  • gA?A(x) avggA(x), gA(x) gA(x)
  • gA?(B ?C)(x) avggA(x), maxgB(x), gC(x)
    maxavggA(x), gB(x), avggA(x), gC(x)
    g(A?B) ? (A ? C)(x)
  • gA(x) ? gA(y), gB(x) ? gB(y) ? avggA(x), gB(x)
    ? avggA(y), gB(y)
  • D.h. Standardlogik bleibt nicht erhalten.
  • Name Beatles ? Farbe rot
  • Album (Santana, Supernatural) hat score gt 0
  • Fast jedes andere Album hat auch score gt 0

42
Top-N Fagins Algorithmus
  • Gegeben Konjunktive Anfrage mit teilweise fuzzy
    Prädikaten.
  • Gesucht Benotete Menge mit mindesten Top-N
    Objekten
  • Zugriffsmodell auf MMDBMS
  • Sorted access Cursor auf sortierte Liste
  • Random access Note eines bestimmten Objekts
  • Kostenmodell
  • Jedes angefragte Objekt kostet 1.
  • Optimierung
  • Minimiere Kosten

43
Top-N Beispiel
  • Anfrage
  • Name Beatles ? Farbe rot

G min1,gFarbe rot(x)
?s.id p.id
random access
Name Beatles
Kosten?
DBMS Schallplatten
MMDBMS Plattencover
44
Top-N Naiver Algorithmus
  • Anfrage
  • Form rund ? Farbe rot
  • Sorted access auf alle Objekte (mit Note für Form
    rund)
  • Sorted access auf alle Objekte (mit Note für
    Farbe rot)
  • Join über alle Objekte x
  • Jeweils Berechnung der minimalen Note
  • mingrund(x),grot(x)
  • Sortierung für Top-N
  • Kosten
  • 2n (2x sorted access)

45
Top-N Beispiel
  • Anfrage
  • Form rund ? Farbe rot

G mingForm rund(x),gFarbe rot(x)
?s.id p.id
sorted access/random access
sorted access
MMDBMS_1 Plattencover (Formen)
MMDBMS_2 Plattencover (Farben)
46
Überblick
  • Anfragen nach den ERSTEN Ergebnissen (First-N)
  • Es reicht! in SQL CK97
  • Syntax und Semantik
  • Optimierung
  • Anfragen nach den BESTEN Ergebnissen (Top-N)
  • Motivation
  • Fagins Algorithm

47
Top-N Fagins Algorithmus
  • Allgemeineres Problem
  • Anfrage statt A ? B nun A1 ? A2 ? ... ? Am
  • Für jedes Prädikat eine Quelle.
  • bzw. Zugriffsmöglichkeit durch sorted und random
    access
  • Phase 1 Sorted access
  • Phase 2 Random access
  • Phase 3 Berechnung und Sortierung

48
Top-N Fagins Algorithmus
  • A1 ? A2 ? ... ? Am
  • Phase 1 Sorted access
  • Für jedes i Schicke Ai an Quelle i
  • Schreite sukzessive voran, bis Join über alle
    Teilergebnisse die Größe N hat.

?id
...
MMDBMS_1
MMDBMS_2
MMDBMS_m
49
Top-N Fagins Algorithmus
Objekte aus MMDBMS_2 mit gA2(x)
Objekte aus MMDBMS_1 mit gA1(x)
N
N Objekte aus allen MMDBMS mit allen gAi(x) also
auch mit Gesamt-Note
Objekte aus MMDBMS_2 und MMDBMS_m mit gA1(x) und
gAm(x)
...
MMDBMS_1
MMDBMS_2
MMDBMS_m
50
Top-N Fagins Algorithmus
Der Clou Unter allen gesehenen Objekten befinden
sich auch die Top-N Objekte. Beweis später.
Wichtig Dies sind nicht unbedingt die Top-N
Objekte!
N
...
MMDBMS_1
MMDBMS_2
MMDBMS_m
51
Top-N Fagins Algorithmus
  • Phase 2 Random access
  • Hole alle unbekannten gAi(x) ein.

Ergebnis Nun kennen wir alle Noten aller
gesehenen Objekte.
N
...
MMDBMS_1
MMDBMS_2
MMDBMS_m
52
Top-N Fagins Algorithmus
  • Phase 3 Berechnung und Sortierung
  • Berechne für jedes Objekt gA1 ? A2 ? ... ? Am(x)
    mingA1(x), gA2(x),..., gAm(x)
  • Sortiere alle Objekte nach gA1 ? A2 ? ... ? Am(x)
  • Selektierte die höchsten N Objekte.
  • Ausgabe dieser Top-N Objekte.

53
Fagins Algorithmus Beispiel
  • Anfrage
  • Form rund ? Farbe rot ? Stil Modern
  • N 2

MMDBMS_1
MMDBMS_2
MMDBMS_3
ID Farbe Rotheit
3 rot 1
2 orange 0.5
1 gelb 0.3
4 blau 0.01
5 grün 0
ID Form Rundheit
1 oval 0.8
2 achteck 0.6
3 viereck 0.15
4 dreieck 0.1
5 strich 0
ID Stil Modernität
3 modern 1
2 rock 0.7
4 barock 0.2
1 keltisch 0.1
5 uralt 0.01
54
Fagins Algorithmus Beispiel
4(?? 0.2 ??)
4
3(0.15 1 1)
3
2
1
2(0.6 0.7 0.5)
1(0.8 ?? 0.3)
ID Farbe Rotheit
3 rot 1
2 orange 0.5
1 gelb 0.3
4 blau 0.01
5 grün 0
ID Form Rundheit
1 oval 0.8
2 achteck 0.6
3 viereck 0.15
4 dreieck 0.1
5 strich 0
ID Stil Modernität
3 modern 1
2 rock 0.7
4 barock 0.3
1 keltisch 0.2
5 uralt 0.01
55
Top-N Fagins Algorithmus
  • Korrektheit
  • Fagins Algorithmus findet die Top-N Objekte gemäß
    gA(x).
  • Beweis
  • Idee Wir zeigen für jedes ungesehene Objekt y,
    dass es nicht unter den Top-N sein kann
  • Notation
  • x gesehene Objekte
  • y ungesehene Objekte
  • Für jedes x der Joinmenge nach Phase 1 und jedes
    Prädikat Ai gilt gAi(y) ? gAi(x).
  • Wegen Monotonie von min gilt gA1 ? A2 ? ...
    ? Am(y) ? gA1 ? A2 ? ... ? Am(x).
  • Es gibt mindesten N solcher Objekte x
    (Abbruch-Kriterium Phase 1).
  • Schlussfolgerung Es gibt kein y, das besser ist
    als die besten N x.

Wichtig Wir können dies nicht für andere
gesehene Objekte zeigen.
56
Top-N Fagins Algorithmus
  • Aufwand O(n(m-1)/mN1/m) (Beweis siehe Fa96)
  • n DB-Größe m Anzahl der DBs
  • Beispiel 10000 Objekte, 3 Prädikate, Top 10
  • 10.0002/3 x 101/3 1.000
  • Gilt falls Ai unabhängig.
  • Gilt mit beliebig hoher Wahrscheinlichkeit.
  • D.h. Für jedes egt0 ? c, so dass die
    Wahrscheinlichkeit dass der Aufwand höher ist als
    angegeben lt e ist.
  • Zum Vergleich Naiver Algorithmus in O(nm)
  • Im Beispiel 10.000 x 3 30.000

57
Fagins Algorithmus in der Praxis
  • Probleme aus WHTB99
  • Monotonie
  • Vorgabe einer festen Menge (monotoner) Maße
  • oder Nutzerimplementation erlauben?
  • WHERE Klausel oder ORDER BY Klausel
  • Charakter des Algorithmus
  • Join über mehrere Quellen
  • Objektidentifikation
  • Kostenmodell schwierig

58
Top-N Anfragen Herausforderungen
  • Beliebige Maße
  • Je nach Nutzer bzw. Anwendung
  • Effiziente Ausführung in bestehenden DBMS
  • Unter Ausnutzung vorhandener Datenstrukturen und
    Metadaten
  • Korrektheit und Vollständigkeit
  • Idee Wandele Top-N Anfragen in herkömmliche
    Anfragen um CG99.

59
Rückblick
  • First-N
  • Syntax und Semantik
  • Optimierung
  • Top-N
  • Motivation
  • Fagins Algorithmus

60
Informationsintegration
61
Literatur
  • First-N
  • CK97 Michael J. Carey, Donald Kossmann On
    Saying "Enough Already!" in SQL. SIGMOD
    Conference 1997 219-230
  • CK98 Michael J. Carey, Donald Kossmann
    Reducing the Braking Distance of an SQL Query
    Engine. VLDB 1998 158-169
  • Top-N
  • Fa98 Ronald Fagin Fuzzy Queries in Multimedia
    Database Systems. PODS 1998 1-10
  • Weitere
  • CG99 Surajit Chaudhuri, Luis Gravano
    Evaluating Top-k Selection Queries. VLDB 1999
    397-410
  • DR99 Donko Donjerkovic, Raghu Ramakrishnan
    Probabilistic Optimization of Top N Queries. VLDB
    1999 411-422
  • Za65 Lotfi A. Zadeh Fuzzy Sets. Information
    and Control 8(3) 338-353 (1965)
  • DP84 D, Dubois and H. Prade, Criteria
    Aggregation and Ranking of Alternatives in the
    Framework of Fuzzy Set Theory, in Fuzzy Sets and
    Decision Analysis, TIMS Studies in Management
    Sciences 20 (1984), pp. 209-240.
  • WHTB99 Edward L. Wimmers, Laura M. Haas, Mary
    Tork Roth, Christoph Braendli Using Fagin's
    Algorithm for Merging Ranked Results in
    Multimedia Middleware. CoopIS 1999 267-278
Write a Comment
User Comments (0)
About PowerShow.com