Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Kostenabschätzung Dr. Thomas Gottron Wintersemester 2012/13
Regel vs. Kostenbasierte Optimierung Bisher: Regeln, wie Optimierung abläuft Heuristiken garantieren keine Optimalität Gelegentlich schlechte Auswertungspläne Kostenbasierte Optimierung Verschiedene Auswertungspläne erzeugen Aufwand abschätzen Beste Variante auswählen Zusätzlicher (Zeit-)Aufwand für die Optimierung Thomas Gottron GLDB 2012/13 2
Wiederholung: Optimierung der Joinreihenfolge Laufzeit abhängig von physischem Operator Merge Join π[x] 3 π[x]? Nested-Loop? Join 3 80 4 A B C 1000 100 50 A B C 1000 100 50 π[x] A B C π[x] A B C Thomas Gottron GLDB 2012/13 3
Iteratorfunktionen cost und size IndexSelect P open next close cost size cost: Kosten (Zeit) für die Berechnung der Ergebnismenge Optimierung nach Ausführungszeit size: Anzahl der Tupel in Ergebnismenge Optimierung der Anzahl der Zwischenergebnisse Thomas Gottron GLDB 2012/13 4
In Kostenmodellen verwendet Information Thomas Gottron GLDB 2012/13 5
Selektivität Thomas Gottron GLDB 2012/13 6
Selektivität Anteil der qualifizierenden Tupel für ein Bedingung P Selektionen: sel P = σ PR R Joins: sel RS = R S R S Schnitt, Differenz, Vereinigung... Thomas Gottron GLDB 2012/13 7
Einfache Abschätzungen Bedingung P ist Werteinschränkung auf Schlüssel sel R.A=wert = 1 R Join mit Schlüsselattribut in R: sel R.A=S.B S R S Gleichverteiltung der Tupel auf k verschiedene Attributwerte sel R.B=wert = 1 k Thomas Gottron GLDB 2012/13 8
Genauere Abschätzungen Ziel: Selektivität als Wahrscheinlichkeit ausdrücken: sel R.B=wert = P(B = wert) Verteilung der Werte näher bestimmen! Parametrisiert Annäherung durch Verteilung (Normalverteilung, Exponentialverteilung,...) Bestimmung der Parameter (μ, σ ; α ;...) aus den Daten Histogramme Auszählen der Werte in vorgegebenen Intervallen Stichproben Thomas Gottron GLDB 2012/13 9
Parametrisierte Verteilung vs. Histogramme Parametrisierte Verteilung Histogramm Thomas Gottron GLDB 2012/13 10
Histogramme: Equi-width vs. Equi-depth Bins Fixe Intervalbreite für die Bins Fixe Elementanzahl für die Bins Thomas Gottron GLDB 2012/13 11
Stichprobe Zufälliges Ziehen einiger Tupel Annahme: Wertverteilung auf der Stichprobe ist repräsentativ für Gesamtpopulation Schwierigkeit: Schnelles Ziehen der Stichprobe Wahl der Stichprobe Thomas Gottron GLDB 2012/13 12
Problem bei der Kombination von Attributwerten sel R.X=wert1 R.Y=wert2 Thomas Gottron GLDB 2012/13 13
Problem bei der Kombination von Attributwerten Thomas Gottron GLDB 2012/13 14
Tuning von Datenbanken Statistiken (Histogramme, etc.) müssen explizit angelegt und aktualisiert werden Anderenfalls liefern die Kostenmodelle falsche Werte In Oracle analyze table Professoren compute statistics analyze table Professoren estimate statistics In DB2 runstats on table Thomas Gottron GLDB 2012/13 15
Kostenbasierte Optimierung Thomas Gottron GLDB 2012/13 16
Kosten (Seitenzugriffe) Selektion (ohne Index) Alles Seiten lesen: cost σ P R = blocks R Selektion (mit Index) Lesen des Index: c Seitenzugriffe cost σ P R = c + sel P blocks R Join (Nested Loop) Mit k Seiten für innere, m k für äußere Schleife blocks R cost R S = blocks R + k + blocks S k m k Thomas Gottron GLDB 2012/13 17
Kostenbasierte Optimierung Generiere alle denkbaren Anfrageauswertungspläne Enumeration Bewerte deren Kosten Kostenmodell Statistiken Histogramme Kalibrierung gemäß verwendetem Rechner Abhängig vom verfügbaren Speicher Aufwands-Kostenmodell Durchsatz-maximierend Nicht Antwortzeit-minimierend Behalte den billigsten Plan Meist zu viele Pläne Thomas Gottron GLDB 2012/13 18
Auswertungspläne E D C A A B B C D E Links-tief Frage: Reihenfolge Bushy Frage: Form & Reihenfolge Thomas Gottron GLDB 2012/13 19
Plan Generierung und bewertung Dynamische Programmierung Optimaler Plan ist Kombination aus optimalen Teilplänen Pruning schlechter Pläne Anfrage mit Join über Relationen R 1 bis R n Erzeuge Zugriffspläne für {R 1 } bis {R n } Behalte Top-k beste Pläne Kombiniere alle 2-elementigen Pläne Kombiniere kleinere Pläne zu optimalen Plänen, behalte die Top-k besten Pläne. Kombiniere alle 3-elementigen Pläne... Kombiniere alle n-elementigen Pläne k>1: Auch gute suboptimale Pläne können sich später auszahlen Thomas Gottron GLDB 2012/13 20
Analysieren von Leistungsengpässen Geschätzte Kosten von Oracle Thomas Gottron GLDB 2012/13 21
Fragen? gottron@uni-koblenz.de http://west.uni-koblenz.de/teaching/ws1213/datenbanken Thomas Gottron GLDB 2012/13 22