Query Optimizer in DB2 Leo & POP Learning Optimizer / Progressive Query Optimization.

Slides:



Advertisements
Ähnliche Präsentationen
Lions Clubs International
Advertisements

Fast Fourier Transformation
Sortieren I - Bubblesort -
On the Criteria to Be Used in Decomposing Systems into Modules
Zusammenfassung der Vorwoche
Einfache Kombinationen aus Fixgeschäften und Optionen / Spreads
2. Programmstruktur – Teil 2
Seminar „Extrapolationsmethoden für zufällige Felder“
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Heuristiken und Kontexteinflüsse
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.2- LM 8 - LO 9 Definitionen zu LM 8.
Anfrage-Optimierung und -Bearbeitung in Verteilten DBMS
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Lernende Agenten Seminar Softwareagenten Wintersemester 2001/2002 Norman Neuhaus.
Dynamische Programmierung (2) Matrixkettenprodukt
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Allgemein Batchdatei/en erstellen Was ist das?? Wie geht das??
Imperative Programmierung
Übung Datenbanksysteme SQL-Anfragen (2)
Vortrag im Rahmen der Siegmundsburger Vortragsreihe 2006 zum Thema ASC und Self-Healing gehalten von Robert Fleischer.
Zusammenfassung Vorwoche
– Team 2 Aktueller Projektleiter: Christian Krapp
eXtreme Programming (XP)
“Perspektiven der Klassifikationsentwicklung“
Intelligent self-adaptation of user interface complexity in a case-based medical training system Alexander Hörnlein, Frank Puppe.
1 Sichten (1) Oftmals ist es für Anwendungen einfacher, nicht mit dem Original- Datenbestand, sondern einem speziell zugeschnittenen Ausschnitt zu arbeiten.
Einführung und Überblick
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
Analyse eines Handballspielzuges
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
SQL - Ausführungspläne Matthias Jauernig (03INB), Michael Lahl (03IND)
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
GlobalStorehouseGlobalStorehouse Institut für Modellbildung und Simulation IMS Bemerkung: Mit diesem "MB" und "WBM" lässt sich der ganze Zyklus abdecken.
K ü f a Kärntner Übungsfirma GmbH … hier lern ich gern!
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
Beispiel mit vier Personen und vier Sitzplätzen
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Verwendung von Maschinellem Lernen in einer einfachen Computerspielumgebung Anglberger Harald Brandl Stephan Mai 2003.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Thorsten Lugner Consulting
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung (Teil 1)
Wahrscheinlichkeitsrechnung
Datenbanksysteme für hörer anderer Fachrichtungen
Lern- und Denkstrategien I
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Objectives Verstehen was unterDelegate verstanden wird
IT Kosten Reduzierung und effizientere Dienstleistungen Wir optimieren Strukturen und Prozesse und reduzieren dabei Ihre IT Kosten Ihr OPTICONSULT International.
PHP: Operatoren und Kontrollstrukturen
Parallelisierung für Multiprozessor-Maschinen
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #3 Anfragebearbeitung (Teil 1)
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Die Präsentation des Lehrers der 21- allgemeinbildenden Schule des Bezirks Peschkö in Gebiet Buchara von Alijor Jahjojev.
Anwendung der Ellipsoidmethode in der Kombinatorischen Optimierung
Vorlesung Datenbanksysteme vom Anfragebearbeitung  Logische Optimierung.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
12. November 2001 Seminar Geoinformation Folie 1 Inhalt Einführung Bearbeitung raumbezogener Anfragen Ausblick Seminar Geoinformation Themenblock: „Implementierung.
Basierend auf den Arbeiten von
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
Focusing Search in Multiobjective Evolutionary Optimization through Preference Learning from User Feedback Thomas FoberWeiwei ChengEyke Hüllermeier AG.
Schnaps oder Fusel – Auslegung thermischer Trennapparate anhand realistischer Stoffdaten aus dem Thermodynamikpaket Props Elena Aulich Januar 2011.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Prognose von Zeitreihen Hans Nübel Hans Nübel Prognose von Zeitreihen Aufbau 1.Motivation 2.Holt-Winters-Verfahren 3.Prognose.
Grafische Darstellung von Gruppenunterschieden.
Indexierung Oracle: indexes Indexierung.
 Präsentation transkript:

Query Optimizer in DB2 Leo & POP Learning Optimizer / Progressive Query Optimization

Query Optimizer in DB2 Leo & POP Thomas Krömer 2 Gliederung  Einleitung  Ziel  LEO Kostenberechnung Architektur Wege des Lernens  POP Architektur  Zusammenfassung

