• Keine Ergebnisse gefunden

Methodik zur Optimierung in Datenbanken

N/A
N/A
Protected

Academic year: 2022

Aktie "Methodik zur Optimierung in Datenbanken"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Methodik zur Optimierung in Datenbanken

Anja Rommel, 14-INM

(2)

Gliederung

1. Einleitung

2. Motivation und Ziele

3. Phasen der Optimierung

3.1. Phase 1: Optimierung des DB-Schemas und Anwendungsoptimierung

3.2. Phase 2: Hauptspeicheroptimierung

3.3. Phase 3: Eingabe- / Ausgabeoptimierung

3.4. Phase 4: interne Konfliktoptimierung des DBMS

(3)

1. Einleitung

Was versteht man denn unter der Optimierung einer Datenbank ?

nutzen der Möglichkeiten des Gesamtsystems (DBMS, DB, Anwendung, Betriebssystem,

Netzwerk)

gemessen an den Anforderungen der Anwendung

(4)

2. Motivation und Ziele

keine zusätzliche Hardware

kostengünstiger Wartung

schnellere Antwortzeiten —> höherer Datendurchsatz

(5)

3. Phasen der Optimierung

Phase 1

Phase 2

Phase 3

Phase 4

Optimierungspotenzial

- Optimierung DB-Schema und Anwendungsoptimierung - Hauptspeicheroptimierung

Ein- / Ausgabeoptimierung -

interne Konfliktoptimierung DBMS -

(6)

3.1 Phase 1: Optimierung des DB-

Schemas und Anwendungsoptimierung

(7)

Optimierung DB-Schema

Ziel: Speichereffizienz und Zugriffseffizienz optimieren

Optimierungsmöglichkeiten auf allen 3 Ebenen

konzeptuelles Schema

internen Schema

(8)

konzeptuelles Schema

Attribute

verzicht auf Datentypen variabler Länge (VARCHAR)

Tabellen

Minimalität (Anzahl der Tabellen)

Generalisierung/Spezialisierung

Konflikt zwischen Konsistenz und Ausführungszeit

Redundanz

Denormalisierung (Laufzeit vs. referenzielle Integrität)

Abgeleitete Attribute (Vermeidung berechneter Werte als Attribute)

(9)

externes Schema

Sichten

lohnen sich nur wenn nicht eine einzelne Zeile oder Spalte benötigt werden

Prozedurale SQL-Erweiterungen

entlasten Anwendung und Netzwerk

(10)

internes Schema

Materialisierte Sichten

erzeugen Redundanzen (Reports, OLAP, Spiegelung von Tabellen)

Zugriffspfadstrukturen

indexierte Spalten

verketteter Index

Überladung von Indexen

(11)

Anwendungsoptimierung

Zusammenfassen von Maßnahmen, welche eine

anwendungsspezifische Anpassung der beteiligten

Systemkomponenten an die konkreten Anforderungen der Anwendungsumgebung ermöglichen

(12)

Unternehmungsfunktionen und Mehrbenutzerbetrieb

Optimierung von Unternehmensfunktionen

Optimierung der Arbeitsabläufe

Optimierung im Mehrbenutzerbetrieb

Transaktionanalyse (kurze Transaktionen)

Ebenen der Isolation

Synchronisation

(13)

Optimierung der Anwendung

Vermeidung überflüssiger Daten

nur benötigte Spalten abfragen

Reduktion der Kommunikation mit dem DBMS

Wiederverwendung von Ausführungsplänen

SELECT * FROM Mitarbeiter WHERE Name = ‚Lehmann‘;

SELECT * FROM Mitarbeiter WHERE Name = ‚Lehmann‘;

select * from Mitarbeiter where Name = ‚Lehmann‘;

(14)

SQL-Anweisungen

Nutzung von Indexen

keine Funktionen auf Indexierte Spalten anwenden

Verbundoperation vs. Unteranfragen

wenn gleiche Ergebnismengen -> Verbundoperationen

Unteranfragen

Reihenfolge nach Selektivität der Anfragen

Sortierung von Datensätze

(15)

3.2 Phase 2:

Hauptspeicheroptimierung

(16)

Eine beliebige Vergrößerung des Hauptspeichers muss nicht zwangsläufig zu weiteren Leistungssteigerungen führen.

Komponenten:

