vortrag im rahmen der siegmundsburger vortragsreihe 2006 zum thema asc und self-healing gehalten von...
TRANSCRIPT
Vortrag im Rahmen der Siegmundsburger Vortragsreihe
2006
zum Thema ASC und Self-Healing
gehalten von Robert Fleischer
Inhalt des Vortrages
1. Self-optimization / ASCMotivationBeispiel für Notwendigkeit von ASCDie ASC ArchitekturPerformance Beispiel
2. Self-healingKurzüberblick Health MonitorKurzüberblick Health Center
???
Self-management
3.Self-healing2.Self-optimization1.Self-configuration 4.Self-protection
• LEO+POP• ASC
Motivation und Aspekte des Self-management
Was ist ASC?
Automated Statistics Collection
Komponente in IBM DB2 UDB ver.8.2 im Rahmen des
Self-management Konzeptes
Automatisierung des in DB2 integrierten Runstats Tools
Kein tiefgehendes eingreifen des DBA‘s
Hält Statistiken des Systemkataloges aktuell, wenn
kostenmäßig sinnvoll
Motivation für ASC?
Manuelles pflegen der Statistiken zeitaufwändig und kompliziert
Ziel jedes DBMS: Anfragen möglichst schnell und kostengünstig
abzuarbeiten
Nicht vorhandene bzw. aktuelle Statistiken resultieren in
Fehleinschätzungen des Optimizers
Schlechte Gesamtperformance und hohe Systembelastung
Beispiel für Fehleinschätzungen
Gegeben:
Relativ umfangreiche Tabelle (~14.000.000 Datensätze)
Nicht indiziert
einfache Anfragen und dazugehörige Anfragepläne
Beispiel für Fehleinschätzungen
x20
Lösung des Problems?
Sicherstellen das relevante Statistiken existieren
Überwachung der Aktualität Dieser
Ohne übermäßigen Anstieg des Rechenaufwands
Möglich durch Automatic Statistics Collection
Die ASC-Architektur
Basiert auf zwei autonomen Prozessen
Diese münden in Scheduler
Scheduler
Query-Feedback-Prozess
UDI-Prozess
Der Update-Delete-Insert-Prozess
Tabellenmenge G
-X1
-X2
D = G – X1 – X2
Die ASC-Architektur
Scheduler
Query-Feedback-Prozess
UDI-Prozess
Der Query-Feedback-Prozess
Besteht aus zwei Monitoren
Ablage aller generierten Daten im QFW
Dem QFA als Analysekomponente
Aufbau des Query-Feedback-Warehouse
Besteht aus 5
Tabellen
Gegliedert in
Feedback- und
Empfehlungsteil
Unabhängige
Komponente in
DB2
Der QF-Prozess im Detail
QF-Analyzer
Gesamtüberblick ASC-Architektur
Datenfluss zum Scheduler
Scheduler
UDI-Prozess
QF-Prozess
Runstats
RunstatsProfile
Aufruf AA mit einerTabellenmenge
Rückgabe einerTeilmenge
Aufruf des QFA
Rückgabeeiner P-Liste
ggf. Aktualisierung
Aufruf
Erstellen der Aufrufliste durch den Scheduler
Einteilung in fünf Klassen:
Useful: 10-50% der Werte der Zeilen verändert
Needed: Empfehlung durch QFA
Pressing: >50% der Zeilenwerte verändert
Urgent: needed + >10% veränderte Zeilenwerte
Critical: stark vernachlässigte Tabellen
Der Scheduling Algorithmus
// G, P, D, Q, C Listen mit Tabellen, T sei eine TabelleG := Durch ASC abzuhandelnde Tabellen in erster IterrationP, D, Q, C := {}while(true)
{D := AA(G); // Aufruf AA für Tabellen in GQ := QFA(); // Starten QFAP := prioritizeMerge(D, Q, C);while (Zeit in aktuellem Wartungsintervall)
{T := Pop(P); // T ist top priority TabelleRunstats+dcr}
(G, C) := constructDueTables() //Listen für nächstes //Intervall erstellen
warte bis zum nächsten Intervall;}
Was bleibt manuell zu tun?
Einstellung der zu überwachenden Tabellen
Zeitfenster für das Wartungsintervall angeben (siehe
nächste Folie)
Festlegen der Menge G für die erste Iteration
Angabe der Maximalgröße für das QFW
Konfigurieren des Schedulers hinsichtlich Einbindung von
AA, QFA oder beidem
Einstellung des Wartungsintervalls / Dialog
Festlegen des Zeitpunktes und der
Länge
Einstellung der
Wiederholungsintervalle
Sicherstellen das relevante Statistiken existieren
Überwachung der Aktualität Dieser
Ohne übermäßigen Anstieg des Rechenaufwands
Probleme gelöst?
Entlastung beim verwalten eines DBS
Beispiel zur Performance
Gegeben:
Datenbank mit fünf Tabellen (Car, Owner, Demographics,
Accident)
11 Select-Anfragen, nach verschiedenen Schritten (A-E)
ausgeführt
Schritt C führt neue Datensätze ein
Anfrage 10 enthält abhängige Attribute der Tabellen Car
und Owner ( Make, Model und City, Country3)
Beispiel zur Performance / Schritt A und B
Beispiel zur Performance / Schritt C - E
???
Self-management
3.Self-healing2.Self-optimization1.Self-configuration 4.Self-protection
Motivation und Aspekte des Self-management
•Health Monitor•Health Center
Der Health-monitor
Serverseitiges Tool
Läuft im Hintergrund
Überwacht den Zustand von an verschieden
Komponenten gemessenen Indikatoren
Drei mögliche Meldungen / Indikatoren zustände:
Warnung
Achtung
Alarm
Je nach Einstellung Ausführung vordefinierter Aktionen
Das Health-Center
Ein grafische Oberfläche zum Health-Monitor Einstellung des Health-Monitor möglich
Danke für Ihre Aufmerksamkeit!