Approximative Queryevaluierung

Werbung
Approximative Queryevaluierung
Fachseminar “Data Warehousing and Mining”
November 1999
Ein Vortrag von Christoph Hauzenberger
1
Approximative Queryevaluierung in Data Warehouses
Inhalt
1.Einleitung
2. Die zwei wichtigsten Ansätze
3. Verfahren mit Synopsen
4. Join Synopsen
5. Das Aqua-System
s3
s5
s7
s 13
s 16
2
Approximative Queryevaluierung in Data Warehouses
1. Einleitung
1.1 Weshalb approximative Antworten?
• Exakte Abfragen über grosse Data Cubes können Stunden dauern, da meist
mehrere Gigabytes an Daten im Spiel sind
• Antworten sollen auch möglich sein, wenn gewisse Daten nicht verfügbar
sind (z.B. bei Ausfall eines Teils der Datenspeicher)
• Ergebnisse von Aggregatsfunktionen wie avg, sum und count erfordern nicht
immer volle Präzision, sind also ideale Kandidaten für Approximation
1.2 Was ist überhaupt eine approximative Antwort?
• Ungefährer Wert mit Vertrauensintervall
• Obere resp. untere Schranke
Durchschnittliche Verkäufe 1999: 4000, +/- 200
Anzahl Einbrüche Januar: <=1000
3
Beispiel
Beispiel-Relationen für Prüfungen der an ETH
NOTEN
P_ID
F_ID
Semester
Note
PERSON
P_ID
Name
D_ID
FACH
F_ID
FName
T_ID
DEPARTEMENT
TYP
D_ID
DName
T_ID
TName
4
Approximative Queryevaluierung in Data Warehouses
2. Die zwei wichtigsten Ansätze
2.1 Adaptive Verfahren
Approximativer Wert:
Vertrauensintervall:
Verstrichene Zeit:
134.356
Abbrechen
±0.75
12h15m28s
Neustart
• Vertrauensintervall wird angezeigt und ständig verbessert
• Fragesteller kann Berechnung abbrechen, sobald zufrieden
+ Beliebig genaue Annäherungen möglich
– Noch immer direkter Zugriff auf alle Datenquellen nötig
5
Approximative Queryevaluierung in Data Warehouses
2.2 Stichproben
neue Daten
Queries
Query
Engine
Warehouse
Ergebnisse
• Einige für die gesamten Daten repräsentative Tupel werden in Query Engine
(zusätzliches Modul) gespeichert
• Anfragen erfolgen nicht an die Daten des Warehouse sondern an die
Stichproben in der Query Engine
+
+
–
–
Sehr schnell, da Abfrage nur über kleine Datenmengen
Kein Zugriff auf unterliegende Datenquellen
Genauigkeit des Resultats von der Qualität der Stichproben abhängig
Stichproben müssen aktuell gehalten werden
6
Approximative Queryevaluierung in Data Warehouses
3. Verfahren mit Synopsen
3.1 Was sind Synopsen?
Synopsen sind vorberechnete Informationen, die Aussagen über die
gesamten Daten liefern (üblicherweise Histogramme oder ausgewählte
Tupel)
3.2 Grundsätzliche Fragen zu Stichproben
•
•
•
•
Wie werden die Stichproben erstellt?
Wieviel Platz wird für das Speichern der Proben benötigt?
Wie genau sind die Aussagen?
Wie aufwendig sind Updates der Stichproben beim Einfügen und Löschen
von Daten?
7
Approximative Queryevaluierung in Data Warehouses
3.3 uniform samples
• Gleichverteilung der Daten wird angenommen
• Zufällige Tupel jeder Relation werden den Daten entnommen
• Bei Inserts in das Warehouse wird ein neues Tupel mit festgelegter
Wahrscheinlichkeit in die Stichprobe aufgenommen, bei Deletes aus den
Daten und gegebenenfalls aus der Stichprobe entfernt
+ Stichproben sind einfach zu unterhalten
– Entweder hoher Platzverbrauch (grosse Proben) oder kleine Präzision (kleine
Probengrösse)
– Sind die Daten nicht gleichverteilt, sinkt die Präzision
8
Approximative Queryevaluierung in Data Warehouses
3.4 concise samples (komprimierte Stichproben)
• Ziel: bessere Präzision, ohne Probe zu vergrössern
• Datensätze mit gleichen Werten der grsuchten Attribute werden in den
Proben nur einfach gespeichert, in der Form (Werte, Anzahl)
• concise samples entsprechen Histogramm der Stichprobe
• Bei Inserts wird das sample mit der kleinsten Anzahl ersetzt
+ Bei gleichem Speicherverbrauch wie bei random samples ist eine viel
grössere Probe möglich
9
Beispiel
Stichproben aus der Noten-Relation
uniform samples
concise samples
F_ID
Note
F_ID
Note
Anzahl
17
4.75
17
4.75
2
3
5.25
3
5.25
1
22
3.75
22
3.75
1
9
6
9
9
1
...
...
...
6
4.5
1
12
3.5
1
...
17
4.75
...
6
4.5
12
3.5
10
Approximative Queryevaluierung in Data Warehouses
3.4 Probleme bei zufälligen Stichproben
• Data Warehouses meist im Star-Schema aufgebaut, Abfragen beinhalten also
häufig Joins über Fremdschlüssel
• Ein Join von Stichproben liefert im Normalfall kleine Ergebnismengen,
folglich sind in diesem Fall riesige Stichproben für annehmbare Präzision
nötig
• Die Verteilung der Attribute ist nach dem Join verändert, die Annahme der
Gleichverteilung gilt nicht mehr
11
Beispiel
Join zweier Stichproben
S(NOTEN)
S(FACH)
S(NOTEN) S(FACH)
F_ID
Note
F_ID
FName
F_ID
FName Note
17
4.75
4
Analysis 1
22
WiRe
3
5.25
22
WiRe
22
3.75
18
SysSoft
9
6
55
Inf.management
3
4
19
IS-K
17
4.75
27
Compilerbau
28
5.5
48
Global IS
6
4.5
36
VLSI 1
12
3.5
7
Logik
3.75
12
Approximative Queryevaluierung in Data Warehouses
4. Join Synopsen
4.1 Abhängigkeitsgraph der Relationen
• Die Relationen dienen als Knoten, Fremdschlüssel-Attribute als Kanten
• A
ID
B meint: ID ist ein Fremdschlüssel für B.ID in A
• Ein Join der Relationen A und B über eine solche Kante im Graphen heisst
Fremdschlüssel-Join. Die Relation A heisst dann Basisrelation des Join
• Zwischen einem Tupel einer Relation r und einem eines FremdschlüsselJoins mit r als Basis besteht 1:1-Relation
13
Beispiel
Abhängigkeitsgraph Beispielrelationen
•N
•P
•D
Fremdschlüssel-Joins sind z.B.:
N P
N P D
N F T
N P D F
N P F T
N P D F T
•F
•T
Keine Fremdschlüssel-Joins sind z.B.:
N D
P N
P D T
P F T
14
Approximative Queryevaluierung in Data Warehouses
4.2 Join-Synopsen
Für jede Relation ri kann man man einen maximalen
Fremdschlüssel-Join J(ri) mit ri als Basis bestimmen.
Sei Si eine Stichprobe der Relation ri. Dann nennt man J(Si) eine
Join-Synopse.
• Aus den Stichproben werden alle möglichen Join-Synopsen berechnet und
anstatt der Proben in der Query-Engine gespeichert
• Die Join-Synopse hat genau gleich viele Tupel wie die Basisrelation.
• Bei Anfragen müssen keine Joins mehr berechnet werden
15
Approximative Queryevaluierung in Data Warehouses
5. Das Aqua-System
neue Daten
Queries
Ergebnisse
•
•
•
•
Query
Engine
Testdaten
exakte Antwort
Besteht aus Query Engine und Testumgebung
Aqua steht für Approximate Query Answering
1998 an den Bell Labs entwickelt um Join-Synopsen zu erforschen
Ermöglicht Vergleich zwischen genäherter und exakter Lösung
16
Approximative Queryevaluierung in Data Warehouses
Die Aqua Query Engine
SQL Query
Approximation
exakteLösung
17
Approximative Queryevaluierung in Data Warehouses
• Beim Einfügen von Daten in eine Relation werden Tupel mit gewisser
Wahrscheinlichkeit zu den Synopsen hinzugefügt. Zuerst müssen jedoch
noch die benötigten Joins berechnet werden
• Bei Änderungen der Warehousedaten wird ein eventueller Eintrag aus den
Synopsen entfernt
• Nicht relevante Spalten werden entfernt um Speicherplatz zu sparen
+ Gute Präzision und schnelle Ergebnisse bei Abfragen mit Joins
– Erhöhter Verwaltungsaufwand
18
Approximative Queryevaluierung in Data Warehouses
Leistungsanalyse des Aqua Systems
Testfrage:
Frage nach Durchschnittswert (avg) bei Query mit vierfachem Join über insgesamt
300 MB Daten.
Präzision:
Synopsengrösse von 0.1% der Daten (300KB) liefert Abweichung von 15%
Stichproben grösser 2% (6MB) liefern beinahe exakte Lösung
Unterhalt:
Bei 2% Stichproben beträgt die Wahrscheinlichkeit, dass ein Tupel neu in die
Synopsen aufgenommen wird typischerweise auch 2%.
Die Anzahl zusätzlicher Joins bei 50000 neuen Tupeln ist also 1000*Anzahl
Relationen
19
Approximative Queryevaluierung in Data Warehouses
Quellen
• “New Sampling-Based Summary Statistics for Improving Approximate
Query Answers” (P. B. Gibbons, Y. Matias, SIGMOD 1998)
• “Join Synopses for Approximate Query Answering” (S.Acharya,
P.B.Gibbons, V.Poosala, S.Ramaswamy, SIGMOD1999)
• “The Aqua ApproximateQuery Answering System” (S.Acharya, P.B.Gibbons,
V.Poosala, S.Ramaswamy, SIGMOD1999)
• “AQUA: System and Techniques for Approximate Query Answering”
(P.B.Gibbons, V.Poosla, S.Acharya, Y.Bartal, Y.Matias, S.Muthukrishnan,
S.Ramaswamy, Torsten Suel, Bell Labs 1998)
20
Herunterladen