Datenpuffer: Daten der Tabellen und Indexe

SQL-/Prozedurpuffer: optimierte SQL-Anweisungen

Protokollpuffer: Log-Einträge

Gestaltung DB-Puffers

(17)

Schreiben DB-Puffer

erfolgt spätestens wenn DB-Puffer voll

Sicherungspunkt-Intervalle

nicht zu häufig und nicht zu selten

Protokolldatei

bei Wechsel auslösen eines Sicherungspunktes

(18)

Optimierer

legt Ausführungsplan fest

erst günstige Operationen, dann teure

regelbasierte Optimierer

verwendet „in der Regel“ günstigere Operationen zuerst

kostenbasierte Optimierer

verwendet tatsächliche günstigere Operationen zuerst

Statistiken

Planhinweise (Wahl Optimierer, Nutzung von Indexen, Reihenfolge Verbundoperation, Ausführung Verbundoperationen)

(19)

3.3 Phase 3: Eingabe- /

Ausgabeoptimierung

(20)

Betriebssystem

Übergabe an BS

DBMS -> Hauptspeicherpuffer BS -> Protokoll Dateisystempuffer -> Festplatte

Raw-Device

direkter Zugriff auf Festplattenpartition

(21)

Verteilung Ein-/Ausgabelast

Verteilung Daten- und Indexdateien

Verteilung der Daten

Partitionierung -> Parallelisierung

Verteilung der Protokolldatei

andere Platten als Datendateien

(22)

Optimierung physischer Speicherstrukturen

Blockgröße

Clustertechniken

ermöglichen die gebündelte Speicherung

zusammenhängender Datensätze möglichst in einem Block

Kompressions-Techniken

Reorganisation

zusammenhängende Speicherung der Daten wiederherstellen

(23)

3.4 Phase 4: interne

Konfliktoptimierung des DBMS

Mechanismen zur Lösung von Zugriffskonflikten im Bereich der internen logischen Struktur

Ursache: Vielzahl Prozesse nutzen interne Betriebsmittel

Optimierung: Abhängig vom eingesetzten DBMS

(24)

Quellen

Harm Knolle: Optimierung von Datenbanken und Leistungsbewertung, in Taschenbuch Datenbanken, Hanser, 2007

https://static.aminer.org/pdf/PDF/000/238/087/

entity_relationship_schema_optimierung.pdf

Database Tuning: Principles, Experiments, and Troublshooting Techniques von Dennis Shasha http://bigbe.su/lectures/2014/06.1.pdf

Referenzen

ÄHNLICHE DOKUMENTE

Werden die DELETE-Statements jedoch nicht zu einem einzelnen Statement zusammenfasst, so ergibt sich kein nennenswerter Unterschied zwischen einer L¨osung mittels LOAD-INTO im

a) Zeichnen Sie die algebraische Normalform von der gegebenen SQL- Anfrage als Operatorbaum (bestehend aus Projektionen, Selektionen und kartesischen Produkten).. b) Wenden Sie

Ohne Index oder Ordnung der Daten kann diese Anfrage nur mit einem sequentiel- len Scan der gesamten Tabelle beantwortet werden. Dabei werden mittels des Indizes die Seiten aller

Eine Slotted Page der Gr¨ oße 2 13 B soll dimensioniert werden, d.h., die Gr¨ oße der Felder im Kopfteil der Seite und die Adressierungsart sollen bestimmt werden.. Um Platz zu

a) Zeichnen Sie die algebraische Normalform von der gegebenen SQL- Anfrage als Operatorbaum (bestehend aus Projektionen, Selektionen und kartesischen Produkten).. b) Wenden Sie

In dieser Aufgabe wird Overflow Chaining (Closed Addressing) verwendet um mit solchen F¨ allen umzugehen (siehe Vorlesungsfolien zum Thema Index- strukturen S.. Ein Zeiger auf

Augsten (Univ. E) verbunden wird mit der Annahme, dass es mehr Leute mit gleichem Geburtsdatum als mit gleichem Namen gibt, wurde W als erstes mit P verbunden Projektionen

Modern Systeme kombinieren Heuristiken (nur einige Ausdr¨ucke werden betrachtet) mit kostenbasierter Optimierung (sch¨atze die Kosten f¨ur jeden betrachteten Ausdruck