Aspekte und Werkzeuge der Datenbankadministration und deren Automatisierung Seminarleiter:
description
Transcript of Aspekte und Werkzeuge der Datenbankadministration und deren Automatisierung Seminarleiter:
Aspekte und Werkzeuge der Datenbankadministrationund deren Automatisierung
Seminarleiter: Prof. Dr. K. Küspert, D. Wiese, G. Rabinovitch
Configuration Advisorund
Design Advisor
von
Michael Kellner
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Inhaltsverzeichnis
• Autonomic Database Management• Anforderungen an ein ADBMS (Self-configuring,
Self-optimizing)
• Configuration Advisor• Benutzereingaben• automatische Erkennung der System Charakteristika• Expertenheuristiken• Konfigurationsmodell
• Design Advisor• Probleme durch zusätzliche Erweiterungen• 3 Komponenten des Design Advisor
(MQT‘s und Indizes, Partitioning, Multidimensional Clustering)
• Fazit
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Anforderungen an ein ADBMS
• Self Configuration:• sollte das System mit einer vernünftigen Konfiguration
versorgen• sollte schnell und automatisch erkennen, wenn sich
Umgebungskomponenten ändern und daraufhin das System anpassen
• Self Optimisation:• erlaubt dem DBMS alle Aufgaben in einer effizienten Art und
Weise auszuführen• wichtigste Aufgabe ist die Anfrageoptimierung• Optimierung sollte automatisch und während der Laufzeit
erfolgen
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Configuration Advisor
• dient hauptsächlich dem Datenbankentwurf
• vereinfacht das Tuning (über GUI‘s)
• besitzt 3 verschiedene Interfaces für den Zugriff• ein graphisches Interface• ein kommandozeilenbasiertes Interface• eine programmierbare Schnittstelle
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Aufbau
• der Configuration Advisor ist nach dem Prinzip erstellt, das jede Datenbankkonfiguration als ein mathematischer Ausdruck modelliert werden kann
• dieser Ausdruck umfasst drei Arten von Informationen:– Benutzereingaben
– automatische Erkennung der System Charakteristika
– Expertenheuristiken
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Automatische Erkennung der System Charakteristika
• z.B. Anzahl der CPU‘s, Anzahl an Festplatten, Speicherplatz, Arbeitsspeicher, etc.
• automatische Erkennung des Betriebssystems
• beinhaltet auch die derzeitige Datenbankkonfiguration
z.B. Anzahl und Größe der relationalen Tabellen, Anzahl und Größe von Puffern und die Anzahl an Datenbankcontainern
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Expertenheuristiken
• zusammengetragene Informationen von erfahrenen Datenbankadministratoren und Performance Tuning Experten
• wird kombiniert mit den ersten beiden Informationen, um das beste Konfigurationsmodell zu definieren
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit User specificationof the database environment
Expert heuristics
Autonomically sensed system characteristics
Configuration settings
Configuration model
Architekturmodell des Configuration Advisor
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Konfigurationsmodell
• mathematisches Modell
• ist unterteilt in drei verschiedene Klassen:• unabhängige modellierte Konfigurationseinstellungen• abhängig modellierte Konfigurationseinstellungen• zero sum game Relationships
• beinhaltet Algorithmen zur Berechnung der Konfigurationseinstellungen
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Design Advisor
• Auswahl des physischen DB-Design mit der besten Antwortzeit
• generiert für einen bestimmten Workload Vorschläge für:• neue Indizes• neue materialisierte Sichten (in DB2 MQT‘s)• Umpartitionierungen von Tabellen• Umwandlung in MDC-Tabellen• löschen von nicht benötigten Indizes und MQT‘s
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Design Advisor
• Workload bestimmen:• Dynamic statement cache• Query Patroller• User input
• Built-in Workload Compression:• gleiche Anfragen zu einer komprimieren
(durch den dynamic statement cache)• alle Statements kompilieren und nur die teuersten x% im
Workload behalten
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Probleme
• Interdepedenzen zwischen den einzelnen Erweiterungen
• zukünftige Depedenzen
• zu großer Lösungsraum
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Lösungsansätze
• Iterativer Ansatz• isolierte Betrachtung der Erweiterungen• Abhängigkeiten nicht beachten• Integration neuer Erweiterung ist einfach
• Integrativer Ansatz• gemeinsame Betrachtung aller Erweiterungen• alle Abhängigkeiten beachten• zukünftige Erweiterung schwierig
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Lösungsansätze
• Hybrider Ansatz
• Bildung von Komponenten
• Zuordnung der Erweiterungen zu Komponenten
• Iterative Betrachtung der einzelnen Komponenten
• Integrative Abarbeitung innerhalb der einzelnen Komponenten
Teilung des Design Advisor in drei Komponenten
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Komponenten des Design Advisors
• Komponente für Indizes und MQT‘s
• Komponente für Partitionen
• Komponente für Multi Dimensional Clustering Tables
• Komponenten teilen sich den Speicherplatz der zur Verfügung steht
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Combinatorial selection algorithm
• Gewichtung der Indizes und MQT‘s
• Startlösung ist Lösung des relaxierten
Rucksack-Problems
• Swapping-Algorithmus tauscht nicht benutzte Objekte gegen Objekte im Rucksack aus
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Design Advisor – Komponente für Partitionierung
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Design Advisor – Komponente für Partitionen
• Shared-Nothing-Database
– mehrere Prozessorelemente (PE)
– eigene Partitionen in jedem PE
– Kommunikation ist nachrichtenbasiert
– Zugriff auf Partitionen anderer PE‘s erfolgt über Subtransaktionen
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Design Advisor – Komponente für Partitionen
• Recommend Partitions– horizontal Teilung nach einem „partitioning key“
– partitioning key ist ein Teilmenge von Spalten
• Partition Expansion– Partitionen die optimal für einzelne Queries sind,
sind nicht unbedingt optimal für den gesamten Workload
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Enumeration Algorithmus
• probiert verschiedene Konfigurationen durch
• eine Konfiguration enthält jeweils nur eine Partition pro Tabelle
• rangbasierte Enumeration:– Einschränkung des Suchraums durch Ordnung der Partitionen– Abhängig von der Rangfunktion– Mit Hilfe von Benefit – Werten wird Suchbaum erstellt
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Evaluierung von Partitionen
• Enumeration Mode garantiert, das für jede Tabelle nur eine Partition betrachtet wird
• Optimizer ließt von der „Candidate Partition Table“ die markierten Partitionen und ersetzt in den Statistiken die originalen Partitionen
• Optimizer generiert die Pläne für die Anfragen und schätzt die Kosten einer Abfrage
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Design Advisor – Komponente für MDC-Tabellen
• MDC ist charakteristisch für:– Online Analytic Processing (OLAP)
– Decision Support Systems (DSS)
• MDC ist wichtig für:– Data Mining
– Business Analysis
• Indizes werden zu Blockindizes (verweisen nicht mehr auf einen einzelnen Datensatz, sondern auf Blöcke von Datensätzen)
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Kandidaten für MDC - Tabellen
• Clustering in unterschiedlichen Granularitätsstufen
• mögliche Kandidaten sind Spalten die in folgendem vorkommen:– Group By, Order By, berechnete Spalten
– Where-Klauseln für Gleichheit, Ungleichheit und Rangbeziehungen
• Abschätzung des Benefits für verschiedene Granularitätsstufen
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Fazit
• Configuration Advisor:• versorgt das System mit einer vernünftigen Konfiguration• erkennt nicht automatisch, wenn sich Umgebungskomponenten
ändern und das System automatisch und schnell an die neue Gegebenheit angepasst werden soll
• Design Advisor:• bestimmt für einen bestimmten Workload, bei gegebenen
verfügbaren Ressourcen und Umgebungsparametern gute Kandidaten für Indizes, MQT‘s, Partitionen und MDC-Tabellen
• fügt diese auf Wunsch auch automatisch in das System ein• Optimierung muss aber noch vom DBA angestoßen werden,
erfolgt nicht automatisch
Inhalt
ADBMS
ConfigurationAdvisor
DesignAdvisor
Fazit
Literaturverzeichnis
• Elnaffar, Powley, Benoit, Martin: Today‘s DBMSs: How automatic are they? 2003
• Lohmann, Lightstone: SMART: DB2 (More) Autonomic VLDB Conference Hong Kong, China 2002
• Zilio, Lightstone, Lohmann, Storm, Garcia-Arellano, Fadden: DB2 Design Advisor: Automatic Physical Database Design VLDB Conference Toronto, Canada 2004
• Zilio, Zuzarte, Lohmann, Cochrane, Gryz, Alton, Valentin: Recommending Materialized Views and Indexes with IBM DB2 Design Advisor
• Rao, Zhang, Lohmann, Megiddo: Automating Physical Database Design in a Parallel Database
• Lightstone, Bhattacharjee: Automated design of multidimensional clustering tables for relational databases VLDB Conference Toronto, Canada 2004
• Valentin, Zuliani, Zilio, Lohmann, Skelley: DB2 Advisor: An Optimizer Smart Enough to Recommend Its Own Indexes
• Schiefer, Valentin: DB2 Universal Database Performance Tuning Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 1999
• Kwan, Lightstone, Schiefer, Storm, Wu: Automatic Database Configuration for DB2 UDB – Compressing Years of Performance Expertise into Seconds of Execution