Postagens

Mostrando postagens com o rótulo Banco de Dados

Quando usar ElastiCache Redis: resolvendo lentidão no RDS com camada de cache

Você abre o painel de métricas do RDS às 14h de uma sexta-feira e vê o ReadIOPS no teto, latência de queries subindo para 800ms, e a aplicação começando a retornar timeouts. O banco está respondendo as mesmas perguntas centenas de vezes por segundo — dados de catálogo, sessões de usuário, resultados de busca que não mudam entre uma requisição e outra. Adicionar uma camada de ElastiCache Redis entre a aplicação e o RDS é a intervenção mais direta para esse padrão de problema. TL;DR — Quando o ElastiCache Redis resolve o problema de lentidão no RDS Situação ElastiCache Redis ajuda? Motivo Mesmas queries de leitura repetidas com alta frequência ✅ Sim Resultado servido da memória, sem tocar o RDS Dados que mudam raramente (catálogo, configurações) ✅ Sim TTL longo, hit rate alto Sessões de usuário e tokens de autenticação ✅ Sim Estrutura de dados nativa (Hash, String) Queries complexas com JOINs pesados e re...

LSI vs GSI no DynamoDB: Quando Usar Cada Tipo de Índice Secundário

Você modelou sua tabela DynamoDB com uma partition key e sort key perfeitas para o acesso principal — e então o produto pediu uma nova tela que precisa filtrar por um atributo completamente diferente. É nesse momento que a escolha entre LSI e GSI deixa de ser teórica e vira um problema real de design. TL;DR — LSI vs GSI no DynamoDB Característica LSI (Local Secondary Index) GSI (Global Secondary Index) Partition Key Mesma da tabela base Qualquer atributo Sort Key Atributo diferente da tabela base Qualquer atributo (opcional) Quando criar Somente na criação da tabela A qualquer momento Consistência de leitura Strongly consistent ou eventually consistent Somente eventually consistent Throughput Compartilha com a tabela base Capacidade provisionada própri...

RDS Multi-AZ: Benefícios Reais, Limitações e Quando Faz Sentido Habilitar

Quando um engenheiro habilita Multi-AZ no RDS pela primeira vez, a expectativa comum é que o banco vai ficar mais rápido e mais resiliente ao mesmo tempo. Na prática, a instância standby existe exclusivamente para failover — e entender essa distinção evita decisões de arquitetura equivocadas que custam caro sem entregar o que você esperava. TL;DR — RDS Multi-AZ em 30 Segundos Aspecto Com Multi-AZ Sem Multi-AZ Alta disponibilidade ✅ Failover automático (~1-2 min) ❌ Downtime manual para recuperação Performance de leitura ❌ Sem melhora (standby não serve leituras) — Durabilidade dos dados ✅ Replicação síncrona para outra AZ ⚠️ Depende de backups e snapshots Janelas de manutenção ✅ Menor impacto (failover antes do patch) ❌ Downtime durante patches de SO/engine Custo ...

Restaurando RDS a partir de um Snapshot: Nova Instância ou Sobrescrita?

Uma dúvida recorrente em operações de recuperação de banco de dados na AWS: ao restaurar um snapshot do RDS, o que acontece com a instância existente? Entender esse comportamento antes de executar o processo em produção evita surpresas com endpoints, configurações de segurança e tempo de inatividade não planejado. TL;DR — Restauração de Snapshot RDS Pergunta Resposta A instância existente é sobrescrita? Não. Uma nova instância é sempre criada. O endpoint muda? Sim. A nova instância recebe um endpoint diferente. A instância original é deletada? Não automaticamente. Ela continua rodando até você deletar manualmente. Security Groups são preservados? Não por padrão. O grupo padrão da VPC é atribuído. Parameter Groups são preservados? Não. O parameter group padrão do engine é atribuído. ...

DynamoDB Modos de Capacidade: Provisionado vs. On-Demand — Como Escolher Sem Errar

Você acabou de modelar sua tabela DynamoDB e chegou na tela de configuração de capacidade. O tráfego da aplicação ainda é incerto — pode ser 10 requisições por segundo, pode ser 10.000. Escolher o modo errado aqui significa ou pagar por capacidade ociosa ou ver a aplicação throttlada em produção. Este post detalha como os modos de capacidade do DynamoDB funcionam internamente, quando cada um faz sentido, e como migrar entre eles sem surpresas. TL;DR — Modos de Capacidade DynamoDB Critério On-Demand Provisionado Tráfego previsível ❌ Custo mais alto ✅ Mais econômico Tráfego imprevisível ou novo ✅ Sem risco de throttling ❌ Risco de under-provisioning Picos esporádicos e intensos ✅ Absorve automaticamente ⚠️ Depende de Auto Scaling Custo por unidade Mais caro por RCU/WCU individual Mais barato com uso consistente Configuração operacional Zero Requer monitoramento e ajuste Troca de modo Uma vez a ca...