Vorlesung3 - Anfragebearbeitung (Teil 1)

Werbung
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
Vorlesung #3
Anfragebearbeitung (Teil 1)
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
„Fahrplan“
 Besprechung der Übungsaufgaben (kurz)
 Logische Optimierung (prüfungsrelevant)
 Äquivalenzen in der relationalen Algebra
 Anwendung von Transformationsregeln
 Physische Optimierung
 Selektion
 Matchings (binäre Zuordnungsoperationen: Join,
Mengendurchschnitt, Mengendifferenz)
 Gruppierung und Duplikatelimierung
 Projektion und Vereinigung
 Zwischenspeicherung
 Kostenmodelle ...
 Fazit und Ausblick Vorlesung #3
© Bojan Milijaš, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
2
Anfragebearbeitung
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 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š, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
3
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
© Bojan Milijaš, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
4
Anfragebearbeitung (2)
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 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š, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
5
Logische Optimierung
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 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š, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
6
Logische Optimierung
(Fazit)
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 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š, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
7
Physische Optimierung
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 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š, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
8
Physische Optimierung
(Fazit)
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 Iteratoren
 Selektion, Matching, Gruppierung und Duplikateliminierung,
Projektion und Vereinigung, Zwischenspeicherung
 3 prinzipielle Methoden
 Brute Force (sequentiell, Nested Loop Join)
 Ausnutzung der Sortierung (Merge Join)
 Ausnutzung von Indexstrukturen und Hashing (Index Join,
Hash Join)
 Sortierung von Zwischenergebnissen muss wegen
Hauptspeichermangels als Mergesort implemetiert
werden, wobei mehrere Läufe (Runs) einzeln sortiert
und gemischt werden.
© Bojan Milijaš, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
9
Ausblick Vorlesung #4
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
 Physische Optimierung
 Kostenmodelle Fortsetzung
 Tuning
 Transaktionsverwaltung




Definition
Anforderungen
Operationen (Begin, Commit, Abort)
ACID Paradigma (Atomicity, Consistency,
Isolation, Durability)
 in SQL
© Bojan Milijaš, 03.11.2004
Vorlesung #3 - Anfragebearbeitung (Teil 1)
10
WS 2004/2005
Datenbanken II - 5W
Mi 17:00 – 18:30
G 3.18
Vorlesung #3
Ende
Herunterladen