Datenbanktechnik II Kapitel 5.0 bis 6.0 Datenbanktechnik 1 Inhalt 5.0 Ganzheitliches Performance Tuning 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Datenbanktechnik 2 5.0 Ganzheitliches Performance Tuning 5.0 Ganzheitliches Performance Tuning Datenbanktechnik 3 5.0 Ganzheitliches Performance Tuning Inhalt 5.1 System-Tuning 5.2 Datenbank-Tuning 5.3 Datenbank-Design 5.4 Tuningaspekt Datentypen und ihre Verwendung 5.5 Diagnose und Tuning-Vorschläge Datenbanktechnik 4 5.0 Ganzheitliches Performance Tuning Tuning - Software- und Hardware beeinflussen Leistung der Datenbank - Kenntnisse des Tuners über - interne Organisation, Rechnerarchitektur, - Betriebssystem - Anwendungen und deren Interaktion in der Datenbank Grenzen - je nach Fortschritt des Projektes - Aufwand beim Tuning - Kosten für nachträgliche Korrekturen Vor- und Nachteile der Tuning-Maßnahmen - entlasten das System, vermeiden Kauf neuer Hardware - verursachen selbst Zeit und Kosten Ende des Tuning - wenn notwendige Performance für ein Geschäft erziel wurde - d.h. minimal gewünschte Effekt oder Hardware-Einsparung wurde erreicht Datenbanktechnik 5 5.0 Ganzheitliches Performance Tuning Schritte 1. Teilkomponente der Datenbank - System-Kennzahlen sammeln 2. Fachliche Korrektheit der kritischen Statements - Kenntnisse der Anwendung und des Themenkreises - Fachkundige Mitarbeiter 3. Ressourcen-Verschwendung ermitteln und beseitigen - Beginn mir den Komponenten mit den größten Optimierungsmöglichkeiten - Verschwendungen beseitigen - Engpass-Beseitigung Hilfen - Tools, z.B. ORACLE-Enterprise Manager mit Tuningvorschlägen - reduziert Verschwendung - ersetzen nicht jahrelange Erfahrung und Einschätzung von Tuning-Maßnahmen - Techniken entwickeln sich weiter - Datenbanksysteme werden komplexer - neue Techniken zur Datenspeicherung, Backup und Recovery Datenbanktechnik 6 5.0 Ganzheitliches Performance Tuning 5.3 Datenbank-Design unter Tuning-Aspekten Wahl der Zugriffstrukturen - beeinflusst Performance - wegen Datentypen, Indexierung und Speicherstrukturen - z.B. durch häufige Abfragen, Benutzerzugriffe Faktoren bei der Wahl der Zugriffsstrukturen - in Gruppen gelesene Zeilen - oft gruppierte Daten speichern als Cluster - SELECT- und DML-Anweisungen - Tabellen mit vielen Zugriffen auf verschiedene Platten verteilen - Tabellengröße - große Tabellen in separate Tablespace oder Partitionen - Zeilengröße - große Zeilen durch große Blockgrößen im Durchsuchen beschleunigen - Transaktionen - große Transaktionen benötigen mehr Undo-Speicherplatz Datenbanktechnik 7 5.0 Ganzheitliches Performance Tuning 5.4 Tuningaspekt Datentypen und ihre Verwendung CHAR - belegt gesamten Speicherplatz - verschwendet Speicherplatz wegen aufgefüllter Leerzeichen VARCHAR2 - belegt nur den benötigten Speicherplatz Andere Datentypen - spielen für Performance keine Rolle Beispiel: ORACLE-Datenbanksystem Datenbanktechnik 8 5.0 Ganzheitliches Performance Tuning 5.5 Diagnose und Tuning-Vorschläge Datenbank Manager - überwacht und protokolliert - Wertete Informationen aus, findet Probleme und liefert Lösungsvorschläge - Views mittels SQL und SQLPlus rufen Daten ab - Performance-relevante Daten abfragen - außerdem Werte in Relation zueinander setzen Tools - erkennen häufig Probleme - erhebliche Erleichterung neben der täglichen Arbeit der Administratoren - schätzen Effizienz ab und bergründen Vorschläge - ermitteln Maßnahme zum Performance-Vorteil Datenbanktechnik 9 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Datenbanktechnik 10 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Datenbanktechnik 11 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Datenbanktechnik 12 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems 6.1 Externspeicherverwaltung - stellt in der Dateischnittstelle Funktionen zur Verfügung - erlaubt Verarbeiten von Dateien - Erzeugen, Löschen, Öffnen und Schließen von Dateien - Lesen und Schreiben eines Dateiblocks 6.2 Systempufferverwaltung - stellt Daten im Systempuffer zur Verfügung - überträgt geänderte Daten wieder auf die Speichermedien Datenbanktechnik 13 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems 6.3 Record- und Zugriffspfadverwaltung Zwei Aufgabenbereiche 1. Recordverwalter (bzw. Satzverwaltung) - physische Abspeicherung von Datensätzen - Funktionen wie Lesen, Einfügen, Modifizieren, Löschen 2. Zugriffspfadverwaltung - effizientes Finden der Datensätze bestimmter Eigenschaften - spezielle Zugriffshilfen des Datenbanksystems (allgemein als Zugriffspfade bezeichnet) Datenbanktechnik 14 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems 6.4 Metadatenbank Metadatenbank - legt sämtliche Informationen über verwaltete Daten und Komponenten des Datenbanksystems ab - speichert Strukturinformationen über die Benutzerdaten (physische und externe Schemas) - Schema = Tabellen und deren Attribute - physisch = wie und wo die Daten in der Datenbank gespeichert werden - extern = anwendungsorientierte Sicht (Benutzern und Anwendungen) - z.B. verwendete Programme, Benutzerangaben, Statistiken registrieren Datenbanktechnik 15 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Lässt sich über alle Phasen der Datenmodellierung einsetzen - wenn nicht nur das physische Schema und die externen Schemas verwaltet werden - sondern auch das konzeptionelle Datenmodell bewirtschaftet wird Gängige Datenbanksysteme - können konzeptionelles Datenmodell nicht parallel zum physischen Datenmodell pflegen - weitere Geschäftsmodelle etc. muss der Entwickler unterstützen mit Case-Tools Datenbanktechnik 16 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Kriterien zur Klassifikation von Metadatenbanken Passive Metadatenbank - nicht in das Datenbanksystem integriert - dient vorwiegend Dokumentationszwecken Aktive Metadatenbank - tauscht gezielt Informationen aus - z.B. Informationen werden eingegeben und später in das Datenbanksystem übertragen Integrierte Metadatenbank - Teil der Datenbank - Metadaten nicht doppelt Datenbanktechnik 17 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems 6.5 Zugriffspfadoptimierer, Optimizer Zugriffspfad - Weg des Zugriffs auf Daten - z.B. Zugriffspfad auf das Attribut Arbeitsort der Entität Angestellten - Optimieren erhöht Performance Beispiel: Suche aller weiblichen Angestellten im Ort X - 2 % der Angestellten in Ort X - 60 % der Angestellten weiblich -> Ort ist besser als erste Selektion Für die Realisierung eines effizienten Optimizers wird gegenübergestellt: - Aufwand für die Gewinnung der statistischen Informationen - hierdurch gewonnener Minderaufwand beim Suchen der eigentlichen Daten Datenbanktechnik 18 Datenbanktechnik II Vielen Dank für Ihre Aufmerksamkeit. Datenbanktechnik 19