Amazon DynamoDB es un servicio de base de datos NoSQL completamente gestionado, que ofrece un rendimiento de milisegundos a cualquier escala sin necesidad de administrar servidores. Este servicio permite desarrollar aplicaciones modernas y escalables, ya que ajusta automáticamente su capacidad según las necesidades, sin arranques en frío, ni tiempo de inactividad.
¿Por qué utilizar Amazon DynamoDB?
- Servicio NoSQL sin servidor: Ideal para aplicaciones modernas a cualquier escala.
- Escalabilidad automática: Escala a cero cuando no se utiliza, sin arranques en frío.
- Mantenimiento mínimo: Sin parches ni tiempos de inactividad.
- Seguridad robusta: Amplios controles de seguridad y estándares de cumplimiento.
- Disponibilidad global: Tablas multi-regionales y multi-activas con un SLA del 99.999%.
- Resiliencia: Compatible con copias de seguridad y recuperación a un momento dado.
Visión General de Amazon DynamoDB

Casos de Uso

Aplicaciones de Software
Ideal para crear aplicaciones de gran escala que requieren alto rendimiento y disponibilidad.
Medios y Entretenimiento
Maneja cargas de trabajo de contenido multimedia y streaming con baja latencia y replicación global.


E-commerce
Implementación de carros de compras, gestión de inventario y perfiles de clientes, soportando picos de tráfico significativos.
Plataformas de Videojuegos
Almacena datos de jugadores y tablas de clasificación, escalando según el número de usuarios simultáneos.

Ventajas de usar Amazon DynamoDB

Escalabilidad a Cero
Elimina los costos de infraestructura cuando no se están procesando solicitudes.

Integración con AWS
Se integra con servicios como Amazon S3, AWS Glue y Amazon Kinesis para análisis de datos, monitoreo y más.

Flexibilidad en el Modelo de Datos
Permite manejar datos estructurados y no estructurados, con soporte para JSON, binarios y más.
Características de Amazon DynamoDB
Rendimiento sin servidor con escalabilidad ilimitada: DynamoDB ofrece escalabilidad automática, ajustando la capacidad para manejar cualquier cantidad de tráfico, desde pocos hasta millones de solicitudes por segundo. No requiere administrar servidores, lo que elimina la necesidad de arranques en frío, mantenimiento o parches. Además, proporciona un rendimiento constante con latencia en milisegundos, adecuado para aplicaciones que necesitan respuestas rápidas y confiables.
Seguridad y fiabilidad: Proporciona un conjunto robusto de controles de seguridad, incluido el cifrado de datos en reposo y en tránsito. También soporta políticas de acceso detalladas mediante AWS Identity and Access Management (IAM) y ofrece tablas globales con replicación multirregional, asegurando alta disponibilidad y un SLA de 99.999%.
Rentabilidad: DynamoDB es rentable, ya que solo pagas por lo que usas. Su modelo de precios incluye opciones bajo demanda y de capacidad aprovisionada, lo que permite controlar los costos de manera efectiva. Además, la característica de escalabilidad a cero garantiza que no se incurran en costos cuando no se utilizan recursos.
Integraciones con los servicios de AWS: Se integra perfectamente con otros servicios de AWS, como Lambda, S3, y Kinesis, permitiendo construir aplicaciones más complejas y potentes. Estas integraciones facilitan el análisis de datos, la automatización y la extensión de las capacidades de DynamoDB a través de diferentes servicios en la nube.
Precios
Capacidad Bajo Demanda: Pagas solo por las operaciones de lectura y escritura que tu aplicación realiza. Es ideal si las cargas de trabajo son impredecibles o si prefieres evitar la planificación de capacidad. DynamoDB ajusta automáticamente la capacidad según las necesidades.
Capacidad Aprovisionada: Permite especificar el número de operaciones de lectura y escritura por segundo que tu aplicación necesita. Es adecuado si el tráfico es estable o predecible. También incluye opciones de escalado automático para optimizar costos y rendimiento.
Caso de éxito

Airbnb utiliza Amazon DynamoDB para gestionar la disponibilidad de propiedades y reservas en tiempo real a nivel mundial. Con millones de usuarios realizando búsquedas y reservas simultáneamente, Airbnb necesita una base de datos que ofrezca un rendimiento rápido y fiable. DynamoDB proporciona a Airbnb la capacidad de escalar automáticamente para manejar millones de solicitudes por segundo, asegurando que los usuarios tengan una experiencia fluida y sin interrupciones, independientemente del volumen de tráfico.
Lyft confía en DynamoDB para almacenar y gestionar datos críticos de sus usuarios y conductores, como la ubicación en tiempo real, el historial de viajes, y las preferencias de los pasajeros. Durante los picos de demanda, como en eventos importantes o durante las horas pico, Lyft necesita garantizar un rendimiento consistente y de baja latencia. DynamoDB permite a Lyft escalar de manera eficiente para manejar este tráfico intensivo, asegurando que las solicitudes de viaje se procesen rápidamente y que la experiencia del usuario sea siempre óptima.


