PostgreSQL Professional

Level:

Experte

Datum:

25.03 - 29.03.19

21.10 - 25.10.19

Dauer:

5 Tage

Zielgruppe

Dieser Kurs vermittelt einen tiefgehenden Einblick in fortgeschrittene PostgreSQL-Themen wie Indexing, Speicherparameter, Optimierung, Replication, Monitoring etc.
Es geht einerseits um den technischen Unterbau, der für Replikation, Skalierung, Point-In-Time-Recovery sowie für den erfolgreichen Betrieb synchroner und asynchroner Replikationslösungen erforderlich ist.  Andererseits werden Details der Verarbeitung beleuchtet, die für Optimierung und Performance-Tuning wesentlich sind, damit Sie das Optimum aus ihrem System und ihren Abfragen herausholen können.

PostgreSQL Backups

  • Backups mit pg_dump
  • Recovery mit pg_restore

Das PostgreSQL I/O System

  • Der I/O Cache (Shared Buffers)
  • Storage Files und Tablespaces
  • Das PostgreSQL Transaction Log (WAL)
  • Der Background Writer
  • Checkpoints

Point-In-Time-Recovery

  • Transaction Log archivieren
  • Transaction Log wieder einspielen

Asynchrone Replikation

  • Master / Slave Replizierung
  • Transaction Log Streaming / Streaming Replication

Synchrone Replikation

  • Aufbau eines synchronen Clusters
  • Performance Optimierung

Komplexe Architekturen

  • Asynchrone und synchrone kombinieren

Hilfsmittel

  • repmgr
  • skytools

Logische Replikation

  • londiste Replikation
  • Versionsupgrade mit londiste

Hochverfügbarkeit

 

 

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