Aspekte und Werkzeuge der Datenbankadministration und deren Automatisierung Seminarleiter:

32
Aspekte und Werkzeuge der Datenbankadministration und deren Automatisierung Seminarleiter: Prof. Dr. K. Küspert, D. Wiese, G. Rabinovitch Configuration Advisor und Design Advisor von Michael Kellner

description

Aspekte und Werkzeuge der Datenbankadministration und deren Automatisierung Seminarleiter: Prof. Dr. K. Küspert, D. Wiese, G. Rabinovitch Configuration Advisor und Design Advisor von Michael Kellner. Inhaltsverzeichnis. Autonomic Database Management - PowerPoint PPT Presentation

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

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

Inhalt

ADBMS

ConfigurationAdvisor

DesignAdvisor

Fazit

Kommandozeilenbasierter Aufruf (Syntax)

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

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

Komponente für Indizes und MQT‘s

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

Inhalt

ADBMS

ConfigurationAdvisor

DesignAdvisor

Fazit

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