Qué es DynamoDB y cómo escala sin servidores

Resumen

Si trabajas con aplicaciones que necesitan responder en milisegundos y escalar sin que tú muevas un dedo, DynamoDB es el servicio de AWS que resuelve ese problema. Es una base de datos NoSQL pensada para desarrolladores y arquitectos que necesitan flexibilidad, velocidad y cero administración de servidores.

Qué significa NoSQL en DynamoDB y por qué importa

La parte interesante empieza por el nombre. NoSQL puede significar que los datos se recuperan distinto a una base relacional, pero también se interpreta como not only SQL, porque algunas bases NoSQL sí admiten consultas similares a SQL.

AWS describe a DynamoDB como una base de datos de documentos de clave-valor que ofrece rendimiento de milisegundos de un solo dígito a cualquier escala. Y aquí está la clave: una base de clave-valor guarda una key y su value asociado, sin obligarte a respetar un esquema rígido.

¿Qué es una base de datos clave-valor? Es una base que almacena una clave única y un valor asociado. La clave funciona como identificador y el valor puede contener distintos atributos según el registro.

Cómo se ve la flexibilidad de esquema en la práctica

Imagina una tabla con dos claves: un libro y un álbum. El libro tiene tres atributos: nombre, autor y año de publicación. El álbum solo tiene dos: nombre y artista.

En una base de datos relacional esto no sería posible, porque tendrías que completar todos los atributos para que las filas coincidan. En DynamoDB guardas únicamente los datos que necesitas, sin preocuparte por igualar el resto de la tabla.

Esto te da flexibilidad en dos momentos:

  • Al escribir datos hoy, sin forzar campos vacíos.
  • Al evolucionar la base mañana, sin migraciones masivas si quieres agregar información nueva.

Por qué DynamoDB aguanta sitios de tráfico masivo

DynamoDB se diseñó para soportar tráfico tipo Amazon en días de gran demanda como Prime Day. No es exageración: las cifras hablan por sí solas.

  • Maneja más de 10 billones de solicitudes por día.
  • Admite picos de más de 20 millones de solicitudes por segundo.
  • Funciona en múltiples regiones con alta durabilidad.

Es un servicio completamente administrado, lo que significa que no tienes servidores que aprovisionar, parchar ni escalar a mano. Trae seguridad, respaldo y restauración integrados, así que la operación pesada queda del lado de AWS.

¿DynamoDB necesita servidores que yo administre? No. Es un servicio totalmente administrado por AWS, sin servidores que aprovisionar ni mantener, ideal para arquitecturas serverless.

Cómo encaja con aplicaciones serverless

DynamoDB funciona muy bien con aplicaciones sin servidor, donde la lógica vive en funciones que se ejecutan bajo demanda. Esa combinación te da una pila completa que escala sola: el cómputo crece cuando llegan peticiones y la base de datos responde en milisegundos sin que tú toques nada.

En qué casos de uso brilla DynamoDB

La velocidad y la escala lo hacen ideal para escenarios donde una base tradicional sufriría. Un caso típico es almacenar datos de aplicaciones móviles, porque puede manejar actualizaciones en tiempo real desde apps móviles y web.

Estos son los casos de uso que mencionan en la clase:

  • Aplicaciones móviles y web con datos en tiempo real.
  • Publicidad y adtech.
  • Videojuegos.
  • Comercio electrónico.
  • Banca y finanzas.
  • Medios y entretenimiento.
  • Software e Internet en general.

¿Cuándo conviene DynamoDB sobre una base relacional? Cuando necesitas alta escala, baja latencia, esquema flexible y operación sin administrar servidores, especialmente en apps móviles, gaming, ecommerce o fintech.

En la siguiente clase el tema cambia hacia Amazon ElastiCache, otro servicio que vale la pena tener en el radar cuando piensas en rendimiento. Si ya usaste DynamoDB en algún proyecto, cuéntame en los comentarios qué caso de uso le diste.