Query Optimizer in DB2 Leo & POP Thomas Krömer 3 Einleitung Datenbankmanagementsysteme sind hoch komplex, bei ihrer Konfiguration und Tuning werden tiefgreifende Kenntnisse verlangt Leo ist ein lernender Optimierer Leo und Pop nutzen das Query Feedback zum Auto-Tuning zukünftiger sowie der aktuellen Anfrage Sie sind an ein Kostenmodell geknüpft, welches gewissen Annahmen unterliegt

Query Optimizer in DB2 Leo & POP Thomas Krömer 4 Einleitung Was heißt Lernen auf dem Gebiet der Künstlichen Intelligenz? „Maschinelles Lernen bezeichnet Veränderungen in Systemen, die Anpassungsfähig sind, in dem Sinne, dass diese Systeme in der Lage sind, die gleichen oder ähnliche Probleme in einer wiederkehrenden Situation besser zu lösen.“ MECHLER [Mec95] „Intelligente Informationssysteme“

Query Optimizer in DB2 Leo & POP Thomas Krömer 5 Ziele: Verbesserung der Leistungsfähigkeit eines Systems Leistungsverhalten = Wissenserwerb und Erweiterung des bereits vorhandenen Wissens Realität adäquat abbilden

Query Optimizer in DB2 Leo & POP Thomas Krömer 6 LEO - DB2's LEarning Optimizer LEO erkennt Fehler und betreibt Ursachensuche Grundlage ist ein Kostenmodell, das den Anfrageausführungsplan bewertet (QEP = „Query Execution Plan“) Modellannahmen:  Aktualität der Informationen  Gleichverteilung der Werte  Unabhängigkeit der Prädikate  Einschließungsprinzip

Query Optimizer in DB2 Leo & POP Thomas Krömer 7 LEO - DB2's LEarning Optimizer Von der Anfrage zum Ausführungsplan 1.Anfrageübersetzung 2.Optimierung 3.Codegenerierung 4.Anfrageausführung

Query Optimizer in DB2 Leo & POP Thomas Krömer 8 LEO - DB2's LEarning Optimizer Architektur:

Query Optimizer in DB2 Leo & POP Thomas Krömer 9 LEO - DB2's LEarning Optimizer Gebrauchskomponente: Vor Erzeugung verschiedener QEP für alle Basis-Tabellen der Anfrage müssen die Selektivitätsfaktoren für jedes Prädikat berechnet werden Falls Lernen = „true“  Anpassungswerte verwendet Beispiel:

Query Optimizer in DB2 Leo & POP Thomas Krömer 10 LEO - DB2's LEarning Optimizer Planaufbewahrungskomponente: Speichert QEP und zugehörige Schätzungen des Optimierers Code-Generator liefert ein ausführbares Programm aus dem optimalen QEP In Sektion werden dabei Counter platziert und diese inkrementiert

Query Optimizer in DB2 Leo & POP Thomas Krömer 11 LEO - DB2's LEarning Optimizer Planaufbewahrungskomponente: TBScan: IXScan: NL-Join: Group By: Est: Stat: TableScan, der die gesamte Tabelle einliest und mit dem Prädikat X.Prize >= 100 filtert ein IndexScan, bei dem ein Index genutzt wird, um das jeweilige Prädikat zu erfüllen ein Nested-Loop-Join stellt den Operator für die Funktion von Group By A in der Anfrage dar geschätzte Kardinalität am Ausgang des Operators Kardinalität im Systemkatalog EST: 1140 Stat: 7200Stat: 2100 EST: 200 Stat: EST: 149EST: 1120 EST: 513 EST: 10

Query Optimizer in DB2 Leo & POP Thomas Krömer 12 LEO - DB2's LEarning Optimizer Monitorkomponente: Liest Counter aus Berechnet aktuelle Kardinalitäten (Act) darf nur einen sehr geringen Overhead erzeugen

Query Optimizer in DB2 Leo & POP Thomas Krömer 13 LEO - DB2's LEarning Optimizer Monitorkomponente: Est: Stat: Act: geschätzte Kardinalität am Ausgang des Operators Kardinalität im Systemkatalog tatsächliche Kardinalität, bestimmt durch die Monitorkomponente EST: 1140 Act: 1283 Stat: 7200 Act: 7623 Stat: 2100 Act: 3949 EST: 200 Act: 500 Stat: Act: EST: 149 Act: 133 EST: 1120 Act: 2112 EST: 513 Act: 1007 EST: 10 Act: 117

Query Optimizer in DB2 Leo & POP Thomas Krömer 14 LEO - DB2's LEarning Optimizer Analysekomponente: aktuelle Kardinalitäten (von Monitorkomponente) mit denen aus dem Skelett des korrespondierenden QEP zusammengeführt fehlerhafte Berechnungen werden erkannt, nach Ursachen dafür gesucht und Anpassungswerte gespeichert Analyse kann offline als Batch-Prozess auf dem eigenen oder auf einem fremden System oder online nach jeder ausgeführten Anfrage ablaufen

