Vorlesung Datenbanksysteme vom 20.10.2004 Anfragebearbeitung Kostenmodelle Tuning.

Slides:



Advertisements
Ähnliche Präsentationen
Excel – Kurs Philip Clasen
Advertisements

Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen.
Datenintegrität Integitätsbedingungen Schlüssel
Kapitel 8 Anfragebearbeitung
Kapitel 8 Anfragebearbeitung Logische Optimierung Physische Optimierung Kostenmodelle Tuning.
1 Datenbankapplikationen 9.1MS Visio 9.2MS Access 9.3Embedded SQL 9.4JDBC 9.5Cold Fusion 9.6PHP.
Einführung in die Informatik: Programmierung und Software-Entwicklung
PL/SQL - Kurze Einführung -.
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Datenbanksysteme für FÜ WS2004/05 SQL1 - 1 Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Kapitel 8 Anfragebearbeitung
© A. Kemper / A. Eickler1 Kapitel 5: Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung.
Bauinformatik II Softwareanwendungen 1
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Standortfaktoren INTERN - Ausdrucksstark präsentieren.
Anfrage-Optimierung und -Bearbeitung in Verteilten DBMS
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Kapitel 19 Astronomie Autor: Bennett et al. Unsere Galaxis, die Milchstraße Kapitel 19 Unsere Galaxis, die Milchstraße © Pearson Studium 2010 Folie: 1.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
Kapitel 7: SQL.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Rel-Modell Relationenspezifische Operationen (11|21) Definition: natural join (natürlicher Verbund) Geg.: zwei Relationen r 1 : (A) und.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
EXPLAIN PLAN - Erste Schritte April 2004EXPLAIN PLAN2 Was fehlt noch? Konkretes Beispiel für einen Plan.
Kapitel 11 Anfragebearbeitung.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Datenintegrität Integitätsbedingungen Schlüssel
Auslegung eines Vorschubantriebes
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
Vorlesung #4 SQL (Teil 1).
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Erläuterung der wichtigsten Befehle
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Datenbanksysteme für hörer anderer Fachrichtungen
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Analyseprodukte numerischer Modelle
Vorlesung Datenbanksysteme vom Anfragebearbeitung Logische Optimierung Physische Optimierung.
2014 Januar 2014 So Mo Di Mi Do Fr Sa So
Pflanzenlernkartei 3 Autor: Rudolf Arnold. Pflanze 1 Gattung Merkmale Schädigung Bekämpfung.
Pflanzenlernkartei 2 Autor: Rudolf Arnold. Pflanze 1 Gattung Merkmale Schädigung Bekämpfung.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
Vorlesung #5 SQL (Teil 2).
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
Vorlesung Datenbanksysteme vom : Wiederholung Anfragebearbeitung  Logische Optimierung.
Datenbanken abfragen mit SQL
Vorlesung Datenbanksysteme vom Anfragebearbeitung 2  Architektur eines DBMS  Logische Optimierung  Physische Optimierung  Kostenmodelle.
Kapitel 8 Anfragebearbeitung  Logische Optimierung  Physische Optimierung  Kostenmodelle  „Tuning“
Vorlesung #9 Anfragebearbeitung
Institut für Informationssysteme
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 SQL (Teil 2).
Vorlesung #9 Anfragebearbeitung
Vorlesung #6 SQL (Teil 3).
Vorlesung #7 SQL (Teil 4).
Indexierung Oracle: indexes Indexierung.
 Präsentation transkript:

Vorlesung Datenbanksysteme vom Anfragebearbeitung Kostenmodelle Tuning

2 Architektur eines DBMS DML-CompilerDDL-Compiler Abfrageoptimierung Datenbankmanager Schemaverwaltung Dateiverwaltung LogdateienIndexeDatenbasisData Dictionary Mehrbenutzersynchronisation Fehlerbehandlung Interactive AbfrageAPI/PräcompilerVerwaltungswerkzeug

3 Wiederholung der Optimierungsphasen select distinct s.Semester from Studenten s, hören h Vorlesungen v, Professoren p where p.Name = ´Sokrates´ and v.gelesenVon = p.PersNr and v.VorlNr = h.VorlNr and h.MatrNr = s.MatrNr sh v p p.Name = ´Sokrates´ and... s.Semester

4 s h v p A s.MatrNr=h.MatrNr A p.PersNr=v.gelesenVon s.Semester p.Name = ´Sokrates´ A v.VorlNr=h.VorlNr

5 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

6

