7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen
|
|
- Johanna Grosse
- vor 7 Jahren
- Abrufe
Transkript
1 7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen Anfragedarstellung Anfragetransformation Erstellung und Auswahl von Zugriffsplänen Kostenbewertung WS10/11, Prof. Dr. E. Rahm 7-1 Anfrageoptimierung zentrales Problem Umsetzung deskriptiver Anfragen in eine zeitoptimale Folge interner DBVS-Operationen Anfrageübersetzer/-optimierer des DBVS ist im wesentlichen für eine effiziente Abarbeitung verantwortlich, nicht der Programmierer hohe Komplexität wegen großer Auswahlmächtigkeit von Sprachen wie SQL mengenorientierte Operationen auf 1 oder mehreren Tabellen, inkl. Joins Prädikate wie EXISTS, NULL, LIKE u. a. geschachtelte Anfragen beliebiger Tiefe (unabhängig oder korreliert) Built-in- und Sortier-Funktionen auf Partitionen der Satzmenge auch Änderungsoperationen sind mengenorientiert Integritätsbedingungen, inkl. referentielle Integrität sind zu wahren Operationen können sich auf Sichten von Relationen beziehen oft extreme Kostenunterschiede zwischen funktional äquivalenten Zugriffsplänen mit / ohne Indexnutzung unterschiedliche Verfahren für Join, Sortierung,... unterschiedliche Reihenfolge (z.b. Selektion vor Join) WS10/11, Prof. Dr. E. Rahm 7-2
2 Übersetzung von DB-Anweisungen Deklarative Anfrage (Query) Algebraischer Ausdruck Optimierter algebraischer Ausdruck Syntaxanalyse (Parsing) Semantische Analyse Sichtauflösung Standardisierung Anfragetransformation -Normalisierung -Vereinfachung -Restrukturierung (algebraische Optimierung) Optimierung -Berücksichtigung von Zugriffspfaden,... -Kostenbewertung Ausführungsplan (Query Evaluation Plan, QEP) Code-Generierung WS10/11, Prof. Dr. E. Rahm 7-3 Interpretation vs. Übersetzung (1) Anfrageanalyse und -optimierung können erfolgen zur Übersetzungszeit des AP oder zur Laufzeit (Interpretation) Interpretation: Interpreter erzeugt zur Laufzeit Einzelschritte zur Query-Ausführung Berücksichtigung des aktuellen DB-Zustands bei Auswertungsstrategie sehr hohe Ausführungskosten v.a. bei mehrfacher Ausführung derselben DB- Operationen (Programmschleifen) sowie durch häufige Katalogzugriffe am ehesten noch akzeptabel für Ad-Hoc-Anfragen bzw. dynamische SQL-Anweisungen (EXECUTE IMMEDIATE) WS10/11, Prof. Dr. E. Rahm 7-4
3 Interpretation vs. Übersetzung (2) Vorübersetzung: erweiterter Compiler bzw. Präcompiler führt Abbildungen aus (statische Namensbindung) aufwändige Optimierung möglich (Berücksichtigung mehrerer Ausführungsalternativen) mit zugeschnittenem Programm pro DB-Operation effiziente Ausführung Änderungen des DB-Zustandes nach der Übersetzung werden nicht berücksichtigt (neue Zugriffspfade, geänderte Statistiken etc.) => Invalidierung des Zugriffsmoduls und Neuübersetzung Interpretation Ausführung Gesamtkosten Vorübersetzung WS10/11, Prof. Dr. E. Rahm 7-5 Anzahl d. Satzzugriffe Anfragedarstellung Darstellung der Auswertungsstrategie durch Operatorgraph Blätter: Eingaberelationen Knoten stellen Operatoren (z. B. der Relationenalgebra) dar Kanten beschreiben operator-kontrollierten Datenfluss Verfeinerung um innere Operatoren möglich NAME GEHALT > AORT = `Leipzig PERS ABT WS10/11, Prof. Dr. E. Rahm 7-6
4 Anfragetransformation Ziele der Anfragetransformation (algebraische Optimierung) standardisierte Ausgangsdarstellung Elimination der Redundanz Verbesserung der Auswertbarkeit Standardisierung Wahl einer Normalform, z.b. konjunktive Normalform (A 11 OR... OR A 1n ) AND... AND (A m1 OR... OR A mn ) Elimination der Redundanz / Vereinfachung Behandlung/Eliminierung gemeinsamer Teilausdrücke (A 1 = a 11 OR A 1 = a 12 ) AND (A 1 = a 12 OR A 1 = a 11 ) Ausdrücke, die an leere Relationen gebunden sind, können vereinfacht werden Konstanten-Propagierung: A op B AND B = const. nicht-erfüllbare Ausdrücke, z.b.: A B AND B > C AND C A WS10/11, Prof. Dr. E. Rahm 7-7 Anfragetransformation (2) Verbesserung der Auswertbarkeit durch Query-Restrukturierung (query rewrite) Nutzung von Äquivalenzbeziehungen für relationale Operatoren P1 ( P2 (R)) P1 P2 (R) A ( A, B (R)) A (R) P ( A (R)) A ( P (R)) falls P nur Attribute aus A umfaßt P ( A (R)) A ( P ( A,B (R))) falls P auch Attribute aus B umfaßt P(R1) (R1 R2) P(R1) (R1) R2 P(R1) sei Prädikat auf R1 A, B (R1 R2) A (R1) B (R2) A /B seien Attributmengen aus R1/R2 P (R1 R2) P (R1) P (R2) inkl. Join-Attribut A (R1 R2) A (R1) A (R2) Zusammenfassung von Operationsfolgen Minimierung der Größe von Zwischenergebnissen selektive Operationen ( ) vor konstruktiven Operationen (,, ) Nutzung von Integritätsbedingungen (semantic query processing) Bsp.: A ist Primärschlüssel: A keine Duplikateliminierung erforderlich Integritätsbedingungen sind wahr für alle Tupel der betroffenen Relation: Hinzufügen einer Integritätsbedingung zur WHERE-Bedingung verändert den Wahrheitswert nicht WS10/11, Prof. Dr. E. Rahm 7-8
5 Beispiel zur algebraischen Optimierung Relationen: ABT ( ANR, BUDGET, A-ORT ) PERS ( PNR, NAME, BERUF, GEHALT, ALTER, ANR) PROJ ( PRONR, BEZEICHNUNG, SUMME, P-ORT) PM ( PNR, PRONR, DAUER, ANTEIL) Annahmen ABT: N / 5 Tupel, PERS: N Tupel, PM: 5 N Tupel, PROJ: M Tupel Gleichverteilung der Attributwerte A-ORT: 10 Werte; P-ORT: 100 Werte Query: Finde Name und Beruf von Angestellten, deren Abteilung in L ist und die in L Projekte durchführen Ausgangslösung für Operatorbaum NAME, BERUF ( A-ORT="L" ( P-ORT="L" ( (((ABT PERS) PM) PROJ)))) NAME, BERUF A-ORT="L" P-ORT="L" WS10/11, Prof. Dr. E. Rahm 7-9 ABT PERS PM PROJ Beispiel (2) Verschieben der Selektion zu den Blattknoten Verschieben der Projektion NAME, BERUF NAME, BERUF A-ORT="L" P-ORT="L" ANR PRONR A-ORT="L" PNR, ANR, PNR, PRONR NAME, BERUF P-ORT="L" ABT PERS PM PROJ ABT PERS PM PROJ Führe Selektion so früh wie möglich aus! Führe Projektion (ohne Duplikateliminierung) frühzeitig aus WS10/11, Prof. Dr. E. Rahm 7-10
6 Optimierter Operatorbaum: Beispiel (3) NAME, BERUF ANR A-ORT="L" PRONR PNR, ANR, PNR, PRONR P-ORT="L" NAME, BERUF ABT PERS PM PROJ Verknüpfe Folgen von unären Operationen wie Selektion und Projektion (wenn diese tupelweise abgewickelt werden können) Alternative Möglichkeit: Zusammenfassen von PNR PRONR PM PRONR P-ORT = L PROJ WS10/11, Prof. Dr. E. Rahm 7-11 Erstellung und Auswahl von Ausführungsplänen Eingabe: transformierte Anfrage existierende Speicherungsstrukturen und Zugriffspfade Kostenmodell Ausgabe: optimaler bzw. "guter" Ausführungsplan (Query Evaluation Plan) Vorgehensweise: 1. Generiere alle vernünftigen logischen Zugriffspläne zur Auswertung der Anfrage 2. Zerlege komplexere Operationen in Folge von Ein- und Zwei-Variablen-Ausdrücke 3. Wähle für jeden logischen Operator Implementierungsstrategie unter Berücksichtigung der Zugriffspfade und Speicherungsstrukturen (Clusterung, Sortierreihenfolge etc.) 4. Wähle den billigsten Zugriffsplan gemäß dem vorgegebenen Kostenmodell aus Suchstrategien voll-enumerativ beschränkt-enumerativ zufallsgesteuert Reduzierung: bestimmte Suchpfade zur Erstellung von Ausführungsplänen werden nicht mehr verfolgt WS10/11, Prof. Dr. E. Rahm 7-12
7 Bestimmung von Ausführungsplänen: Beispiel SELECT Name, Beruf FROM Pers P, Abt A WHERE P.Anr = A.Anr AND A.Mgr = Coy Abt Anr Mgr = Coy Name, Beruf Anr, Name, Beruf Pers Mögliche Zugriffspfade (Annahme): A P a I A (Anr) b I A (Mgr) c Scan (A) d I P (Anr) e I P (Mgr) f Scan (P) N 1 N 1 N 1 N 2 N 2 N 2 Kostenermittlung: C (A.Anr) C (P.Anr) => A P a b c d e f Reduzierung: Abschneiden von Teilbäumen N 1 N 1 N 1 N 2 N 2 N 2 WS10/11, Prof. Dr. E. Rahm 7-13 Berechnung der Zugriffskosten Optimizer erstellt Kostenvoranschlag für jeden Zugriffsplan (möglicher Lösungsweg) Welche Kosten sind zu berücksichtigen? Berechnungskosten (CPU-Kosten, Pfadlängen) E/A-Kosten (# der physischen Referenzen) Speicherungskosten (temporäre Speicherbelegung im DB-Puffer und auf Externspeichern) im verteilten Fall: Kommunikationskosten (# der Nachrichten, Menge der zu übertragenden Daten) Gewichtete Kostenformel: C = #physischer Seitenzugriffe + W * (#Aufrufe des Zugriffssystems) gewichtetes Maß für E/A- und CPU-Auslastung W ist das Verhältnis des Aufwandes für einen ZS-Aufruf zu einem Seitenzugriff Ziel der Gewichtung: Minimierung der Kosten in Abhängigkeit des Systemzustandes System "I/O-bound": kleines W: W I O #Instr. pro ZSAufruf = #Instr.pro E A + Zugriffszeit MIPS-Rate System "CPU-bound": relativ großes W: #Instr.pro ZSAufruf W CPU = #Instr. pro E A WS10/11, Prof. Dr. E. Rahm 7-14
8 Kostenmodell statistische Werte statistische Größen: M S Anzahl der Datenseiten des Segmentes S L S Anzahl der leeren Seiten in Segment S N R Anzahl der Tupeln der Relation R (Card(R)) T R,S Anzahl der Seiten in S mit Tupeln von R C R Clusterfaktor (Anzahl Tupel pro Seite) j I Anzahl der Attributwerte / Schlüsselwerte im Index I für Attribut A (=Card ( A (R)) B I Anzahl der Blattseiten (B*-Baum) für Index I... Statistiken müssen im Katalog gewartet werden Aktualisierung bei jeder Änderung zu aufwendig (zusätzliche Schreib- und Log-Operationen, Katalog wird zum Sperr-Engpass) Alternative: - Initialisierung der statistischen Werte zum Lade- oder Generierungszeitpunkt von Relationen und Indexstrukturen - periodische Neubestimmung der Statistiken durch eigenes Kommando/Dienstprogramm WS10/11, Prof. Dr. E. Rahm 7-15 Kostenmodell - Berechnungsgrundlagen Mit Hilfe der statistischen Werte kann der Optimizer jedem Verbundterm im Qualifikationsprädikat einen Selektivitätsfaktor (0 SF 1) zuordnen (erwarteter Anteil an Tupeln, die das Prädikat erfüllen): Card ( p (R)) = SF(p). Card (R) Selektivitätsfaktor SF bei: A i = a i SF = 1/j i wenn Index auf A i 1/10 sonst (a k -a i ) / (high-key - low-key) a i A i a k SF = wenn Index auf A i 1/4 sonst 1 / Max(j i, j k ) wenn Index auf A i, A k A i = A k SF = 1 / j i wenn Index auf Ai 1/10 sonst A i IN (Liste von Werten) (high-key - a i ) / (high-key - low-key) A i a i SF = bei linearer Interpolation 1/3 sonst SF = r / j i bei r Werten auf Index 1/2 sonst Berechnung von Ausdrücken SF (p(a) p(b)) = SF (p(a)). SF (p(b)) SF (p(a) p(b)) = SF (p(a)) + SF (p(b)) - SF (p(a)). SF (p(b)) SF ( p(a)) = 1 - SF (p(a) Join-Selektivitätsfaktor (JSF): Card (R S) = JSF * Card(R) * Card(S) bei (N:1)-Joins (verlustfrei): Card (R S) = Max(Card(R), Card(S)) WS10/11, Prof. Dr. E. Rahm 7-16
9 Grundsätzlich Probleme Anfrageoptimierung beruht i.a. auf zwei fatalen Annahmen 1. Alle Datenelemente und alle Attributwerte sind gleichverteilt 2. Suchprädikate in Anfragen sind unabhängig beide Annahmen sind jedoch im allgemeinen Fall falsch! Beispiel (GEHALT 100K ) AND (ALTER BETWEEN 20 AND 30) Bereiche: 10K - 1M > lineare Interpolation, Multiplikation von Wahrscheinlichkeiten Lösung: Verbesserung der Statistiken / Heuristiken WS10/11, Prof. Dr. E. Rahm 7-17 Verfeinerte Kostenmodelle verbesserte Ansätze zur Schätzung der Verteilung von Attributwerten parametrisierte Verteilungen (z.b. Normalverteilung) Histogramme Stichproben Histogramme Unterteilung des Wertebereichs in Intervalle; Häufigkeitszählung pro Intervall äquidistante Intervalle vs. Intervalle mit etwa gleicher Häufigkeit von Werten (Equi-Depth- Histogramme) Häufigkeit Häufigkeit Attributwerte a) parametrisierte Verteilung b) Histogramm WS10/11, Prof. Dr. E. Rahm 7-18 Attributwerte
10 Tuning-Aspekte die meisten DBS nutzen mittlerweile kostenbasierten Optimierer Erzeugung bzw. Auffrischung der notwendigen Statistiken explizit durch DBA Oracle: analyze table PERS compute statistics for table; DB2: runstats on table... Analyse generierter Auswertungspläne durch EXPLAIN-Anweisung EXPLAIN PLAN FOR SELECT DISTINCT S.Semester FROM Student S, Hoert H, Vorlesung V, Prof P WHERE P.Name="Rahm" AND V.liest = P.PNR AND V.VNR=H.VNR AND H.Matnr=S.Matnr SELECT STATEMENT Cost = SORT UNIQUE HASH JOIN TABLE ACCESS FULL STUDENT HASH JOIN TABLE ACCESS BY ROWID PROF INDEX RANGE SCAN PROFNAMEINDEX TABLE ACCESS FULL VORLESUNG TABLE ACCESS FULL HOERT graphische Darstellung von Auswertungsplänen WS10/11, Prof. Dr. E. Rahm 7-19 Visual Explain (DB2) WS10/11, Prof. Dr. E. Rahm 7-20
11 WS10/11, Prof. Dr. E. Rahm 7-21 Zusammenfassung Interpretation vs. Übersetzung Interpretaion: hoher Aufwand zur Laufzeit (v.a. bei wiederholter Ausführung einer Anweisung) Übersetzung: pro DB-Anweisung wird zugeschnittenes Programm zur Übersetzungszeit erstellt -> hohe Laufzeiteffizienz Anfrageoptimierung: Kernproblem der Übersetzung mengenorientierter DB- Sprachen Analyse Anfragetransformation / Algebraische Optimierung Optimierung unter Berücksichtigung von Zugriffspfaden und Operatorimplementierungen (Verwendung von Heuristiken) Kostenbewertung und Auswahl des günstigsten Plans Code-Generierung Kostenvoranschläge für Zugriffspläne: CPU-Zeit und E/A-Aufwand Anzahl der Nachrichten und zu übertragende Datenvolumina (im verteilten Fall) gute Optimierung erfordert genaue Statistiken "fatale" Annahmen: Gleichverteilung aller Attributwerte, Unabhängigkeit aller Attribute EXPLAIN-Funktion zur Erklärung von Ausführungsplänen WS10/11, Prof. Dr. E. Rahm 7-22
8. Anfrageoptimierung
8. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen Anfragedarstellung Anfragetransformation Erstellung und Auswahl von Zugriffsplänen Kostenbewertung Prof. E. Rahm 8-1
7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen
7. Anfrageoptimierung Vorgehensweise Übersetzung vs. Interpretation von DB-Operationen Anfragedarstellung Logische Optimierung / Anfragetransformation Physische Optimierung Erstellung alternativer Ausführungspläne
DB-Anfrageverarbeitung Überblick (2)
DB-Anfrageverarbeitung Überblick (1) Transaktionsprogramme Mengenorientierte DB-Schnittstelle SQL, QBE... Satzorientierte DB-Schnittstelle FID EXT/STORE... Interne Satz-Schnittstelle Speichere Satz (in
Anfrageoptimierung Kostenabschätzung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Kostenabschätzung Dr. Thomas Gottron Wintersemester 2012/13 Regel vs. Kostenbasierte Optimierung Bisher: Regeln, wie Optimierung
Anfrageoptimierung Kostenmodelle
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Anfrageoptimierung Kostenmodelle Dr. Jérôme Kunegis Wintersemester 2013/14 Regel vs. Kostenbasierte Optimierung
Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung
Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis
Indexstrukturen in SQL
Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename
Kapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2017/2018 Kapitel 10: Relationale Anfragebearbeitung
Mengenorientierte DB-Schnittstelle 0. Übersetzungsverfahren für Datenbanksprachen - Vorgehensweise - Übersetzung vs.
Mengenorientierte DB-Schnittstelle 0 Übersetzungsverfahren für Datenbanksprachen - Vorgehensweise - Übersetzung vs. Interpretation Formen der Wirtsspracheneinbettung - Direkte Einbettung - Aufruftechnik
Kapitel 10: Relationale Anfragebearbeitung
Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:
9. Mengenorientierte DB-Schnittstelle
9. Mengenorientierte DB-Schnittstelle Logische Datenstrukturen Ziele - Darstellung der prinzipiellen Schritte der Übersetzung von mengenorientierten DB-Sprachen - Realisierung der verschiedenen Optimierungskonzepte
Grundlagen von Datenbanken. 4. Übung: Algebraische Optimierung
Grundlagen von Datenbanken 4. Übung: Algebraische Optimierung Algebraische Optimierung Ziel Effiziente Ausführung eines algebraischen Ausdrucks Minimierung der Größe von Zwischenergebnissen (das Endergebnis
Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 9.1.2008 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
Adaptive Anfrageoptimierung
Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Integriertes Seminar Datenbanken und Informationssysteme Wintersemester 2005/2006 Thema: Dependable Adaptive
Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 22.6.2009 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
Übungsblatt 8 Lösungsvorschläge
Prof. Dr. T. Härder Fachbereich Informatik Arbeitsgruppe Datenbanken und Informationssysteme Universität Kaiserslautern Übungsblatt 8 Lösungsvorschläge für die freiwillige Übung Unterlagen zur Vorlesung:
Implementierung von Datenbanksystemen
Anwendersoftware (AS) Implementierung von Datenbanksystemen Kapitel 9: Teile dieses Foliensatzes beruhen auf ähnlichen Vorlesungen, gehalten von Prof. Dr. T. Härder am Fachbereich Informatik der Universität
Grundlagen des Relationenmodells. Inhalt. Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung
Grundlagen des Relationenmodells Inhalt Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung N. Ritter, HMS, 13.09.2007 1 Übersicht (1) Datenstruktur Relation
5. Verteilte und parallele Query-Bearbeitung
5. Verteilte und parallele Query-Bearbeitung Einführung Verteilte Anfragebearbeitung: Teilschritte Anfragetransformation Daten-Lokalisierung Globale Optimierung Verteilte / parallele Selektion, Projektion,
Grundlagen des Relationenmodells. Inhalt. Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung
Grundlagen des Relationenmodells Inhalt Übersicht Grundkonzepte Abbildung von ER-Diagrammen Relationenalgebra Algebraische Optimierung N. Ritter, HMS 1 Übersicht (1) Datenstruktur Relation (Tabelle) einzige
12. Mengenorientierte DB-Schnittstelle
12. Mengenorientierte DB-Schnittstelle Übersetzungsverfahren für Datenbanksprachen - Vorgehensweise - Übersetzung vs. Interpretation Formen der Wirtsspracheneinbettung - Direkte Einbettung - Aufruftechnik
Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis
Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung
Star Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II
Star Join & Kostenbasierte Optimierung Architektur von Datenbanksystemen II Star Join Übungsaufgabe zum 09.06.2015 JOIN-ALGORITHMUS für folgendes Scenario Große Faktentabelle F mit sehr vielen Einträgen
Oracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.
Kostenmodelle und Tuning. Anfragebearbeitung 3. Kostenmodelle. Kostenbasierte Optimierung. VL Datenbanksysteme
Kostenmodelle und Tuning Anfragebearbeitung 3 VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Grundidee
Anfrageoptimierung Ausführungspläne, Hints, Statistikinformationen, IDEs
Anfrageoptimierung Ausführungspläne, Hints, Statistikinformationen, IDEs Peter Matjeschk 05-INDT Fachbereich Informatik, Mathematik und Naturwissenschaften HTWK-Leipzig 19. Juni 2008 Peter Matjeschk (Fb
4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen
Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Anfrageoptimierung Logische Optimierung
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
Physische Anfrageoptimierung
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 201/14 Ziel der physischen Optimierung π[titel] Konkrete Implementation der
Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 6. Lösung
Dr. rer. nat. Sven Groppe Übungen zur Vorlesung Mobile und Verteilte Datenbanken WS 2008/2009 Blatt 6 Lösung Aufgabe 1: Abgeleitete horizontale Fragmentierung Gegeben seien folgende Relationen: ABT (ANR,
Anfrageoptimierung Physische Optimierung
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Physische Optimierung Dr. Thomas Gottron Wintersemester 01/1 Ziel der phyischen Optimierung Konkrete Implementation der Operatoren
Anfragebearbeitung und Optimierung
In diesem Kapitel geht es darum, wie ein DBMS eine SQL-Anfrage verarbeitet. Also: 1. Schritte der Anfragebearbeitung 2. Parsen und Validieren 3. Optimieren und Erstellen des Zugriffsplans Schritte der
Access Path Selection in a Relational Database Management System. Access Path Selection Edgar Näther
Access Path Selection in a Relational Database Management System Gliederung 2 Einführung Zugriffswege für eine Relation Einsatz von Statistiken / Selektivitätsfaktoren Kostenformeln für eine Relation Auswahl
Diskussion: Personal (1)
Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens
Datenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 7 Datenbank-Tuning Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)
1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,
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, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/
Datenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden
Datenbanken 2 Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden Inhalte des Kapitels Pufferverwaltung und Optimierung von Zugriffspfaden DB-Puffermanagement DB-Zugriffspfade Explains Lernziele
Anfragebearbeitung 1. Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 16.11.016 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash
Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,
DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.
1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.ONR) Jugendherberge(JNR, Name, Ort Ort.ONR, Manager Person.PNR) Ort(ONR,
Physischer DB-Entwurf
Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer
Optimierung von Datenbanken
Optimierung von Datenbanken Vortrag in Datenbanken II Bettina Keil 19. Juni 2008 Optimierung von Datenbanken 1/17 Gliederung Motivation Optimierung von Datenbanken 2/17 Motivation Performancesteigerung:
Optimiertes Laden in die F-Fakten-Tabelle des SAP BW
Optimiertes Laden in die F-Fakten-Tabelle des SAP BW Schlüsselworte SAP BW Index unusable. Einleitung Jörn Bartels Oracle München Mit Oracle Database 11g Release 2 kann das Laden der F-Fakten Tabelle in
Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1
Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'
Datenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann
Datenbanksysteme I Anfragebearbeitung und -optimierung 27.6.2011 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)
SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
Performance in der Oracle Datenbank von Anfang an
Performance in der Oracle Datenbank von Anfang an Marco Mischke, 26.04.2018 DOAG Regional Agenda Tabellen Indizes Ausführungspläne SQL vs PL/SQL Tabellen Zu 99% werden Standard Strukturen zur Speicherung
Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfrageoptimierung. Nikolaus Augsten. Wintersemester 2014/15
Inhalt Datenbanken 2 Anfrageoptimierung 1 Nikolaus Augsten 2 nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2014/15 3 4 Augsten (Univ. Salzburg) DB2 Anfrageoptimierung
Datenbanken Implementierungstechniken SS2015
Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences Parallele DBMS Datenbanken Implementierungstechniken SS2015 Alexander Müller Fakultät Informatik, Mathematik
SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.
SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit
Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis
Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)
Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle
Anfragebearbeitung 3
Anfragebearbeitung 3 VL Datenbanksysteme, WS 2014/5 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Kostenmodelle und
Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD
Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der
Anfrageverarbeitung und Kostenmodelle
Anfrageverarbeitung und Kostenmodelle Warum ist es wichtig? Ziel der Anfrageverarbeitung (query processing): eine Anfrage möglichst effizient auszuführen Eine effiziente Anfrageauswertung hängt davon ab,
3. Grundlagen relationaler Datenbanksysteme
3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen
Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit
Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit 23. IV. 2018 Outline 1 Organisatorisches 2 Relationale Algebra Notation 3 Datenintegrität 4 Funktionale Abhängigkeit 5 SQL Outline 1 Organisatorisches
SQL - Datenbankdesign - Aufbau
SQL - Datenbankdesign - Aufbau Kompakt-Intensiv-Training Unsere fünftägige ANSI SQL Schulung vermittelt Ihnen alle nötigen Kenntnisse zur Erstellung von Datenauswertungen und Programmierung wiederkehrender
Architektur und Optimierung relationaler Datenbanksysteme
Literatur Architektur und relationaler Datenbanksysteme M. Jarke, J. Koch: Query optimization in database systems, ACM Computing Surveys, Vol. 16, No. 2, pp. 111-152, 1984. (ein Klassiker zur Anfrageoptimierung)
Adaptive Optimierung von Datenbankanfragen
Adaptive Optimierung von Datenbankanfragen Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik D-67653 Kaiserslautern, Deutschland a weiner@informatik.uni-kl.de Zusammenfassung
Relationale Datenbanken
Ramon A. Mata-Toledo, Pauline K. Cushman Relationale Datenbanken Schaum's Repetitorien Übersetzung aus dem Amerikanischen von G&U Technische Dokumentation GmbH Z Die Autoren 9 Vorwort 9 1 Ein Überblick
DB-Tuning. Prof. Dr. T. Kudraß 1
DB-Tuning Prof. Dr. T. Kudraß 1 Tuning des konzeptuellen Schemas Das Design des konzeptuellen Schemas ist beeinflußt durch das Lastprofil der Applikation zusätzlich zur Frage der Redundanz. Überlegungen:
Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13
Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung
Semesterklausur Datenbanksysteme 1 SS 2015
Universität Augsburg, Institut für Informatik Sommersemester 2015 Prof. Dr. W. Kießling 10. April 2015 F. Wenzel, L.Rudenko Datenbanksysteme 1 Semesterklausur Datenbanksysteme 1 SS 2015 Hinweise: Die Bearbeitungszeit
Kommunikation und Datenhaltung
Kommunikation und Datenhaltung Anfrageoptimierung Überblick über den Datenhaltungsteil Einleitung und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach
Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung
Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)
Indizes B+Bäume in Oracle. Jörg Winkler
Indizes B+Bäume in Oracle Vortragende: Conrad Kobsch Jörg Winkler Inhalt Allgemeines Aufbau / Eigenschaften von B+Bäumen Vorteile / Nachteile B+Baum-Indexe Kriterien für Indizes Anlegen eines Indizes Anfrageoptimierung
Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13
Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel
Geoinformation Abbildung auf Tabellen
Folie 1 von 32 Geoinformation Abbildung auf Tabellen Folie 2 von 32 Abbildung auf Tabellen Übersicht Motivation des relationalen Datenmodells Von Objekten zu Tabellen Abbildung von Objekten Schlüssel Abbildung
Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung
Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:
(4 Punkte) Aufgabe 1: Relationenalgebra - Relationenkalkül
Musterlösunq zur Klausur 1665 Datenbanksvsteme 19.03.2005 Aufgabe 1: Relationenalgebra - Relationenkalkül (4 Punkte) In der Relationenalgebra werden die gewünschten Relationen durch Angabe einer Folge
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. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
8. Query Optimization. Architektur von Datenbanksystemen II
8. Query Optimization Architektur von Datenbanksystemen II Anfrageoptimierung Anfrageoptimierung Anfrage Interndarstellung Zugriffs- & Integritätskontrolle Anfragerestrukturierung Anfragetransformation
9 Auswertung von Anfrageoperatoren 9.1 Selektion
9. Auswertung von Anfrageoperatoren 9.1. Selektion Seite 1 9 Auswertung von Anfrageoperatoren 9.1 Selektion Auswertung von σ[a op val]r. Index zu A, Sortierung zu A, Operator op. Auswertung von Formeln
Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 21.11.2016 Anfragebearbeitung 2 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Physische Optimierung Iterator: einheitliche Schnittstelle
Logischer Entwurf von Datenbanken
Logischer Entwurf von Datenbanken Relationales Datenbankschema Wintersemester 16/17 DBIS 1 Typischer Datenbankentwurf Anforderungsanalyse und -spezifikation Miniwelt Konzeptioneller Entwurf E/R-Diagramm
Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)
Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:
Datenbanken II. Methodik zur Optimierung der Datenbanken. (Aissa Aarab)
Datenbanken II Methodik zur Optimierung der Datenbanken (Aissa Aarab) Motivation der Datenbankoptimierung: die Optimierung der Datenbanken bedeutet im allgemeinen,von den vielfältigen Möglichkeiten der
Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.
4.1 4.2 4.1 4.2 NICOLE SCHWEIKARDT, ISOLDE ADLER GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL 4, SEITE 1 Grenzen der Ausdrucksstärke konjunktiver Anfragen Wir haben gesehen: konjunktive
Oracle Indexing Primer
Oracle Indexing Primer Data Warehousing and Data Mining Patrick Schäfer Berlin, 18. Dezember 2017 patrick.schaefer@hu-berlin.de Vorlesung: Übung: https://hu.berlin/vl_dwhdm17 https://hu.berlin/ue_dwhdm17
4. Anfrageoptimierung. 4.1. Optimierung einzelner Operationen
Es gibt zwei Stufen für die Optimierung einer SELECT-FROM-WHERE-Anfrageauswertung: a) Optimierung jeder einzelnen Operation => systematische Schätzung der Kosten versch. Ausführungsstrategien, Auswahl
Kap. 3 Relationenmodell mit relationaler Algebra
Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,
Relationale Algebra. Relationale Algebra. Grenzen der Ausdrucksstärke konjunktiver Anfragen. Vereinigung und Differenz.
3.1 3.2 3.1 3.2 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL 3, SEITE 1 NICOLE SCHWEIKARDT GOETHE-UNIVERSITÄT FRANKFURT VORLESUNG LOGIK UND DATENBANKEN KAPITEL
Relationen-Algebra. Prof. Dr. T. Kudraß 1
Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen
Anfrageverarbeitung. Einführung
Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( σ ) Auswahl einer Teilmenge von Tupeln aus der
Datenbanken: Indexe. Motivation und Konzepte
Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher