GuíaIntermedio

Guía de Rendimiento de Bases de Datos y Optimización de Queries

Lleva tus APIs FastAPI de "funciona" a "escala" con performance tuning real de PostgreSQL. Esta guía profundiza en lectura completa de query plans con EXPLAIN ANALYZE, indexing avanzado (composite, covering, partial, expression, GIN), eliminación del problema N+1 en SQLAlchemy con `joinedload`/`selectinload`, profiling con `pg_stat_statements` y `auto_explain`, connection pooling con PgBouncer, autovacuum tuning, y refactor de los anti-patterns que rompen al escalar (OFFSET grande, COUNT(*) en tablas masivas, over-indexing). Diseñada para backend Python devs que ya completaron PostgreSQL & SQLAlchemy y necesitan llevar sus apps al siguiente nivel — y prepararse para entrevistas técnicas senior.

64
lecciones
8
módulos
Inglés · Español
disponible en
certificado
Gratis
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Leer query plans de PostgreSQL con confianza (cost, rows, buffers, JIT, scan types) y diagnosticar por qué cualquier query es lenta
  • Diseñar índices avanzados que el planner realmente usa: composite (con leftmost prefix), covering (INCLUDE), partial (WHERE), expression e intro a GIN
  • Detectar y eliminar el problema N+1 en SQLAlchemy con `joinedload`, `selectinload` y la lib `nplusone`
  • Hacer profiling de queries en producción con `pg_stat_statements` y `auto_explain` para identificar las queries más caras sin adivinar
  • Configurar PgBouncer (transaction vs session) y tunear pools async para FastAPI + asyncpg sin colapsar bajo carga
  • Tunear estadísticas y autovacuum para que el planner tome buenas decisiones y evitar bloat en tablas MVCC
  • Reconocer y refactorizar anti-patterns que rompen al escalar: OFFSET grande, COUNT(*) en tablas masivas, over-indexing, premature optimization
  • Medir mejoras de performance con benchmarks before/after cuantificados usando `wrk`, `locust` y `pgbench`

Antes de empezar

Qué necesitas traer

Es para ti si...

  • Backend Python devs (intermedio-senior) con apps FastAPI en producción con primeros síntomas de performance (queries lentos, timeouts ocasionales)
  • Ingenieros que completaron la guía PostgreSQL & SQLAlchemy y quieren llevar lo aprendido al siguiente nivel
  • Devs preparándose para entrevistas técnicas senior donde se pregunta EXPLAIN, indexing avanzado y pool sizing
  • Equipos cuyo "silent killer" de latencia es el N+1 y no lo saben aún
  • Cualquier dev backend cansado de adivinar por qué una query es lenta y listo para empezar a medir

Requisitos y materiales

  • Guía PostgreSQL & SQLAlchemy completada (o equivalente: B-tree indexes básico, EXPLAIN básico, ACID, SQLAlchemy ORM con relationships)
  • App FastAPI funcional con datos reales (>100k filas en al menos una tabla)
  • PostgreSQL 14+ instalado localmente o en Docker
  • Familiaridad con `psql` y syntax de SQLAlchemy 2.0 (`select()`, `Mapped`, `mapped_column`)
  • Comodidad con async/await en Python

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

Dónde encaja

Esta guía es parte de algo más grande

Se estudia dentro de estos programas, con acompañamiento y fechas.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!