Mercado Libre, una de las plataformas de comercio electrónico más grandes de América Latina, utiliza Amazon DynamoDB para gestionar millones de transacciones diarias en su plataforma. Con la necesidad de escalar rápidamente y manejar grandes volúmenes de datos, DynamoDB les permite mantener un rendimiento de baja latencia y alta disponibilidad. Esto es crucial para garantizar una experiencia de compra fluida y confiable para sus usuarios, especialmente durante eventos de ventas masivas como el Black Friday, donde el tráfico puede aumentar drásticamente.
Preguntas frecuentes sobre Amazon DynamoDB
¿Qué es Amazon DynamoDB?
DynamoDB es un servicio flexible de bases de datos no relacionales para cualquier escala. DynamoDB permite a los clientes evitar la carga administrativa que supone tener que utilizar y escalar bases de datos distribuidas, de lo que pasa a encargarse AWS. De esta manera, no tienen que preocuparse del aprovisionamiento, la instalación ni la configuración del equipo, ni tampoco de la planificación de la capacidad de rendimiento, la reproducción, las revisiones del software o el escalado de clústeres.
¿Qué administra DynamoDB por mí?
DynamoDB elimina una de las principales dificultades del escalado de bases de datos: administrar el software de la base de datos y el aprovisionamiento del equipo necesario para ejecutarlo. Puede implementar una base de datos no relacional en cuestión de minutos. DynamoDB escala automáticamente la capacidad de procesamiento para satisfacer las demandas de carga de trabajo y crea particiones y subparticiones de los datos a medida que aumenta el tamaño de la tabla. Además, DynamoDB realiza una reproducción sincronizada de los datos en tres centros de una misma región de AWS, lo que proporciona un alto nivel de disponibilidad y durabilidad de los datos.
¿Cuál es el modelo de coherencia de DynamoDB?
DynamoDB ofrece dos tipos de consistencia de lectura:
- Transacciones ACID: Proporciona atomicidad, consistencia, aislamiento y durabilidad para operaciones coordinadas en una o más tablas dentro de una sola cuenta de AWS.
- Lecturas consistentes finales: Aumenta la capacidad de procesamiento, con una posible ligera desincronización en datos recientes, alcanzando consistencia en segundos.
- Lecturas altamente consistentes: Garantiza que los resultados reflejen todas las escrituras completadas antes de la lectura.
¿Qué tipo de funcionalidad de consulta admite DynamoDB?
DynamoDB permite operaciones GET/PUT utilizando una clave principal definida por el usuario. Las claves principales pueden ser de un solo atributo o compuestas (partición y ordenación). DynamoDB también admite consultas flexibles mediante índices secundarios globales y locales. Las claves compuestas permiten búsquedas jerárquicas, por ejemplo, combinando «UserID» y «Timestamp» para recuperar elementos específicos. Además, puedes usar la API Query para recuperar datos basados en condiciones específicas.
¿Cómo puedo actualizar y consultar elementos de datos con DynamoDB?
Después de crear una tabla con la consola de DynamoDB o la API CreateTable, puede utilizar las API PutItem o BatchWriteItem para insertar elementos. A continuación, puede utilizar las API GetItem, BatchGetItem o, si las claves principales compuestas están habilitadas y se utilizan en la tabla, la API de consulta Query para recuperar los elementos que haya agregado a la tabla.
¿Cómo se cobra el uso de DynamoDB?
Cada tabla de DynamoDB tiene un rendimiento de lectura y escritura aprovisionado asociado. Se le facturará cada hora de esa capacidad de rendimiento. Tenga en cuenta que se le cobrará por hora de capacidad de rendimiento, independientemente de si envía o no solicitudes a la tabla. Si desea cambiar la capacidad de rendimiento aprovisionada de la tabla, puede hacerlo a través de la Consola de administración de AWS, la API UpdateTable o la API PutScalingPolicy para el escalado automático. Además, DynamoDB cobra el almacenamiento de datos indizados, así como la tarifa de transferencia de datos estándar de Internet.
¿Cuál es el rendimiento mínimo que puedo aprovisionar para una única tabla de DynamoDB?
La cantidad mínima de rendimiento aprovisionado que puede solicitar es 1 unidad de capacidad de escritura y 1 unidad de capacidad de lectura tanto para el escalado automático como para el aprovisionamiento de rendimiento manual. Este aprovisionamiento se encuadra dentro de la capa gratuita, que permite disponer de 25 unidades de capacidad de escritura y de 25 unidades de capacidad de lectura. La capa gratuita se aplica a nivel de cuenta y no de tabla. Dicho de otra manera, si suma la capacidad prevista de todas sus tablas y la capacidad total no es superior a 25 unidades de capacidad de escritura y 25 unidades de capacidad de lectura, la capacidad prevista estará dentro de la capa gratuita.