- 1

Certificación AWS Solutions Architect Associate: Fundamentos y Preparación
03:29 - 2

Preparación para certificación AWS Arquitecto de Soluciones
01:47 - 3

Configuración de presupuestos en AWS para controlar costos
08:48 - 4

AWS Well Architected Framework: Los 6 pilares para arquitectura sólida
04:19 quiz de Fundamentos de AWS
DynamoDB
Clase 38 de 69 • Curso de AWS Certified Solutions Architect Associate
Contenido del curso
- 10

Servicios de cómputo AWS: EC2, procesadores Graviton y AMIs
12:14 - 11

Opciones de Compra en EC2
04:43 - 12

Lanzamiento de una instancia EC2 desde la consola de AWS
09:11 - 13

Caracteristicas adicionales de EC2
09:25 - 14

Consulta de metadatos de instancia con IMDS v2 en AWS
04:31 - 15

AWS Outpost para ejecutar servicios localmente con latencia baja
05:54 - 16

Despliegue de aplicaciones web con AWS Elastic Beanstalk
19:46 quiz de Servicios de Computo en AWS
- 20

Direccionamiento IP y bloques CIDR para redes AWS
10:21 - 21

Anatomia y funcionamiento de la VPC
06:43 - 22

Configuración de instancias públicas y privadas con NAT Gateway
07:26 - 23

Seguridad de VPC con NACL y grupos de seguridad en AWS
05:35 - 24

Configuración de grupos de seguridad para instancias públicas
03:52 - 25

Conectividad híbrida en AWS: VPC Peering, Transit Gateway y Endpoints
04:37 quiz de Redes en AWS
- 30

Introducción al modulo y niveles de almacenamiento
04:58 - 31

Diferencias entre Instance Store y EBS en AWS
11:06 - 32

EFS & FSx
02:38 - 33

Creación y configuración de volúmenes EBS en AWS
03:55 - 34

S3
15:33 - 35

Configuración de EFS para compartir almacenamiento entre instancias
08:50 - 36

Recuperación de objetos eliminados con versionamiento en AWS S3
03:42 quiz de Almacenamiento en AWS
- 37

Bases de datos relacionales vs no relacionales en AWS
03:30 - 38

DynamoDB
08:09 - 39

Creación y configuración de bases de datos Dynamo en AWS
10:17 - 40

Elasticache y DAX
04:23 - 41

Escalabilidad y alta disponibilidad con AWS RDS y Aurora
09:17 - 42

