Resumen

Amazon DynamoDB es uno de los servicios más potentes de AWS cuando se necesita una base de datos capaz de escalar a niveles masivos sin sacrificar velocidad. Comprender sus diferencias frente a las bases de datos relacionales y sus casos de uso permite tomar mejores decisiones de arquitectura en la nube.

¿Qué significa que DynamoDB sea una base de datos NoSQL?

El término NoSQL puede interpretarse de dos maneras [0:07]. Por un lado, indica que los datos se recuperan de forma diferente a una base de datos relacional, es decir, no se usa SQL como lenguaje de consulta. Por otro lado, también puede significar not only SQL, ya que algunas bases de datos NoSQL sí admiten consultas similares a SQL para obtener información.

AWS define a DynamoDB como una base de datos de documentos de clave-valor (key-value) que ofrece un rendimiento en milisegundos de un solo dígito a cualquier escala [0:30]. Esto significa que cada registro se compone de una clave única y un conjunto de atributos asociados.

¿Cómo funciona el modelo de clave-valor?

En una tabla de DynamoDB, cada ítem puede tener atributos distintos [0:44]. Por ejemplo:

  • Un registro con la clave "libro" podría tener tres atributos: nombre, autor y año de publicación.
  • Un registro con la clave "álbum" podría tener solo dos atributos: nombre y artista.

En una base de datos relacional, esto no sería posible porque todos los registros deben completar las mismas columnas. En DynamoDB se almacenan únicamente los datos que se necesitan, sin preocuparse por hacer coincidir la estructura con los demás registros de la tabla [1:08]. Esta flexibilidad facilita tanto la escritura como la evolución futura de la base de datos, ya que agregar nueva información no requiere modificar ni migrar todo el esquema existente.

¿Qué rendimiento y características ofrece DynamoDB?

DynamoDB fue diseñado para manejar sitios web con gran tráfico de internet, como Amazon en días de ventas masivas como Amazon Prime Day [1:25]. Sus principales características son:

  • Completamente administrado: no hay servidores que gestionar.
  • Funciona en múltiples regiones y es altamente duradero.
  • Incluye seguridad, respaldo y restauración de forma integrada.
  • Puede manejar más de diez billones de solicitudes por día.
  • Admite picos de más de veinte millones de solicitudes por segundo [1:42].

Estas cifras demuestran que DynamoDB es una base de datos preparada para empresas de cualquier tamaño. Además, se integra muy bien con aplicaciones sin servidor (serverless), lo que simplifica las arquitecturas modernas en la nube.

¿Cuáles son los casos de uso de DynamoDB?

Gracias a su velocidad, DynamoDB es ideal para almacenar datos de aplicaciones móviles [2:02]. Es lo suficientemente rápido como para procesar actualizaciones en tiempo real desde aplicaciones móviles y web, algo que resultaría bastante desafiante con una base de datos tradicional.

Entre los sectores donde DynamoDB destaca se encuentran:

  • Aplicaciones de publicidad y juegos.
  • Plataformas de comercio electrónico.
  • Sistemas de banca y finanzas.
  • Medios de entretenimiento y software.
  • Servicios de internet en general [2:22].

Si estás evaluando opciones de bases de datos en AWS y necesitas flexibilidad en el esquema de datos, escalabilidad automática y tiempos de respuesta en milisegundos, DynamoDB es una alternativa que vale la pena considerar. ¿Ya has implementado DynamoDB en algún proyecto? Comparte tu experiencia.