7 Sind verschiedene Strategien anwendbar, so benötigt man zur Auswahl eine Kostenfunktion. Sie basiert auf dem Begriff der Selektivität. Die Selektivität eines Suchprädikats schätzt die Anzahl der qualifizierenden Tupel relativ zur Gesamtanzahl der Tupel in der Relation. Beispiele: die Selektivität einer Anfrage, die das Schlüsselattribut einer Relation R spezifiziert, ist 1/ #R, wobei #R die Kardinalität der Relation R angibt. Wenn ein Attribut A spezifiziert wird, für das i verschiedene Werte existieren, so kann die Selektivität als (#R/i) / #Roder 1/i abgeschätzt werden. Selektivität

8

9 Abschätzung für einfache Fälle

10 Parametrisierte Verteilung Histogramm

11

12 I/O-Kosten: Block Nested Loop Join

13 Tuning von Datenbanken Statistiken (Histogramme, etc.) müssen explizit angelegt werden Anderenfalls liefern die Kostenmodelle falsche Werte In Oracle … analyze table Professoren compute statistics for table; Man kann sich auch auf approximative Statistiken verlassen Anstatt compute verwendet man estimate In DB2 … runstats on table …

14 Analysieren von Leistungsengpässen Geschätzte Kosten von Oracle

15 Baumdarstellung

16 Beispiel Anfrage SELECT* FROMA, B, C WHERE A.a = B.a AND B.b = C.a ; Blätter Tabellen innere Knoten Operatoren Annotation Ausführungsorte ship client IdxNLJ 1 idxscan 3 fscan 2 fscan 1 A1A1 C3C3 B2B2 HashJ 1 Auswertungsplan

17 Algorithmen - Ansätze Erschöpfende Suche Dynamische Programmierung (System R) A* Suche Heuristiken (Planbewertung nötig) Minimum Selectivity, Intermediate Result,... KBZ-Algorithmus, AB-Algorithmus Randomisierte Algorithmen Iterative Improvement Simulated Annealing

18 Problemgröße Suchraum (Planstruktur) 1.# Bushy-Pläne mit n Tabellen [Ganguly et al. 1992]: nenen (2(n-1))!/(n-1)! ,76* ,85 * ,3*10 27 (2(n-1))! (n-1)! 2. Plankosten unterscheiden sich um Größenordnungen 3. Optimierungsproblem ist NP-hart [Ibaraki 1984]

19 Dynamische Programmierung II Identifikation von 3 Phasen 1.Access Root - Phase: Aufzählen der Zugriffspläne 2.Join Root - Phase: Aufzählen der Join-Kombinationen 3.Finish Root - Phase: sort, group-by, etc.

20 Optimierung durch Dynamische Programmierung Standardverfahren in heutigen relationalen Datenbanksystemen Voraussetzung ist ein Kostenmodell als Zielfunktion I/O-Kosten CPU-Kosten DP basiert auf dem Optimalitätskriterium von Bellman Literatur zu DP: D. Kossmann und K. Stocker: Iterative Dynamic Programming, TODS, 2000 OS-O Optimaler Subplan Optimaler Subplan

21 DP - Beispiel IndexPläne {ABC} {BC} {AC} {AB} {C} {B} {A} 1. Phase: Zugriffspläne ermitteln

22 DP - Beispiel IndexPläne {ABC} {BC} {AC} {AB} {C}scan(C) {B}scan(B), iscan(B) {A}scan(A) 1. Phase: Zugriffspläne ermitteln

23 DP - Beispiel IndexPläne {ABC} {BC}... {AC}s(A) A s(C), s(C) A s(A) {AB}s(A) A s(B), s(A) A is(B), is(B) A s(A),... {C}scan(C) {B}scan(B), iscan(B) {A}scan(A) Pruning 2. Phase: Join-Pläne ermitteln (2-fach,...,n-fach)

24 DP - Beispiel IndexPläne {ABC} (is(B) A s(A)) A s(C) {BC}... {AC} s(A) A s(C) {AB} s(A) A is(B), is(B) A s(A) {C}scan(C) {B}scan(B), iscan(B) {A}scan(A) 3. Phase: Finalisierung

25 Enumeration Effiziente Enumeration [Vance 96] anstatt zunächst alle 2-elem, 3-elem,..., n-elem Pläne sequentiell zu enumerieren: effizientes Interleaving nur Pläne aus bereits berechneten Zeilen notwendig Beispiel: 1. A 2. B 3. AB 4. C 5. AC 6. BC 7. ABC