Vorlesung 9

Werbung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Vorlesung #9
Anfragebearbeitung
„Fahrplan“
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Logische Optimierung (prüfungsrelevant !!!)
 Äquivalenzen in der relationalen Algebra
 Anwendung von Transformationsregeln
 Fazit und Ausblick Vorlesung #10
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
SQL Abfrage + F10
© Bojan Milijaš, 28.11.2013
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Vorlesung #9 - Anfragebearbeitung
Anfragebearbeitung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Wegen Datentunabhängigkeit werden Anfragen in
SQL auf sehr allgemein auf dem logischen Schema
formuliert
 Nun muss es eine Komponente in DBMS geben, die
die Grenze zwischen der logischen und der
physischen Ebene definiert und überbrückt 
Anfrageoptimierung
 Anfrageoptimierung wandelt eine abstrakte Abfrage
in eine möglichst effiziente Implementierung – den
Auswertungsplan – der dann kompiliert oder über
einen Interpreter direkt gestartet wird
 ... Kemper 8.2
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
Anfragebearbeitung (2)
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Nach der Syntax- und der semantischen Analyse
wird die Anfrage in einen Ausdruck der relationalen
Algebra umgewandelt
 Anfrageoptimierer (Optimizer) erzeugt eine Vielzahl
von logisch äquivalenten Auswertungsplänen, die
in Ihrer Ausführungsdauer (Kosten) unterschiedlich
sind. (Kosten = mit Hilfe eines Kostenmodells
geschätzte Ausführungsdauer). Auf Basis von
„Kostenvoranschlägen“ wird der optimalen Plan
ausgewählt.
 Kostenmodelle basieren auf Schemainformationen
und Statistiken über Relationen, Indexstrukturen und
Verteilung der Attributwerte (Histogramme)
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
Logische Optimierung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Sehr prüfungsrelevant !!!
 Eine SQL Abfrage wird in einen Ausdruck der
relationalen Algebra umgewandelt
 Mit Hilfe von Transformationsregeln wird dieser
Ausdruck in einen äquivalenten optimierten Ausdruck
umgeformt und dann an die physische Optimierung
weitergereicht
 Zur besseren Veranschaulichung werden relational
algebraische Ausdrücke als Auswertungsbäume
dargestellt
 ... Kemper 8.3- 8.27
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
Logische Optimierung
(Fazit)
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 12 äquivalenzerhaltende Transformationsregeln der
relationalen Algebra und deren Anwendung
 Grundidee: die Regeln so anwenden, dass die
Ausgaben der einzelnen Operatoren möglichst klein
sind!
 6 Heuristiken






Aufbrechen von Selektionen
Selektionen nach unten schieben
Selektionen + Kreuzprodukte  Joins
Joins nach möglichst kleinen Zwischenergebnisse
Einfügen von Projektionen
Projektionen nach unten schieben
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
Logische Optimierung
(Fazit)
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 12 äquivalenzerhaltende Transformationsregeln der
relationalen Algebra und deren Anwendung
 Grundidee: die Regeln so anwenden, dass die
Ausgaben der einzelnen Operatoren möglichst klein
sind!
 6 Heuristiken






Aufbrechen von Selektionen
Selektionen nach unten schieben
Selektionen + Kreuzprodukte  Joins
Joins nach möglichst kleinen Zwischenergebnisse
Einfügen von Projektionen
Projektionen nach unten schieben
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
Physische Optimierung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Für einen logischen Algebraoperatoren kann es
mehrere unterschiedliche Realisierungen d.h.
physische Operatoren geben
 Indexe oder Vorsortierung spielen bei der Wahl der
Realisierung eine wichtige Rolle
 Physische Operatoren werden als „Iteratoren“
dargestellt mit Operationen open, next, close, cost
und size
 Keine Zwischenspeicherung der Ergebnisse
notwendig, Pipelining möglich
 Kemper 8.27 – 8.127
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
Ausblick Vorlesung #10
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
 Physische Datenorganisation
 Speichermedien und Speicherhierarchien
 Hauptspeicher, Puffer-Verwaltung
 Index-Strukturen
 ISAM
 B-Bäume
 Hashing
 Clustering
 Physische Datenorganisation in SQL
© Bojan Milijaš, 28.11.2013
Vorlesung #9 - Anfragebearbeitung
WS 2013/14
Datenbanksysteme
Do 17:00 – 18:30
R 1.007
Vorlesung #9
Ende
Herunterladen