Ferramenta gratuita

Calculadora de Tamanho de Item do DynamoDB

Cole um item do DynamoDB como JSON para ver o tamanho exato em bytes e as unidades de capacidade de leitura e escrita que ele consome — depois compartilhe o resultado com um link.

Item (JSON)
{
  "pk": "USER#1234",
  "sk": "PROFILE",
  "name": "Ada Lovelace",
  "age": 36,
  "active": true,
  "tags": ["engineer", "mathematician"],
  "address": { "city": "London", "zip": "WC2N" }
}

Cole um item do DynamoDB como JSON puro (um mapa de atributos). Sets e tipos binários não podem ser expressos em JSON puro, então arrays são dimensionados como List (L) e objetos como Map (M).

Tamanho do item0,03% do limite de 400 KB
107bytes · 0,1 KB
Leitura eventual0,5 RCU
Leitura forte1 RCU
Leitura transacional2 RCU
Escrita padrão1 WCU
Escrita transacional2 WCU

Estimativa segundo as regras de dimensionamento da AWS. Precisa do custo também? Calculadora de preços

Por que o tamanho do item importa

No DynamoDB você não paga por linha — você paga pela capacidade que cada operação consome, e essa capacidade é uma função do tamanho do item. Uma leitura de um item de até 4 KB custa uma unidade de leitura; uma escrita de até 1 KB custa uma unidade de escrita. Ultrapasse um limite por um único byte e a operação é arredondada para a próxima unidade, então um item que sobe de 4 KB para 4,1 KB dobra seu custo de leitura.

O tamanho do item também limita o que o DynamoDB armazena: um único item, incluindo cada nome e valor de atributo, precisa ficar abaixo de 400 KB. Blobs grandes devem ficar no S3 com um ponteiro no item. Saber o tamanho em bytes antes de projetar seus padrões de acesso ajuda a manter os itens quentes pequenos, agrupar de forma eficiente e evitar throttling inesperado.

Esta calculadora aplica as regras de dimensionamento documentadas pela AWS ao JSON puro: comprimento em bytes UTF-8 para nomes e strings, codificação por dígitos significativos para números e o overhead por elemento para listas e mapas aninhados. A grade de capacidade então mostra as unidades para cada modo de consistência de leitura e para escritas padrão versus transacionais.

Cada byte é um valor de atributo — tipos de dados do DynamoDB explica como cada tipo é codificado e dimensionado.

Perguntas frequentes

Como o DynamoDB calcula o tamanho do item?

O tamanho do item é a soma, em cada atributo, do comprimento em bytes UTF-8 do nome do atributo mais o tamanho do seu valor. As strings contam seus bytes UTF-8, os números são codificados por dígitos significativos, booleanos e null ocupam 1 byte, e listas e mapas adicionam 3 bytes de overhead mais 1 byte por elemento. Esta calculadora aplica exatamente essas regras ao JSON que você colou.

Como as unidades de capacidade são derivadas do tamanho do item?

Uma unidade de capacidade de leitura cobre uma leitura com consistência forte de um item de até 4 KB; leituras com consistência eventual custam meia unidade e leituras transacionais custam duas. Uma unidade de capacidade de escrita cobre uma escrita de até 1 KB, e as escritas transacionais custam duas. O tamanho do item sempre é arredondado para cima até o próximo limite de 4 KB (leituras) ou 1 KB (escritas), com um mínimo de uma unidade.

Qual é o tamanho máximo de um item do DynamoDB?

Um único item do DynamoDB — o item mais todos os nomes e valores de seus atributos — não pode exceder 400 KB. Se o seu item for maior, divida-o em vários itens ou armazene os atributos grandes no Amazon S3 e mantenha uma referência no item. A calculadora sinaliza os itens que ultrapassam o limite.

Por que não consigo inserir Sets ou valores binários?

O JSON puro não tem como expressar um String Set, Number Set, Binary Set ou valor binário do DynamoDB — um array JSON sempre é mapeado para uma List (L) e um objeto JSON para um Map (M). Para dimensionar esses tipos, modele o comprimento em bytes deles manualmente ou use o conversor DynamoDB JSON para ver a forma attribute-value.

Trabalhe com o DynamoDB sem o Console

O DynoTable é um cliente desktop rápido para o DynamoDB — navegue pelas tabelas, execute consultas no estilo SQL e edite itens localmente.