trilha

AWS SAA-C03/06 - Bancos de Dados2 min

DynamoDB

Perguntas-guia

Responda com suas palavras antes de ler o resto da nota.

  • Que problema isso resolve?
  • Quando usar / quando NÃO usar?
  • Qual o principal trade-off (custo, latência, operação)?
  • Que sinal no enunciado aponta pra isso?
  • Com o que isso é confundido na prova?

Conceito

NoSQL chave-valor e documento, totalmente gerenciado, serverless, com latência de milissegundo de um dígito em qualquer escala. Não tem servidor, versão nem patch.

Modelo de dados

  • Tabelaitens (linhas) → atributos (colunas), sem schema fixo
  • Partition key (obrigatória) define em qual partição o item mora
  • Sort key (opcional) ordena itens dentro da partição
  • Item máximo: 400 KB

Uma partition key bem distribuída é o que garante performance. Chave concentrada cria hot partition e estrangula a tabela mesmo com capacidade sobrando.

Consistência de leitura

Modo Custo Garantia
Eventualmente consistente (padrão) 0,5 RCU Pode devolver dado ligeiramente antigo
Fortemente consistente 1 RCU Sempre a versão mais recente
Transacional (ACID) 2x All-or-nothing entre itens/tabelas

Recursos que a prova cobra

Recurso Para que serve
DAX Cache in-memory nativo, leitura em microssegundos — só pra DynamoDB
Streams Captura mudanças (24 h) → dispara Lambda. Base de arquitetura event-driven
Global Tables Multi-região ativo-ativo. Exige Streams habilitado
TTL Expira item automaticamente, sem consumir WCU
PITR Restaura em qualquer segundo dos últimos 35 dias
On-demand backup Snapshot sob demanda, retenção indefinida

Trade-offs

DynamoDB entrega escala e latência previsíveis desde que você modele em cima dos padrões de acesso — não em cima das entidades. Ele não faz JOIN, não faz query ad-hoc eficiente por atributo não indexado, e scan é caro e lento. Se o requisito é consulta relacional flexível, a resposta é RDS/Aurora.

DAX resolve leitura repetida com microssegundos, mas é mais um cluster pra pagar e só faz sentido com alta taxa de leitura repetida.

Sinais de prova

  • "Chave-valor, escala massiva, latência de milissegundo de um dígito" → DynamoDB
  • "Latência de microssegundo na leitura" → DAX
  • "Reagir a cada alteração de item" → Streams + Lambda
  • "Multi-região ativo-ativo" → Global Tables
  • "Apagar sessões expiradas automaticamente" → TTL
  • "Carrinho de compras / sessão / catálogo de produto" → DynamoDB
  • "Consulta analítica complexa com JOIN" → não é DynamoDB
  • "Performance ruim mesmo com capacidade sobrando" → hot partition

Relacionado


Parte de 06 - MOC Bancos de Dados · Documentação AWS

Buscar

Busca por título, seção e texto das notas