PostgreSQL Advanced Optimierung und Performance Tuning

Level:

Experte

Datum:

12.06 - 14.06.17

Dauer:

3 Days

Jetzt für den Kurs anmelden

PostgreSQL Kurs für Entwickler und Admins

Dieser Workshop richtet sich an alle, die komplexe, performancekritische Anwendungen optimieren wollen und bietet tiefgehendes Wissen zum Thema PostgreSQL Optimierung und Performance Tuning. In diesem Kurs geht es ans Eingemachte und wir beschäftigen uns neben den grundlegenden Dingen auch mit wesentlichen PostgreSQL Internas (interne Algorithmen und Optimierungstechniken), um das absolute Optimum aus dem System heraus zu holen.

Inhalt

Storage Grundlagen

  • On-Disk Speicherbereiche
  • Heaps und deren On-Disk Layout
  • Xlog: Funktion und Layout
  • Clog: Das Commit Log
  • Weitere Speicherbereiche
  • Datenpersistenz
  • Tablespaces
  • Optimierung von Lese– und Schreibzugriffen

Speicherverwaltung

  • Caching
  • Funktionsweise
  • Vergleich ClockSweep / ARC / LRU
  • Praktische Auswirkungen
  • Sort und Aggregates
  • Temporäre Tabellen
  • Memory Contexts

Indices verwenden

  • Index Typen
  • Der interne Aufbau von Indices
  • Partielle Indices
  • Indices auf Funktionen
  • Indices für Regular Expressions
  • Full Text Search
  • Fuzzy Matching

Execution Plans

  • Arten der SQL Optimierung
  • Exhaustive Search
  • Genetische Optimierung
  • Andere Techniken (Auszug):
  • Regelbasierte Optimierung
  • Explain verwenden
  • Interpretation des Outputs
  • Kosten einer Query schätzen
  • ANALYZE
  • pg_stats lesen und interpretieren
  • EXPLAIN ANALYZE
  • Das PostgreSQL Kostenmodell

Interne Optimierungsalgorithmen

  • Views und Subselects
  • Equality Constraints
  • Optimierung von Aggregates
  • HashAggregate vs. GroupAggregate
  • DISTINCT vs. GROUP BY
  • Optimierung von IN-Statements
  • Optimierung von ORDER BY
  • Joinreihenfolgen und Outer Joins
  • Optimierung von Set Operationen
  • Optimierung von Procedures und SQL Funktionen

Genetische Query Optimierung

  • Die Grenzen der “normalen” Optimierung
  • GEQO richtig verwenden

Transactions und Locking

  • Transaction Isolation
  • Optimierung des Locking Verhaltens

Partitionierung

  • Effizientes Cleanup
  • Constraint Exclusion
Jetzt für den Kurs anmelden