O DynamoDB é um armazenamento de valor-chave?
Sim – DynamoDB é um armazenamento de valores-chave e também um armazenamento de documentos. Cada item é recuperado por sua chave primária (uma chave de partição, opcionalmente com uma chave de classificação), proporcionando pesquisas rápidas baseadas em chave. Além disso, ele oferece suporte a tipos de documentos – listas e mapas aninhados – portanto, funciona tanto como um valor-chave quanto como um banco de dados de documentos.
O modelo de valor-chave
Cada item possui uma chave primária que o identifica exclusivamente. Um GetItem nessa chave é uma pesquisa direta de um dígito em milissegundos – sem varredura. Este é o padrão clássico de acesso de valor-chave.
O lado do documento
Além da chave, os valores podem ser documentos ricos: mapas (objetos) e listas (matrizes), aninhados em até 32 níveis de profundidade, dentro do limite de itens de 400 KB. Isso torna o DynamoDB um armazenamento de valores-chave com valores de documento semelhantes ao JSON.
Onde o documento para pela metade
O limite de 32 níveis é real (um 33º nível é rejeitado imediatamente, com o erro exato aqui), mas a profundidade raramente é o que afeta. O endereçamento é.
Você lê por chave, não por campo. Um ProjectionExpression restringe o que atravessa o fio em vez do que o DynamoDB lê. Em um item de aproximadamente 30 KB contendo um bio longo e uma lista tags de 100 elementos, um GetItem fortemente consistente fatura das mesmas três maneiras:
| Solicitação | Devolvido | ConsumedCapacity |
|---|---|---|
GetItem, item inteiro | tudo | 8 |
ProjectionExpression: 'status' | um valor de 6 bytes | 8 |
ProjectionExpression: 'profile.tags[0]' | um elemento da lista | 8 |
Essa é a troca que você aceita ao armazenar documentos em um armazenamento de valores-chave: a unidade de acesso e de faturamento é o item inteiro. Se um atributo é lido constantemente e seus vizinhos são grandes, eles pertencem a itens diferentes.
Por que a chave é tão importante
Como as leituras são codificadas, uma pesquisa eficiente começa fixando um único valor chave de partição. Projetar boas chaves é o núcleo da modelagem DynamoDB.
Dimensione o valor, não apenas a chave
A velocidade do valor-chave pressupõe que o valor se ajusta ao padrão de acesso. Um item de 400 KB custa o mesmo para ser lido, quer você projete um campo ou o documento inteiro — a tabela na seção acima já mostrava 8 unidades de capacidade para um item de aproximadamente 30 KB. Armazene blobs grandes no S3 e mantenha um ponteiro no DynamoDB quando apenas parte do documento estiver quente.
A calculadora de tamanho de item totaliza nomes e valores de atributos da mesma forma que o DynamoDB os cobra.
No DynoTable: chaves de partição compostas, como USER#123, são decodificadas na grade para que você possa ler o prefixo da entidade rapidamente, e o Row Quick View (Space) abre o documento completo sem perder seu lugar. Consulte Consultando tabelas.
Aprofunde-se
Entenda as chaves em chave primária composta DynamoDB e como funcionam as chaves de partição DynamoDB. Baixar DynoTable para consultar por chave.
Referências
- Banco de dados de valores-chave NoSQL rápido - Amazon DynamoDB - AWS
- Componentes principais do Amazon DynamoDB — Guia do desenvolvedor do Amazon DynamoDB
- O que é Amazon DynamoDB? — Guia do desenvolvedor Amazon DynamoDB
Última verificação em 13/07/2026 em relação à documentação oficial do AWS vinculada acima.
Os números de capacidade foram medidos em 28/07/2026 em relação ao DynamoDB Local 3.3.0 (amazon/dynamodb-local:latest) via @aws-sdk/client-dynamodb 3.1095.0, não estimado.