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
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)
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.
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
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
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
Vamos praticar!
Usando Armazenamentos de Dados na AWS
Preparing Video For Download...