Optimización avanzada PostgreSQL y ajustes de Performance

Level:

Advanced

Date:

On demand

Duration:

3 days

Curso PostgreSQL para desarrolladores y Sysadmins

Este workshop está orientado a todos aquellos que quieran optimizar implementaciones complejas y que requieran una buena performance, ya que proporciona un conocimiento profundo del tema optimización y ajustes de performance en PostgreSQL. En este curso nos adentraremos en ciertos aspectos internos del funcionamiento de PostgreSQL (algoritmos internos y técnicas de optimización) para poder sacar máximo provecho de él

Contenidos

Fundamentos de Storage

  • Espacios de guardado en disco
  • Heaps y sus respectivos layouts en disco
  • Xlog: función y Layout
  • Clog: El log de commits
  • Otros espacios de almacenamiento
  • Persistencia de Datos
  • Tablespaces
  • Optimización de accesos de lectura y escritura

Administración de almacenamiento

  • Caching
  • Funktionsweise
  • Vergleich ClockSweep / ARC / LRU
  • Impactos
  • Sort y Aggregates
  • Tablas temporales
  • Contextos de memoria

Utilización de Indices

  • Tipos de índices
  • Estructura interna de los índices
  • Índices parciales
  • Índices sobre funciones
  • Índices para expresiones regulares
  • Full Text Search
  • Fuzzy Matching

Plan de ejecución

  • Maneras de optimizar SQL
  • Búsqueda exhaustiva
  • Optimización genética
  • Optimización basada en reglas
  • Utilización de Explain
  • Interpretación del Output
  • Estimación del costo de una Query
  • ANALYZE
  • Lecturea e interpretación de pg_stats
  • EXPLAIN ANALYZE
  • El modelo de costo de PostgreSQL

Algoritmos de optimización internos

  • Views und Subselects
  • Equality Constraints
  • Optimización de Aggregates
  • HashAggregate vs. GroupAggregate
  • DISTINCT vs. GROUP BY
  • Optimización de IN-Statements
  • Optimización de ORDER BY
  • Secuencias de Joins y Outer Joins
  • Optimización de operaciones Set
  • Optimización de Procedures y funciones SQL

Optimización de queries genéticas

  • Las fronteras de la optimización tradicional
  • Correcta utilización de GEQO

Transacciones y Locking

  • Transaction Isolation
  • Optimización del comprtamiento de Locking

Particionamiento

  • Cleanup eficiente
  • Exclusión Constraint