Query Optimizer in DB2 Leo & POP Thomas Krömer 15 LEO - DB2's LEarning Optimizer Berechnung der Anpassungswerte: Vergleich der aktuellen Selektivität eines Prädikates mit der geschätzten Selektivität  leitet daraus Anpassungswerte ab Wenn für ein Prädikat (z.B. col 0, 05) festgestellt wird, berechnet LEO folgendermaßen einen Anpassungswert:

Query Optimizer in DB2 Leo & POP Thomas Krömer 16 LEO - DB2's LEarning Optimizer Berechnung der Anpassungswerte: Selektivität für ein Prädikat sel(col >=x) entspricht 1 − sel(col< x) Der Anpassungswert für den Operator TBSCAN auf Tabelle X mit dem Prädikat Price >= 100 wird wie folgt berechnet:

Query Optimizer in DB2 Leo & POP Thomas Krömer 17 LEO - DB2's LEarning Optimizer Berechnung der Anpassungswerte: Anpassungswert adj für Price < 100: Berechnungen bei zukünftig ausgeführter Anfrage:

Query Optimizer in DB2 Leo & POP Thomas Krömer 18 LEO - DB2's LEarning Optimizer Zwei Wege des Lernens: Verzögertes Lernen: Es werden Korrekturwerte für die Statistiken berechnet, die zur Verbesserung zukünftiger Kostenschätzungen eingesetzt werden. „deferred learning for the futur“ Sofortiges Lernen: Während der Ausführung wird eine Suboptimalität des Ausführungsplans erkannt und Teile davon reoptimiert. Bereits berechnete Zwischenergebnisse können wieder verwendet werden. „progressive optimization“

Query Optimizer in DB2 Leo & POP Thomas Krömer 19 POP – „progressive query optimization“ Pop vergleicht während der Ausführung an „Checks“ Kardinalitätschätzungen mit den tatsächlichen Kardinalitäten Pop ist somit fähig Kardinalitäts - Schätzungsfehler in der Mitte eines QEP´s zu finden und zu Reoptimieren  liefert somit Robustheit, weil suboptimale Pläne nicht ausgeführt werden zwei Dimensionen, an denen man ein Reoptimierungsschema bewerten kann RisikoChancen Für gute Ergebnisse ist Checkpointoperator verantwortlich

Query Optimizer in DB2 Leo & POP Thomas Krömer 20 POP – „progressive query optimization“ Addiert Logik zu:  Plangenerator des Anfrageoptimierers  Checkplatzierungen  Codegenerator  „Runtime System“  Zwischenergebnisse

Query Optimizer in DB2 Leo & POP Thomas Krömer 21 POP – „progressive query optimization“ Varianten von Checks: CheckRiskenChancen Lazy CheckingSehr gering Gering, nur an Materialisierungspunkten Lazy Check with Eager MaterializationEtwas höher als Lazy CheckingAn MP und NLJN-Ausgabe Eager Checking without compensation (ECWC) Hoch Kann zu jeder Zeit während der Materialisation reoptimieren Eager Checking with Deferred compensation (ECDC) HochÜberall vor einem MP Eager Checking with buffering (ECB)HochÜberall in einem SPJ-Anfrageplan

Query Optimizer in DB2 Leo & POP Thomas Krömer 22 Zusammenfassung Forschungsergebnis: Stabilität und Konvergenz  aus dem Query Feed-Back (hartes Wissen)  aus Statistik und den Modellannahmen (unsicheres Wissen) Bei Unterschätzungen greift Leo auf unsicheres Wissen zurück Überschätzung werden sind nicht so einfach zu beheben  Um eine vernünftige Form der Stabilität zu erreichen, sollte der „autonomic optimizer“ einen Forschungsmodus am Anfang verwenden

Query Optimizer in DB2 Leo & POP Thomas Krömer 23 Zusammenfassung Wann wieder optimieren? „Immediate feedback-based learning“ Frage: Ist der aktuelle Plan suboptimal mit den neuen Kardinalitäten? Ist die Kostendifferenz groß genug für eine Reoptimierung? Zahl von Wiederoptimierungsversuchen für eine einzelne Frage beschränken „stability and convergenz“

Query Optimizer in DB2 Leo & POP Thomas Krömer 24 Zusammenfassung Lernen anderer Informationen Lernen nicht beschränkt auf Kardinalitäten und Selektivitäten Feedback Schleife kann laufende Kosten und Parameter vergleichen Feedback ist nicht beschränkt auf Dienstleistung und Mittelverbrauch (was DBMS nutzt) sondern kann auch Anwendungen dienen!

Danke für die Aufmerksamkeit!