1 / 28

Vortrag im Rahmen der Siegmundsburger Vortragsreihe 2006

Vortrag im Rahmen der Siegmundsburger Vortragsreihe 2006. zum Thema ASC und Self-Healing gehalten von Robert Fleischer. Inhalt des Vortrages. Self-optimization / ASC Motivation Beispiel für Notwendigkeit von ASC Die ASC Architektur Performance Beispiel Self-healing

Download Presentation

Vortrag im Rahmen der Siegmundsburger Vortragsreihe 2006

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Inhalt des Vortrages • Self-optimization / ASC Motivation Beispiel für Notwendigkeit von ASC Die ASC Architektur Performance Beispiel • Self-healing Kurzüberblick Health Monitor Kurzüberblick Health Center

  3. Self-management 1.Self-configuration 3.Self-healing 4.Self-protection Motivation und Aspekte des Self-management ??? 2.Self-optimization • LEO+POP • ASC

  4. 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

  5. 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

  6. Beispiel für Fehleinschätzungen Gegeben: • Relativ umfangreiche Tabelle (~14.000.000 Datensätze) • Nicht indiziert • einfache Anfragen und dazugehörige Anfragepläne

  7. Beispiel für Fehleinschätzungen x20

  8. Möglich durch Automatic Statistics Collection Lösung des Problems? • Sicherstellen das relevante Statistiken existieren • Überwachung der Aktualität Dieser • Ohne übermäßigen Anstieg des Rechenaufwands

  9. Die ASC-Architektur • Basiert auf zwei autonomen Prozessen • Diese münden in Scheduler UDI-Prozess Scheduler Query-Feedback-Prozess

  10. Tabellenmenge G -X1 -X2 Der Update-Delete-Insert-Prozess D = G – X1 – X2

  11. Die ASC-Architektur UDI-Prozess Scheduler Query-Feedback-Prozess

  12. Der Query-Feedback-Prozess • Besteht aus zwei Monitoren • Ablage aller generierten Daten im QFW • Dem QFA als Analysekomponente

  13. Aufbau des Query-Feedback-Warehouse • Besteht aus 5 Tabellen • Gegliedert in Feedback- und Empfehlungsteil • Unabhängige Komponente in DB2

  14. Der QF-Prozess im Detail QF-Analyzer

  15. Gesamtüberblick ASC-Architektur

  16. Rückgabe einer Teilmenge Aufruf AA mit einer Tabellenmenge Aufruf Aufruf des QFA Rückgabe einer P-Liste ggf. Aktualisierung Datenfluss zum Scheduler UDI-Prozess Runstats Scheduler Runstats Profile QF-Prozess

  17. 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

  18. Der Scheduling Algorithmus // G, P, D, Q, C Listen mit Tabellen, T sei eine Tabelle G := Durch ASC abzuhandelnde Tabellen in erster Iterration P, D, Q, C := {} while(true) { D := AA(G); // Aufruf AA für Tabellen in G Q := QFA(); // Starten QFA P := prioritizeMerge(D, Q, C); while (Zeit in aktuellem Wartungsintervall) { T := Pop(P); // T ist top priority TabelleRunstats+dcr } (G, C) := constructDueTables() //Listen für nächstes //Intervall erstellen warte bis zum nächsten Intervall; }

  19. 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

  20. Einstellung des Wartungsintervalls / Dialog • Festlegen des Zeitpunktes und der Länge • Einstellung der Wiederholungsintervalle

  21. Entlastung beim verwalten eines DBS Probleme gelöst? • Sicherstellen das relevante Statistiken existieren • Überwachung der Aktualität Dieser • Ohne übermäßigen Anstieg des Rechenaufwands

  22. 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)

  23. Beispiel zur Performance / Schritt A und B

  24. Beispiel zur Performance / Schritt C - E

  25. Self-management 1.Self-configuration 2.Self-optimization 4.Self-protection Motivation und Aspekte des Self-management ??? 3.Self-healing • Health Monitor • Health Center

  26. 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

  27. Das Health-Center • Ein grafische Oberfläche zum Health-Monitor • Einstellung des Health-Monitor möglich

  28. Danke für Ihre Aufmerksamkeit!

More Related