Datenbanktechnik II Kapitel 3 bis 6 Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 1 www.diploma.de Inhalt 3.0 Physische Datenorganisation 4.0 Sicherheit, Integrität und Konsistenz 5.0 Ganzheitliches Performance Tuning 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 2 www.diploma.de 3.0 Physische Datenorganisation Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 3 www.diploma.de 3.1 Physische Speicherung von Daten Daten werden gespeichert - im Gigabyte-Bereich - auf Sekundärspeicher (Magnetplatten) - kleine Teile im Hauptspeicher (verbunden mit Prozessor) Plattenspeicher sind seitenorientiert. Seiten(Blöcke) - sind kleinste Transfereinheit - die zwischen Haupt- und Sekundärspeicher übertragen wird Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 4 www.diploma.de 3.2 Indexstrukturen von Datenbanksystemen Directoryseiten - Seiten, in denen das Directory gespeichert wird Datenseiten - Seiten mit den eigentlichen physischen Datensätzen Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 5 www.diploma.de 3.3 Allgemeine Anforderungen an Indexstrukturen 1. 2. 3. 4. 5. Effizientes Suchen Dynamisches Einfügen, Löschen und Verändern von Datensätzen Ordnungserhaltung Hohe Speicherplatzausnutzung Implementierbarkeit, Nutzen des Implementationsaufwandes Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 6 www.diploma.de 3.4 Baumstrukturierte Zugriffsverfahren 1. Knoten(Grundkomponenten) 2. Zeiger (verknüpft die Knoten) 3. Wurzel (oberster Knoten) 4. Blätter (Knoten ohne untergeordnete Knoten) Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 7 www.diploma.de 3.5 Hashing, Zugriffe mittels Schlüsseltransformation - Zugriffe mittels Schlüsseltransformation - im Gegensatz zu den baumstrukturierten Zugriffsverfahren keine zusätzliche Hilfsorganisation - Daten werden direkt auf Magnetplatte abgelegt, Segmentadresse wird berechnet - Speicherplatz für Daten wird von vornherein reserviert Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 8 www.diploma.de 4.0 Sicherheit, Integrität und Konsistenz Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 9 www.diploma.de 4.1 Datenkonsistenz 4.2 Datenschutz im konzeptionellem Modell 4.3 Transaktionsverwaltung 4.4 Optimistische Verfahren 4.5 Pessimistische Verfahren (Sperrverfahren) Locktabelle Deadlock 4.6 Zeitstempel-Verfahren 4.7 Transaktionslogik in verteilten Datenbanksystemen 4.8 Datenkonsistenz Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 10 www.diploma.de 4.9 Datensicherheit und Recovery Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 11 www.diploma.de 5.0 Ganzheitliches Performance Tuning Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 12 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 13 www.diploma.de 5.1 Grundlagen des System-Tuning Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 14 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 15 www.diploma.de 5.1.1 Engpass versus Verschwendung Verschwendung - Ressourcen öfter, länger oder mehr als nötig belegt - verursacht oft Engpässe in Ressourcen - entstehen bereits während des Software-Engineerings - können durch umfassende Analysen und sorgfältige Planung vermieden werden Engpass - Komponente stellt Engpass (engl. Bottleneck) dar - Ressource arbeitet zu langsam oder ist nicht ausreichend vorhanden Abgrenzen der relevanten Komponenten - fallspezifisch oder nach persönlichem Ermessen beurteilen - Datenbank-Ressourcen: z.B. Caches, Tabellen, Indexe - Middleware: z.B. Threads der Application Server - Anwendung: z.B. häufiger Zugriff auf Auftragsnummern eines Buchungssystems - gegenseitige Beeinflussung Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 16 www.diploma.de 5.2 Datenbank-Tuning Datenbank-Tuning - beeinflusst Performance verschiedener Bereiche der Datenbank Performance hängt ab von: - Datenbankzugriff Zugriffsstrukturen - z.B. Speicherstrukturen, Indexierung der Daten Algorithmus - SQL-Statements, Arbeitsweise des Optimizers - Cache-Verwaltung - Komponenten des System Global Area (SGA) (prozessübergreifenden Speicherbereiche im Hauptspeicher des Datenbankservers ORACLE) - Concurrency - Zugriffskonflikten und deren Lösung Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 17 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 18 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 19 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 20 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 21 www.diploma.de 6.0 Datenbanktechnik, Softwarekomponenten eines Datenbanksystems Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 22 www.diploma.de Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 23 www.diploma.de Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 24 www.diploma.de www.diploma.de Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 25 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 26 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 27 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 28 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 29 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 30 www.diploma.de 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 Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 31 www.diploma.de Datenbanktechnik II Vielen Dank für Ihre Aufmerksamkeit. Datenbanktechnik Dozent: Gerhard Fleige Samstag, 23. August 2014 Seite: 32 www.diploma.de