

# Tamanhos e formatos de item do DynamoDB
<a name="CapacityUnitCalculations"></a>

As tabelas do DynamoDB são sem esquema, exceto para a chave primária. Portanto, os itens em uma tabela podem ter atributos, tamanhos e tipos de dados diferentes.

O tamanho total de um item é a soma dos tamanhos de seus nomes e valores de atributos, somado a qualquer sobrecarga aplicável como descrito abaixo. Você pode usar as seguintes diretrizes para estimar os tamanhos de atributo:
+ Strings são Unicode com codificação binária UTF-8. O tamanho de uma string é *(número de bytes codificados por UTF-8 do nome do atributo) \$1 (número de bytes codificados em UTF-8)*.
+ Os números são de tamanho variável, com até 38 dígitos significativos. Zeros iniciais e finais são cortados. O tamanho de um número é aproximadamente *(número de bytes codificados por UTF-8 do nome do atributo) \$1 (1 byte por dois dígitos significativos) \$1 (1 byte)*.
+ Um valor binário deve ser codificado no formato base64 antes que possa ser enviado para o DynamoDB, mas o tamanho de byte bruto do valor é usado para calcular o tamanho. O tamanho de um atributo binário é *(número de bytes codificados por UTF-8 do nome do atributo) \$1 (número de bytes brutos).*
+ O tamanho de um atributo nulo ou de um atributo booliano é *(número de bytes codificados por UTF-8 do nome do atributo) \$1 (1 byte)*.
+ Um atributo do tipo `List` ou `Map` requer 3 bytes de sobrecarga, independentemente de seu conteúdo. O tamanho de uma `List` ou um `Map` é *(número de bytes codificados por UTF-8 do nome do atributo) \$1 soma (tamanho dos elementos aninhados) \$1 (3 bytes)*. O tamanho de uma `List` ou um `Map` vazio é *(número de bytes codificados por UTF-8 do nome do atributo) \$1 (3 bytes)*.
+ Cada elemento da `List` ou do `Map` também requer 1 byte de sobrecarga.

**nota**  
Recomendamos que você escolha nomes mais curtos para os atributos. Isso ajuda a reduzir a quantidade de armazenamento necessária, mas também pode reduzir a quantidade de RCU/WCUs usada.

Para fins de faturamento de armazenamento, cada item inclui uma sobrecarga de armazenamento por item que depende dos recursos ativados.
+ Todos os itens no DynamoDB requerem 100 bytes de sobrecarga de armazenamento para indexação.
+ Alguns recursos do DynamoDB (tabelas globais, transações, captura de dados de alteração para o Kinesis Data Streams com o DynamoDB) exigem sobrecarga de armazenamento adicional para contabilizar atributos criados pelo sistema resultantes da ativação desses recursos. Por exemplo, tabelas globais exigem 48 bytes adicionais de sobrecarga de armazenamento.