Anfrageoptimierung Logische Optimierung

Ähnliche Dokumente
Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1

Anfragebearbeitung 1. Vorlesung Datenbanksysteme vom

Architektur eines DBMS Logische Optimierung

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Anfrageoptimierung Physische Optimierung

Physische Anfrageoptimierung

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Kapitel 10: Relationale Anfragebearbeitung

Anfrageoptimierung Kostenabschätzung

Entity Relationship Modell

Wiederholung: Relationale Algebra

Indexstrukturen in SQL

Kapitel 10: Relationale Anfragebearbeitung

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Vorlesung Datenbanksysteme vom

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

Query Languages (QL) Relationale Abfragesprachen/Relational

Datenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift

Übung 3. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Rückblick: Relationales Modell

Rückblick: Relationale Normalisierung

Wiederholung: Relationale Algebra

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfrageoptimierung. Nikolaus Augsten. Wintersemester 2014/15

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Datenbanken Vertiefung

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra.

Teil 1: Deduktive Datenbanken Gerd Stumme Christoph Schmitz

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning

2.5 Relationale Algebra

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning

Anfrageoptimierung Kostenmodelle

Relationales Datenmodell Relationale Algebra

Kapitel 8 Anfragebearbeitung

Ausblick über den Tellerrand

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Diskussion: Personal (1)

Relationales Datenmodell Relationale Algebra

Aggregatfunktionen in der Relationenalgebra?

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

Relationale Anfragesprachen

Semesterklausur Datenbanksysteme 1 SS 2015

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Anfragebearbeitung und Optimierung

Oracle 10g Einführung

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 19. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 9

Das Relationale Modell

Fortsetzung: Projektion Selektion. NULL Werte

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Kapitel 8 Anfragebearbeitung. Logische Optimierung Physische Optimierung Kostenmodelle Tuning

Vorlesung Informationssysteme

Semesterklausur Wiederholung

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Aufgabe 1 Indexstrukturen

Methodik zur Optimierung in Datenbanken. Anja Rommel, 14-INM

Datenbanksysteme 2009

Wiederholung VU Datenmodellierung

Grundlagen des relationalen Modells

DATENBANKSYSTEME: SQL

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

Einführung und Überblick

Grundlagen: Datenbanken

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2014

Aufgabe 1: Verschachtelte Anfragen

Das relationale Modell (Teil 1)

Vorlesung Informationssysteme

Wiederholung VU Datenmodellierung

Rückblick. Erweiterte b-adische Darstellung von Kommazahlen. 7,1875 dargestellt mit l = 4 und m = 4 Bits. Informatik 1 / Kapitel 2: Grundlagen

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.

Datenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom

Datenbanksysteme SS 2007

Transkript:

Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13

Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer Ausdruck Auswertungs- Plan (QEP) Anfrage- Optimierer Codeerzeugung Ausführung SQL Spezifikation der Anfrage RA was gehört zur Ergebnismenge? Operatorbaum wie wird die Ergebnismenge berechnet? Thomas Gottron GLDB 2012/13 2

Abstraktionsebenen Konzeptuelle Ebene Keine Abfragen Logische Ebene Logische Optimierung (Modellabhängig) Physische Ebene Physische Optimierung (Implementation) Thomas Gottron GLDB 2012/13 3

Logische Optimierung Thomas Gottron GLDB 2012/13 4

Ziele der logischen Optimierung Reduktion der Datenmenge Reduktion der Zugriffe auf Hintergrundspeicher Nur benötigte Daten laden Reduktion der Notwendigkeit der Auslagerung So wenig Daten wie nötig vorhalten Reduktion der auszuführenden Vergleiche So wenig Arbeitsschritte wie möglich Umformung einer einfachen Algebraischen Ausgangsform Rechenregeln der Relationalen Algebra Optimale Lösung kann i.d.r. nicht effizient bestimmt werden Heuristiken (Vermeiden des schlimmsten Falls) Thomas Gottron GLDB 2012/13 5

Kanonische Übersetzung SELECT A1,..., An FROM R1,..., Rk WHERE P Rk R3 R1 R2 Thomas Gottron GLDB 2012/13 6

Beispiel: Kanonische Übersetzung SELECT Titel FROM Professoren, Vorlesungen WHERE Name = Popper AND PersNr = gelesenvon 2 Zeilen 1 Spalten 2 Zeilen 15 Spalten 54612 Zeilen 15 Spalten Professoren 164 Zeilen 5 Spalten Vorlesungen 333 Zeilen 10 Spalten Thomas Gottron GLDB 2012/13 7

Erste Optimierungsidee: frühe Selektion SELECT Titel FROM Professoren, Vorlesungen WHERE Name = Popper AND PersNr = gelesenvon 2 2 333 1 Professoren 164 Vorlesungen 333 π[titel] σ PersNr=gelesenVon σ Name= Popper Professoren Vorlesungen Thomas Gottron GLDB 2012/13 8

