Herramienta gratuita

Calculadora de tamaño de Items de DynamoDB

Pega un Item de DynamoDB como JSON para ver su tamaño exacto en bytes y las unidades de capacidad de lectura y escritura que consume, y luego comparte el resultado con un enlace.

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

Pega un Item de DynamoDB como JSON plano (un mapa de atributos). Los Sets y los tipos binarios no se pueden expresar en JSON plano, así que los arrays se calculan como una List (L) y los objetos como un Map (M).

Tamaño del Item0,03% del límite de 400 KB
107bytes · 0,1 KB
Lectura eventual0,5 RCU
Lectura fuerte1 RCU
Lectura transaccional2 RCU
Escritura estándar1 WCU
Escritura transaccional2 WCU

Estima según las reglas de tamaño de AWS. ¿También necesitas el coste? Calculadora de precios

Por qué importa el tamaño del Item

En DynamoDB no pagas por fila: pagas por la capacidad que consume cada operación, y esa capacidad es una función del tamaño del Item. Una lectura de un Item de hasta 4 KB cuesta una unidad de lectura; una escritura de hasta 1 KB cuesta una unidad de escritura. Cruza un límite por un solo byte y la operación se redondea hacia arriba a la siguiente unidad, así que un Item que pasa de 4 KB a 4,1 KB duplica su coste de lectura.

El tamaño del Item también limita lo que DynamoDB almacenará: un solo Item, incluyendo cada nombre y valor de atributo, debe mantenerse por debajo de los 400 KB. Los blobs grandes van en S3 con un puntero en el Item. Conocer el tamaño en bytes antes de diseñar tus patrones de acceso te ayuda a mantener pequeños los Items calientes, a agrupar de forma eficiente y a evitar el throttling por sorpresa.

Esta calculadora aplica las reglas de tamaño documentadas de AWS al JSON plano: longitud en bytes UTF-8 para nombres y cadenas, codificación por dígitos significativos para los números y la sobrecarga por elemento para listas y mapas anidados. La cuadrícula de capacidad muestra entonces las unidades para cada modo de consistencia de lectura y para las escrituras estándar frente a las transaccionales.

Cada byte es un valor de atributo: Tipos de datos de DynamoDB explica cómo se codifica y se calcula el tamaño de cada tipo.

Preguntas frecuentes

¿Cómo calcula DynamoDB el tamaño del Item?

El tamaño del Item es la suma, sobre cada atributo, de la longitud en bytes UTF-8 del nombre del atributo más el tamaño de su valor. Las cadenas cuentan sus bytes UTF-8, los números se codifican por dígitos significativos, los booleanos y null ocupan 1 byte, y las listas y mapas añaden 3 bytes de sobrecarga más 1 byte por elemento. Esta calculadora aplica esas reglas exactas al JSON que pegues.

¿Cómo se derivan las unidades de capacidad del tamaño del Item?

Una unidad de capacidad de lectura cubre una lectura con consistencia fuerte de un Item de hasta 4 KB; las lecturas con consistencia eventual cuestan media unidad y las lecturas transaccionales cuestan dos. Una unidad de capacidad de escritura cubre una escritura de hasta 1 KB, y las escrituras transaccionales cuestan dos. El tamaño del Item siempre se redondea hacia arriba al siguiente límite de 4 KB (lecturas) o 1 KB (escrituras), con un mínimo de una unidad.

¿Cuál es el tamaño máximo de un Item de DynamoDB?

Un solo Item de DynamoDB —el Item más todos los nombres y valores de sus atributos— no puede superar los 400 KB. Si tu Item es más grande, divídelo en varios Items o almacena los atributos grandes en Amazon S3 y guarda una referencia en el Item. La calculadora señala los Items que cruzan el límite.

¿Por qué no puedo introducir Sets o valores Binary?

El JSON plano no tiene forma de expresar un String Set, Number Set, Binary Set o un valor Binary de DynamoDB: un array JSON siempre se asigna a una List (L) y un objeto JSON a un Map (M). Para calcular el tamaño de esos tipos, modélalos manualmente según su longitud en bytes, o usa el conversor de DynamoDB JSON para ver la forma de atributo-valor.

Trabaja con DynamoDB sin la Consola

DynoTable es un cliente de escritorio rápido para DynamoDB: explora tablas, ejecuta consultas estilo SQL y edita Items localmente.