Vortrag im Rahmen der Siegmundsburger Vortragsreihe 2006 zum Thema ASC und Self-Healing gehalten von...

Post on 05-Apr-2015

107 views 2 download

Transcript of Vortrag im Rahmen der Siegmundsburger Vortragsreihe 2006 zum Thema ASC und Self-Healing gehalten von...

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!