Configuración de Aurora en AWS RDS para alta disponibilidad
11:18 quiz de Bases de datos en AWS
La migración a Amazon DynamoDB representa una solución poderosa para empresas de juegos en línea que buscan escalar sus operaciones y garantizar experiencias fluidas para sus usuarios. Este servicio, creado por Amazon para satisfacer sus propias necesidades de rendimiento durante eventos de alta demanda como Black Friday, ofrece características únicas que lo distinguen de las bases de datos tradicionales, permitiendo arquitecturas robustas y resilientes con capacidad de adaptación inmediata.
¿Qué hace única a DynamoDB como base de datos NoSQL?
DynamoDB se distingue fundamentalmente por su naturaleza no relacional, lo que significa que no está limitada por esquemas rígidos como las bases de datos tradicionales. Su flexibilidad permite que los ítems (equivalentes a filas en bases relacionales) dentro de una misma tabla puedan tener diferentes atributos y estructuras.
En una tabla de DynamoDB podemos encontrar, por ejemplo:
- Un ítem de libro con atributos como nombre, escritor y año
- Un álbum musical con nombre y escritor, pero sin año
- Una película con nombre, género y director
Esta variabilidad de esquemas en una misma tabla añade enorme flexibilidad al diseño de la base de datos, permitiendo que diferentes tipos de datos convivan sin necesidad de crear estructuras complejas o tablas separadas para cada tipo de contenido.
Claves primarias: el corazón del acceso a los datos
A diferencia de las bases de datos relacionales, DynamoDB utiliza un sistema de claves primarias que se compone de:
- Partition Key: determina cómo se distribuyen los datos
- Sort Key: permite organizar y buscar datos dentro de una partición
Esta estructura es fundamental para el rendimiento, ya que determina cómo se accederá a los datos. La elección adecuada de estas claves desde el inicio del proyecto es crucial para garantizar la eficiencia en las operaciones de lectura y escritura.
Índices secundarios: potenciando los patrones de acceso
DynamoDB ofrece dos mecanismos para crear patrones de acceso alternativos a los datos:
-
Local Secondary Index (LSI):
- Mantiene la misma Partition Key que la tabla principal
- Cambia únicamente la Sort Key
- Debe definirse durante la creación de la tabla
- No puede modificarse posteriormente
-
Global Secondary Index (GSI):
- Permite crear nuevas combinaciones de Partition Key y Sort Key
- Se puede crear, modificar o eliminar en cualquier momento
- Ideal para cargas de trabajo cambiantes o patrones de acceso no predefinidos
Estos índices permiten mantener una única tabla con múltiples patrones de acceso, simplificando la arquitectura y eliminando la necesidad de tablas replicadas o relaciones complejas.
¿Cómo garantiza DynamoDB el rendimiento y la escalabilidad?
DynamoDB está diseñado para ofrecer una latencia mínima y consistente, independientemente del volumen de datos o el número de solicitudes.
Modelos de capacidad adaptables
El servicio ofrece dos modelos de aprovisionamiento:
-
Bajo demanda:
- Las unidades de lectura/escritura crecen o decrecen automáticamente
- Ideal para cargas de trabajo impredecibles o variables
- No requiere planificación previa de capacidad
-
Aprovisionado:
- Se define explícitamente la capacidad de lectura/escritura
- Más económico cuando la carga de trabajo es predecible
- Permite una mejor gestión de costos
La escalabilidad automática es una característica predeterminada que permite a DynamoDB adaptarse a picos de tráfico sin intervención manual, garantizando que las aplicaciones sigan funcionando incluso ante aumentos repentinos de usuarios.
El equilibrio entre consistencia y latencia
Al replicar datos en diferentes regiones, DynamoDB enfrenta el desafío de la consistencia. El servicio ofrece un modelo de "consistencia eventual", donde:
- Se prioriza la baja latencia en las operaciones
- Las escrituras se propagan a todas las réplicas en segundo plano
- Las lecturas pueden no reflejar instantáneamente las últimas escrituras
Este modelo representa un compromiso (trade-off) consciente que favorece la disponibilidad y el rendimiento sobre la consistencia inmediata, especialmente importante en aplicaciones como juegos en línea donde la experiencia del usuario depende de respuestas rápidas.
¿Cómo integrar DynamoDB en arquitecturas basadas en eventos?
Una de las características más potentes de DynamoDB es su capacidad para integrarse en arquitecturas orientadas a eventos mediante DynamoDB Streams.
DynamoDB Streams: capturando el cambio
DynamoDB Streams captura y conserva durante 24 horas todos los eventos que ocurren en una tabla:
- Creaciones
- Actualizaciones
- Eliminaciones
Estos eventos pueden desencadenar acciones automáticas, creando arquitecturas reactivas altamente eficientes.
Arquitecturas integradas
Una arquitectura típica basada en DynamoDB Streams podría incluir:
- Una aplicación que escribe datos en DynamoDB
- DynamoDB Streams captura estos cambios
- Una función AWS Lambda procesa estos eventos
- Los datos procesados pueden:
- Almacenarse en otra tabla de DynamoDB
- Enviarse a Amazon Kinesis Data Streams para procesamiento en tiempo real
- Guardarse en S3 para análisis posterior con Athena
- Almacenarse en Amazon Redshift para análisis de big data
- Indexarse en OpenSearch para búsquedas avanzadas
- Generar notificaciones a través de SNS o SQS
Esta capacidad de integración convierte a DynamoDB en un componente central para arquitecturas de microservicios y aplicaciones basadas en eventos, permitiendo flujos de datos automatizados y procesamiento en tiempo real.
Replicación global
DynamoDB ofrece la capacidad de replicar tablas entre diferentes regiones geográficas de forma nativa. Esta característica:
- Asegura alta disponibilidad incluso ante fallos regionales
- Reduce la latencia para usuarios en diferentes zonas geográficas
- Simplifica la arquitectura al eliminar la necesidad de crear sistemas de replicación personalizados
Para empresas de juegos con usuarios globales, esta capacidad resulta invaluable para garantizar experiencias consistentes independientemente de la ubicación de los jugadores.
La combinación de flexibilidad, rendimiento y capacidades de integración hace de DynamoDB una solución ideal para empresas como la mencionada al inicio, que necesitan arquitecturas robustas y resilientes para soportar bases de usuarios en crecimiento. Su diseño orientado a la alta disponibilidad y baja latencia lo convierte en una elección natural para aplicaciones críticas que no pueden permitirse tiempos de inactividad.