WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
Vorlesung #10
Anfragebearbeitung
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
„Fahrplan“
Logische Optimierung (prüfungsrelevant !!!) Äquivalenzen in der relationalen Algebra Anwendung von Transformationsregeln
Fazit und Ausblick Vorlesung #11
Vorlesung #10 - Anfragebearbeitung 2
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
SQL Abfrage + F10
Vorlesung #10 - Anfragebearbeitung 3
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Anfragebearbeitung
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
Vorlesung #10 - Anfragebearbeitung 4
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014 Vorlesung #10 - Anfragebearbeitung 5
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Anfragebearbeitung (2)
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)
Vorlesung #10 - Anfragebearbeitung 6
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Logische Optimierung
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
Vorlesung #10 - Anfragebearbeitung 7
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Logische Optimierung(Fazit) 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
Vorlesung #10 - Anfragebearbeitung 8
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Logische Optimierung(Fazit) 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
Vorlesung #10 - Anfragebearbeitung 9
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Physische Optimierung
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
Vorlesung #10 - Anfragebearbeitung 10
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
© Bojan Milijaš, 04.12.2014
Ausblick Vorlesung #10
Physische Datenorganisation Speichermedien und Speicherhierarchien Hauptspeicher, Puffer-Verwaltung Index-Strukturen
ISAM B-Bäume
Hashing Clustering
Physische Datenorganisation in SQL
Vorlesung #10 - Anfragebearbeitung 11
WS 2014/15Datenbanksysteme
Do 17:00 – 18:30R 0.005
Vorlesung #10
Ende