AWS DynamoDB
Base de datos NoSQL serverless de AWS con latencia de milisegundos a cualquier escala, ideal para aplicaciones que requieren alto rendimiento y escalabilidad automática.
¿Qué es?
DynamoDB es la base de datos NoSQL serverless de AWS. Ofrece latencia consistente de milisegundos sin importar el tamaño de los datos o el volumen de requests. No hay servidores que administrar, parches que aplicar ni capacidad que planificar manualmente.
Modelo de datos
- Tablas: colecciones de items
- Items: registros individuales (similar a filas)
- Atributos: campos dentro de un item (schema flexible)
- Partition Key: clave primaria para distribución
- Sort Key: opcional, para ordenamiento dentro de una partición
Modos de capacidad
| Modo | Características |
|---|---|
| On-demand | Pago por request, escala automática, ideal para cargas impredecibles |
| Provisioned | Capacidad reservada, más barato para cargas predecibles |
Características clave
- Global Tables: replicación multi-región automática
- Streams: captura de cambios para event-driven architectures
- TTL: expiración automática de items
- DAX: cache in-memory para microsegundos de latencia
- Transactions: operaciones ACID across items
Patrones de acceso
DynamoDB requiere diseñar el schema alrededor de los patrones de acceso, no de las entidades. Single-table design es común para minimizar queries.
¿Por qué importa?
DynamoDB es la base de datos serverless por defecto en AWS. Su modelo de pricing por request y su latencia de milisegundos la hacen ideal para aplicaciones de alto tráfico, pero su modelo de datos requiere pensar en patrones de acceso antes de diseñar el esquema — un cambio mental respecto a bases de datos relacionales.
Referencias
- DynamoDB Documentation — Documentación oficial.
- The DynamoDB Book — Alex DeBrie. Guía definitiva de modelado.
- DynamoDB Best Practices — AWS, 2024. Mejores prácticas de modelado y rendimiento.