Operações CRUD no DynamoDB e Query vs Scan

Usando Armazenamentos de Dados na AWS

Dunieski Otano

AWS Solutions Architect

O erro caro

  • Dev usou Scan para achar um usuário
  • Leu a tabela inteira de 1 milhão de itens
  • Conta: US$ 500 por uma única busca
  • Query teria custado US$ 0,01

erro

Usando Armazenamentos de Dados na AWS

Operações CRUD no DynamoDB

  • PutItem: cria ou substitui item
  • GetItem: lê item pela chave primária
  • UpdateItem: altera atributos específicos
  • DeleteItem: remove item
  • Query: busca por chave de partição (eficiente)
  • Scan: lê a tabela inteira (caro)

ops

Usando Armazenamentos de Dados na AWS

Query vs Scan: a diferença crucial

  • Query: exige chave de partição; lê itens específicos
    • Rápido, eficiente, barato
  • Scan: lê a tabela toda; filtra depois
    • Lento, caro; evite se possível
  • Regra: se você sabe a chave, use Query. Senão, repense o design.

scan

Usando Armazenamentos de Dados na AWS

Evitando condições de corrida com expressões condicionais

  • Problema: dois usuários atualizam o mesmo item ao mesmo tempo
  • Solução: expressões condicionais
  • Exemplo: atualizar só se o valor atual for o esperado

corrida

Usando Armazenamentos de Dados na AWS

Expressões do UpdateItem: modificando atributos

  • SET: define valor do atributo ou cria novo atributo
  • ADD: incrementa/decrementa números, adiciona a conjuntos
  • REMOVE: remove atributos do item
  • DELETE: remove elementos de conjuntos

expressões

Usando Armazenamentos de Dados na AWS

Paginação com Query e Scan

  • Problema: conjuntos grandes passam de 1 MB
  • Solução: paginação com LastEvaluatedKey
  • Limit: controla itens por página
  • Continue até LastEvaluatedKey ser null

paginação

Usando Armazenamentos de Dados na AWS

Vamos praticar!

Usando Armazenamentos de Dados na AWS

Preparing Video For Download...