Tamaños y formatos de elementos de DynamoDB - Amazon DynamoDB

Tamaños y formatos de elementos de DynamoDB

Las tablas de DynamoDB no tienen esquemas, salvo la clave principal. Por este motivo, todos los elementos de una tabla pueden tener atributos, tamaños y tipos de datos distintos.

El tamaño total de un elemento es la suma de las longitudes de los nombres y los valores de sus atributos, además de cualquier gasto adicional aplicable, como se describe a continuación. Puede utilizar las siguientes directrices para calcular el tamaño de los atributos:

  • Los valores de tipo String son Unicode con codificación binaria UTF-8. El tamaño de una cadena es (número de bytes con codificación UTF-8 del nombre de atributo) + (número de bytes con codificación UTF-8).

  • Los números son de longitud variable, con un máximo de 38 dígitos significativos. Los ceros iniciales y finales se recortan. El tamaño aproximado de un número es (número de bytes con codificación UTF-8 del nombre de atributo) + (1 byte por cada dos dígitos significativos) + (1 byte).

  • Un valor binario se debe codificar previamente en formato base64 para poder enviarlo a DynamoDB. Sin embargo, para calcular su tamaño se utiliza la longitud en bytes sin procesar del valor. El tamaño de un atributo binario es (número de bytes con codificación UTF-8 del nombre de atributo) + (número de bytes sin procesar).

  • El tamaño de un atributo nulo o booleano es (número de bytes con codificación UTF-8 del nombre de atributo) + (1 byte).

  • Un atributo de tipo List o Map requiere 3 bytes adicionales, independientemente de su contenido. El tamaño de un atributo List o Map es (número de bytes con codificación UTF-8 del nombre de atributo) + suma (tamaño de los elementos anidados) + (3 bytes). El tamaño de un atributo List o Map vacío es (número de bytes con codificación UTF-8 del nombre de atributo) + (3 bytes).

  • Cada elemento List o Map también requiere 1 byte de sobrecarga.

nota

Recomendamos elegir nombres de atributos cortos en lugar de largos. Esto le ayuda a reducir la cantidad de almacenamiento necesario, así como la cantidad de RCU/WCU que utiliza.

A efectos de facturación del almacenamiento, cada elemento incluye una capacidad de almacenamiento adicional por elemento que depende de las características que haya habilitado.

  • Todos los elementos de DynamoDB requieren 100 bytes de capacidad de almacenamiento adicional para la indexación.

  • Algunas características de DynamoDB (tablas globales, transacciones, captura de datos de cambios para Kinesis Data Streams con DynamoDB) requieren una capacidad de almacenamiento adicional para tener en cuenta los atributos creados por el sistema como resultado de la habilitación de dichas características. Por ejemplo, las tablas globales requieren 48 bytes adicionales de capacidad de almacenamiento.