¿Se puede usar DynamoDB como caché?
Sí. Las búsquedas rápidas de clave-valor de DynamoDB y el TTL lo convierten en una caché duradera sólida — para sesiones, tokens y resultados calculados. Para lecturas por debajo del milisegundo, combínalo con DynamoDB Accelerator (DAX), una caché en memoria write-through totalmente gestionada que se pone delante de la tabla y devuelve lecturas eventualmente consistentes en microsegundos sin nada de código de invalidación de caché.
DynamoDB como caché duradera
Como las lecturas van por clave y tardan milisegundos de un solo dígito, DynamoDB funciona bien como capa de caché persistente. El TTL caduca por ti las entradas obsoletas, así que las sesiones cacheadas o los resultados precalculados se limpian solos.
Añadir DAX para bajar a microsegundos
DAX es una caché en memoria que se sitúa delante de DynamoDB:
- Read-through / write-through — gestiona por ti el llenado y la invalidación.
- Lecturas en microsegundos — hasta 10 veces mejor en lecturas eventualmente consistentes.
- Compatible con la API — cambios mínimos en la aplicación.
Lo que cuesta DAX antes de ahorrarte nada
DAX es una compra de latencia. Puesto en números, no empieza a ahorrar dinero hasta que estás leyendo muchísimo.
Un nodo dax.t3.small cuesta 0,04 $ la hora en us-east-1, y AWS recomienda al menos tres repartidos entre zonas de disponibilidad en producción, porque tres es el número que hace tolerante a fallos un clúster. Eso son 87,60 $ al mes. Una lectura bajo demanda eventualmente consistente de un elemento de hasta 4 KB cuesta 0,0000000625 $, así que esos mismos 87,60 $ compran 1.400 millones de lecturas directamente contra la tabla, o 533 por segundo sostenidas todo el mes.
Esa cifra además favorece a DAX: da por hecho que toda lectura acierta en la caché, mientras que en la práctica cada fallo factura una lectura de tabla encima del clúster. Un clúster de desarrollo de un solo nodo son 29,20 $ al mes, o 178 lecturas por segundo, y AWS desaconseja menos de tres nodos en producción porque un clúster de uno o dos nodos puede perder sus datos cacheados por completo.
El TTL es gratis, y no es puntual
Caducar una entrada tú mismo cuesta una unidad de escritura; un millón de llamadas a DeleteItem sobre elementos de hasta 1 KB son 0,63 $. El TTL hace el mismo trabajo sin consumir rendimiento de escritura, que es el argumento práctico a su favor en una caché.
La pega está en los tiempos. AWS elimina los elementos caducados normalmente en unos pocos días desde la caducidad, así que el almacenamiento sigue facturando entradas que tu aplicación da por muertas, y la factura sigue el retraso del borrado y no el TTL que configuraste. Cachea 1.000 elementos por segundo de 1 KB con un TTL de una hora y el conjunto vivo son 3,4 GB, 0,86 $ al mes; un retraso de dos días aparca a su lado 165 GB de entradas muertas por 41,19 $ al mes. Los elementos caducados también siguen apareciendo en los resultados de Query y Scan hasta que se eliminan físicamente, así que filtra por el atributo de caducidad en la lectura en lugar de fiarte de él.
Cuándo encaja y cuándo no
Genial para cargas con muchas lecturas que toleran la consistencia eventual (DAX sirve datos eventualmente consistentes). Si necesitas consistencia fuerte en cada lectura, ve directo a la tabla. Los nodos de DAX también replican entre sí de forma eventual, así que dos clientes que golpeen el mismo clúster pueden leer brevemente valores distintos para la misma clave.
Profundiza
Lee TTL en DynamoDB y consistencia en DynamoDB. Descarga DynoTable para inspeccionar tus tablas de caché.
Referencias
- In-memory acceleration with DynamoDB Accelerator (DAX) — Amazon DynamoDB Developer Guide
- DAX: How it works — Amazon DynamoDB Developer Guide
- Using time to live (TTL) in DynamoDB — Amazon DynamoDB Developer Guide
- Sizing your DAX cluster — Amazon DynamoDB Developer Guide — la recomendación de tres nodos en producción, revisada el 2026-07-28.
- Amazon DynamoDB pricing — tarifas por hora de nodo de DAX y por unidad de petición.
Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.
Costes calculados el 2026-07-28. La tarifa por hora de nodo de DAX se leyó de la AWS Price List API (us-east-1, dax.t3.small, 0,040 $) y las tarifas de lectura, escritura y almacenamiento vienen del mismo feed que sincroniza nuestra calculadora de precios; la aritmética de arriba es nuestra y todas sus entradas están en la página.