Blog
SQL real com PostgreSQL: JOINs, índices, EXPLAIN ANALYZE, transações ACID e modelagem de dados. A base que todo backend developer precisa antes de escalar.
PostgreSQL vs MongoDB vs Redis vs DynamoDB: modelos de dados, trade-offs de consistência e quando a escolha importa de verdade.
Os JOINs que resolvem 90% dos problemas reais: INNER, LEFT/RIGHT, FULL OUTER, self-join para hierarquias, CTEs para legibilidade.
COUNT, SUM, AVG, GROUP BY, HAVING, ROLLUP — as funções de agregação que transformam dados brutos em métricas de negócio.
ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, FIRST_VALUE, SUM OVER — as funções de janela que eliminam subqueries e self-joins complicados.
Quando um índice é usado (e quando não é). B-tree vs hash vs GIN, índice composto e a ordem importa, covering index para evitar heap scan.
Seq Scan vs Index Scan vs Bitmap Scan, Nested Loop vs Hash Join vs Merge Join — como ler o plano de execução e transformar queries lentas em rápidas.
ACID não é decoreba — é o que evita dirty reads, non-repeatable reads e phantom reads. Read Committed, Repeatable Read, Serializable: quando usar cada um.
Primeira, segunda e terceira formas normais com exemplos reais. Quando desnormalizar intencionalmente (analytics, performance). ERD na prática.
Alembic, Flyway e Liquibase. Migrations reversíveis com up/down. Zero-downtime em produção: adicionar coluna nullable, backfill, NOT NULL depois.
Por que 100 queries são piores que 1 query com JOIN. N+1 query problem e como detectar. PgBouncer, SQLAlchemy pool, asyncpg — configuração correta.
Carregando…