Zweite Optimierungsidee: Projektionen einfügen SELECT Titel FROM Professoren, Vorlesungen WHERE Name = Popper AND PersNr = gelesenvon 3 1 3 1 π[persnr] 2 π[titel, gelesenvon] 5 Professoren 5 Vorlesungen 10 π[titel] σ PersNr=gelesenVon π PersNr σ Name= Popper Professoren π Titel,gelesenVon Vorlesungen Thomas Gottron GLDB 2012/13 9

Dritte Optimierungsidee: Join statt Kreuzprodukt SELECT Titel FROM Professoren, Vorlesungen WHERE Name = Popper AND PersNr = gelesenvon 1 1 π[persnr] 2 1 2 3 π[titel, gelesenvon] 333 2 1 5 Professoren 164 5 Vorlesungen 333 10 π[titel] π PersNr σ Name= Popper Professoren π Titel,gelesenVon Vorlesungen Thomas Gottron GLDB 2012/13 10

Vierte Optimierungsidee: Reihenfolge der Joins SELECT x FROM A, B, C WHERE A.y = B.y AND B.z= C.z Gute Abschätzung nötig π[x] 3 π[x] 3 80 4 A B C 1000 100 5 A B C 1000 100 5 π[x] A B C π[x] A B C Thomas Gottron GLDB 2012/13 11

Heuristik: durch Umformung σ σ 1 σ 2 σ 1. Selektionen aufbrechen 2. Selektionen nach unten schieben σ 3. Selektion und Kreuzprodukt zu Join zusammenfassen 4. Joinreihenfolge optimieren π π 5. Projektionen einfügen 6. Projektionen nach unten schieben Thomas Gottron GLDB 2012/13 12

Äquivalenzerhaltende Umformungsregeln Aufbrechen von Konjunktionen in Selektionen σ P1 P 2 R = σ P1 σ P2 R σ σ 1 σ 2 Selektionen sind kommutativ σ P1 σ P2 R = σ P2 σ P1 R σ Projektionskaskaden π A 1 π A 2 π A n R = π A 1 R π Kaskade nur definiert, wenna 1 A 2 A n Vertauschen von Projektion und Selektion π A σ P R = σ P π A R σ π Wenn die Attribute aus P in A liegen Thomas Gottron GLDB 2012/13 13

Äquivalenzerhaltende Umformungsregeln Selektion an Join / Kreuzprodukt vorbeischieben σ P R 1 R 2 = σ P R 1 R 2 σ σ P R 1 R 2 = σ P R 1 R 2 Wenn P nur Attribute aus R 1 betrifft Projektion an Join vorbeischieben π A R 1 R 2 = π A π A 1 R 1 π A 2 R 2 π Wobei A 1 nur Attribute aus R 1 betrifft und Joinattribute erhält (ebenso für A 2 ). Joinattribute werden nachgelagert über π A ausgeblendet. Vertauschen von Projektion und Vereinigung π A R 1 R 2 = π A R 1 π A R 2 π Thomas Gottron GLDB 2012/13 14

Äquivalenzerhaltende Umformungsregeln Kommutativität: R 1 R 2 = R 2 R 1 R 1 R 2 = R 2 R 1 R 1 R 2 = R 2 R 1 R 1 R 2 = R 2 R 1 Assoziativität: R 1 R 2 R 3 = R 1 R 2 R 3 R 1 R 2 R 3 = R 1 R 2 R 3 R 1 R 2 R 3 = R 1 R 2 R 3 R 1 R 2 R 3 = R 1 R 2 R 3 Konkrete Ausführung benötigt Kostenmodelle und Größenabschätzungen Thomas Gottron GLDB 2012/13 15

Äquivalenzerhaltende Umformungsregeln Selektion und Kreuzprodukt zusammenfassen σ R1.A=R 2.B R 1 R 2 = R 1 R1.A=R 2.B R 2 σ DeMorgan sche Umformungen in Selektionsbedingungen: σ P Q = σ P Q σ P Q = σ P Q σ σ 1 σ 2 Erlaubt dadurch das Verschieben von Negationen Thomas Gottron GLDB 2012/13 16

Zusammenfassung Logische Optimierung Ausgangspunkt: kanonische Übersetzung Heuristische Umformungsregeln Optimum nicht garantiert Äquivalenzerhaltende Umformungsregeln der RA Ergebnis darf nicht verändert werden Ergebnis: Relationaler Ausdruck als Operatorbaum Unabhängig von physischer Umsetzung Thomas Gottron GLDB 2012/13 17

Fragen? gottron@uni-koblenz.de http://west.uni-koblenz.de/teaching/ws1213/datenbanken Thomas Gottron GLDB 2012/13 18