Staff Database Reliability Engineer who builds platforms. I keep databases fast, boring and recoverable, and I turn the work around them into self-service.
- Deep: PostgreSQL and MySQL (RDS, Aurora), DynamoDB
- Daily: MongoDB and Amazon DocumentDB
- Platform: Apache Airflow as the engine, Backstage as the front door, Python in between
- Also: Prometheus monitoring, partitioning, migrations, AI agents for database maintenance
- Certified: AWS Solutions Architect Professional, Astronomer DAG Authoring for Apache Airflow 3, AWS Database Specialty (2023-2026), MongoDB skill badges in indexing design and CRUD (Credly)
- Migrated 280+ production MySQL databases from RDS to Aurora: cutover under 5 minutes, rollback via reverse replication, about 40% lower cost (AWS blog).
- Fixed DynamoDB throttling on a hot path by splitting reads and writes (CQRS) (TDC talk).
- Built a hot/warm/cold data lifecycle so large tables stay small and cheap.
- Led an internal developer portal with 40+ self-service capabilities used by 4 teams, cutting database provisioning from days to minutes.
- Run database maintenance as Airflow DAGs with AI agents in the loop (TDC talk).
- AWS Blog: Nuvemshop com Amazon Aurora: migração com rollback e menor custo (Nov 2025, co-author)
- TDC São Paulo 2026: AI-Driven DBRE Platform: Automação Inteligente com KIRO, CrewAI e Airflow · video · slides
- TDC São Paulo 2024: CQRS: Como reduzir custos e aumentar performance na cloud · slides
- All my TDC talks
- Answers on AWS re:Post
Contributing upstream to the tools I run in production: Apache Airflow · pg_partman · postgres_exporter · mongodb_exporter · dynamodump
Merged upstream
| Project | What it fixes for users | PR | Merged |
|---|---|---|---|
| Patroni | After a Kubernetes node reboot, Patroni no longer refuses to start because of a stale member record from the old Pod. | #3770 | 2026-11-10 |
| community.postgresql | postgresql_alter_system stops reporting a change on every run for settings that need a restart, like shared_preload_libraries. |
#977 | 2026-11-10 |
| mydumper | Checksums for table-level triggers (-T) are written and checked correctly, so restores can verify them. |
#2390 | 2026-11-10 |
In review: gh-ost, mydumper, postgres_exporter, pg_repack, ProxySQL, WAL-G, pgroll, PyMySQL, PynamoDB, dynamodump, awslabs/mcp, aws-advanced-python-wrapper. All my PRs
🇧🇷 Em português
Staff Database Reliability Engineer que constrói plataforma. Mantenho bancos de dados rápidos, previsíveis e recuperáveis, e transformo o trabalho em volta deles em self-service.
- Fundo: PostgreSQL e MySQL (RDS, Aurora), DynamoDB
- Dia a dia: MongoDB e Amazon DocumentDB
- Plataforma: Apache Airflow como motor, Backstage como porta de entrada, Python no meio
- Também: monitoração com Prometheus, particionamento, migrações, agentes de IA para manutenção de banco
- Certificações: AWS Solutions Architect Professional, Astronomer DAG Authoring for Apache Airflow 3, AWS Database Specialty (2023-2026), badges de MongoDB em design de índices e CRUD (Credly)
- Migrei mais de 280 bancos MySQL de produção do RDS para o Aurora: cutover abaixo de 5 minutos, rollback por replicação reversa, custo cerca de 40% menor (blog da AWS).
- Resolvi throttling do DynamoDB num caminho crítico separando leitura e escrita (CQRS) (palestra no TDC).
- Montei um ciclo de vida de dados quente/morno/frio para tabelas grandes ficarem pequenas e baratas.
- Liderei um portal interno com mais de 40 capacidades self-service usado por 4 times, levando o provisionamento de banco de dias para minutos.
- Rodo manutenção de banco como DAGs do Airflow, com agentes de IA no meio do fluxo (palestra no TDC).
- Blog da AWS: Nuvemshop com Amazon Aurora: migração com rollback e menor custo (nov/2025, coautor)
- TDC São Paulo 2026: AI-Driven DBRE Platform: Automação Inteligente com KIRO, CrewAI e Airflow · vídeo · slides
- TDC São Paulo 2024: CQRS: Como reduzir custos e aumentar performance na cloud · slides
- Todas as palestras no TDC
- Respostas no AWS re:Post
Merged upstream
| Projeto | O que resolve para quem usa | PR | Merged |
|---|---|---|---|
| Patroni | Depois de reiniciar um node do Kubernetes, o Patroni não se recusa mais a subir por causa do registro antigo do Pod. | #3770 | 2026-11-10 |
| community.postgresql | postgresql_alter_system para de acusar mudança a cada execução em parâmetros que pedem restart, como shared_preload_libraries. |
#977 | 2026-11-10 |
| mydumper | Checksum de triggers por tabela (-T) é gravado e conferido certo, então o restore consegue validar. |
#2390 | 2026-11-10 |
Em revisão: gh-ost, mydumper, postgres_exporter, pg_repack, ProxySQL, WAL-G, pgroll, PyMySQL, PynamoDB, dynamodump, awslabs/mcp, aws-advanced-python-wrapper. Todos os meus PRs
Sempre topo uma boa conversa sobre banco de dados em produção.