Tamanhos e formatos de item do DynamoDB - Amazon DynamoDB

Tamanhos e formatos de item do DynamoDB

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) + (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 byte por dois dígitos significativos) + (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) + (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 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) + soma (tamanho dos elementos aninhados) + (3 bytes). O tamanho de uma List ou um Map vazio é (número de bytes codificados por UTF-8 do nome do atributo) + (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.