trilha

AWS SAA-C03/06 - Bancos de Dados2 min

DynamoDB Capacidade e Índices

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

Unidades de capacidade — decore

Unidade Equivale a
1 RCU 1 leitura fortemente consistente de até 4 KB/s · ou 2 leituras eventualmente consistentes
1 WCU 1 escrita de até 1 KB/s

Cálculo típico de prova: 100 leituras/s de itens de 6 KB, eventualmente consistentes. 6 KB → 2 blocos de 4 KB100 × 2 = 200 → eventual divide por 2 → 100 RCUs.

Modos de capacidade

Provisioned On-Demand
Você define RCU/WCU (com auto scaling opcional) Nada
Custo Mais barato em carga previsível Por requisição, mais caro por unidade
Escala Auto scaling reage em minutos Instantânea
Use quando Tráfego estável e conhecido Imprevisível, novo, com picos bruscos

Reserved Capacity dá desconto adicional sobre o modo provisionado com compromisso de 1 ou 3 anos.

Índices secundários

LSI (Local) GSI (Global)
Partition key A mesma da tabela Diferente
Sort key Alternativa Qualquer
Quando criar Só na criação da tabela A qualquer momento
Capacidade Compartilha com a tabela Própria
Consistência Suporta leitura forte Só eventual
Limite 5 por tabela, 10 GB por partition key 20 por tabela
Duas pegadinhas de índice
  1. LSI só pode ser criado junto com a tabela. Se a questão diz "precisamos consultar por um novo atributo numa tabela existente", a resposta é GSI.
  2. GSI com capacidade insuficiente estrangula a tabela inteira nas escritas — o write na tabela precisa replicar pro índice.

Trade-offs

On-demand elimina o risco de estrangular e custa bem mais por requisição — vale enquanto o padrão é desconhecido; depois de estabilizar, migrar pra provisioned com auto scaling costuma cortar custo pela metade (a troca de modo é permitida uma vez a cada 24 h).

GSI dá liberdade de consulta e duplica o dado (você paga armazenamento e escrita duas vezes). Projetar só os atributos necessários (KEYS_ONLY ou INCLUDE) reduz esse custo.

Sinais de prova

  • "Tráfego imprevisível, aplicação nova" → On-Demand
  • "Carga estável, reduzir custo" → Provisioned + auto scaling (+ Reserved Capacity)
  • "Consultar por um atributo novo numa tabela já existente" → GSI
  • "Consulta alternativa mantendo a mesma partition key, leitura forte" → LSI (só na criação)
  • "ProvisionedThroughputExceededException" → capacidade insuficiente ou hot partition
  • "Escritas na tabela começaram a falhar depois de criar um índice" → GSI sem capacidade

Relacionado


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

Buscar

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