Introducción

1

Bases de Datos Relacionales y No Relacionales en AWS

Introducción a RDS

2

Gestión de Bases de Datos Relacionales en AWS RDS

3

Creación de Bases de Datos en AWS RDS con MySQL

4

Conexión y Gestión de Bases de Datos MySQL con MySQL Workbench

5

Creación de Tablas e Ingesta de Datos con MySQL Workbench

6

Conexión y Operaciones en RDS con Instancia EC2 de Amazon

7

Despliegue y Gestión de Bases de Datos RDS con MySQL

Backups, Performance y HA en RDS

8

Backups y Alta Disponibilidad en RDS: Estrategias Efectivas

9

Restauración y Configuración de Backups en RDS

10

Estrategias de Rendimiento en Bases de Datos AWS RDS

11

Alta Disponibilidad en RDS con Multi-AZ

Migración a RDS

12

Estrategias de Migración a RDS con Database Migration Service

13

Migraciones Homogéneas con Database Migration Service

14

Arquitecturas y Casos de Uso de Amazon RDS

Aurora

15

Características y Ventajas de Amazon Aurora en AWS

16

Endpoints y Funcionalidades Avanzadas en Amazon Aurora

17

Aurora Serverless: Configuración y Ventajas en AWS

18

Creación y Configuración de Bases de Datos Aurora en AWS RDS

Introducción a DynamoDB

19

Introducción a DynamoDB: Bases de Datos No Relacionales en AWS

20

Consistencia en DynamoDB: eventual vs fuerte

21

Creación y Configuración de Tablas en DynamoDB

22

Casos de Uso de DynamoDB en Aplicaciones Reales

23

Creación y Configuración de Tablas en DynamoDB para Encuestas

Particiones e Índices en DynamoDB

24

Particiones e Índices en DynamoDB para Optimización de Rendimiento

25

Operaciones Scan en DynamoDB: Funcionamiento y Eficiencia

26

Consultas en DynamoDB: Optimización y Uso Eficiente de Queries

27

Operaciones Scan y Query en DynamoDB: Uso y Diferencias

28

Índices Secundarios en DynamoDB para Consultas Eficientes

DynamoDB Streams y Replicación

29

Uso de DynamoDB Streams para Arquitecturas en Tiempo Real

30

Casos de Uso de DynamoDB Streams en Aplicaciones en Tiempo Real

31

Optimización de consultas en DynamoDB con DAX

Contenido Bonus

32

Bases de Datos Relacionales y No Relacionales en AWS

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Práctico de Bases de Datos en AWS

Curso Práctico de Bases de Datos en AWS

Carlos Andrés Zambrano Barrera

Carlos Andrés Zambrano Barrera

Casos de Uso de DynamoDB en Aplicaciones Reales

22/32
Recursos

El servicio de DynamoDB es muy útil en los siguientes casos:

  • Aplicaciones móviles
  • Internet de las cosas (IoT, gracias al real time y su capacidad para ingesta de información)
  • Aplicaciones Web
  • Gaming (gracias a su alta disponibilidad, conexión y por ser no relacional)
  • Manejo de sesiones
  • RealTime (ya que no solo nos permite almacenar nuestra información, también podemos utilizar toda la data en tiempo real para alimentar otros servicios y generar otras arquitecturas)

Aportes 29

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Yo usaría RDS para construir bases de datos con modelos complejos que requieran cruce de varias tablas, como por ejemplo productos que se relacionan entre si, que pueden estar asociados a multiples categorías, que pueden ser comprados por varios usuarios.

Las bases de datos NoSQL como DynamoDB me parece que son muy útiles para almacenar datos de un usuario, como por ejemplo el progreso de un usuario en el juego, con todas las medallas o retos tenga cumplidos, como no tienen estructura puedo ir creando más información en el json de cada uno sin que esto afecte los demás items.

Utilizaría una relacional en el momento de querer consistencia en mis datos por lo cual la crearía normalizada. Sin embargo, si deseo tener un mayor escalamiento, usaría una db no relacional además que me permite ingresar toda la cantidad de atributos que necesite para cada item.

Aplicaciones móviles
Internet de las cosas (IoT, gracias al real time y su capacidad para ingesta de información)
Aplicaciones Web
Gaming (gracias a su alta disponibilidad, conexión y por ser no relacional)
Manejo de sesiones
RealTime (ya que no solo nos permite almacenar nuestra información, también podemos utilizar toda la data en tiempo real para alimentar otros servicios y generar otras arquitecturas)

Que tan recomendable es usar DynamoDB como base de datos para un ecommerce? Esto en comparacion a RDS. Gracias de antemano.

la diferencia primordial corresponde a la capacidad de almacenamiento, en una base RDS al tener cientos de millones de datos la base al validar todas las primary key y recorrer los cubos de información pierde tiempo , por otro lado la información en una base de datos de dynamodb, permite un mayor trafico ya que no responde a la idea de interconectar toda las las estructuras de las bases y cada una puede llevar por separado la información, casos de uso principalmente en las transmisiones por directo, que manejan millones de datos pero solo corresponde a un objetivo temporal

RDS es una buens opcion si se tiene un motor de base de datos comun el cual no queremos ocuparnos de la administracion ni del mantenimiento ademas de ser muy facil de escalar y replicar. RDS me ofrece soporte para distintos motores de BD tanto relacionales como no relacionales
Por su parte Dynamodb es una base de datos no relacional la cual es muy rapida pero se usa en situaciones muy particulares.

Para decidir que tipo de BD usar, el diagrama de CAP es una herramienta muy buena:
https://platzi.com/blog/que-es-el-teorema-cap-y-como-elegir-la-base-de-datos-para-tu-proyecto/

creería que uno si va a usar una base de datos no relacional se debe de pensar que no se va a contar con las funcionalidades que las bases de datos relacionales nos proporcionan como lo son las claves primarias las relaciones, los joins, etc.
si no necesitamos todo esto y el numero de registros es considerablemente alto se podría considerar tener una base de datos no relacional como DynamoDb

increible 😃 puede usarse en chats 😃

## **📌 Casos de Uso en Amazon DynamoDB** Amazon **DynamoDB** es una base de datos NoSQL totalmente administrada que ofrece alto rendimiento, escalabilidad automática y baja latencia. Se utiliza ampliamente en diversas industrias y casos de uso. 🚀 ### **1️⃣ Aplicaciones Web y Móviles en Tiempo Real** **📌 Escenario:** Aplicaciones que requieren alta disponibilidad y escalabilidad, como redes sociales, mensajería y juegos en línea. ✅ **Ejemplo:** * Almacenar sesiones de usuario y preferencias. * Guardar mensajes de chat en tiempo real. * Gestionar perfiles de usuario en plataformas como Twitter o Facebook. **🔹 ¿Por qué DynamoDB?** * Latencia de milisegundos y escalabilidad automática. * Integración con AWS Lambda y Amazon API Gateway para arquitecturas sin servidor. ### **2️⃣ Comercio Electrónico** **📌 Escenario:** Tiendas en línea con alto tráfico y necesidad de procesamiento rápido. ✅ **Ejemplo:** * Gestión de carritos de compra. * Registro de historial de compras. * Recomendaciones de productos personalizadas. **🔹 ¿Por qué DynamoDB?** * Soporte para alta concurrencia de usuarios. * Modelo flexible sin esquemas rígidos para almacenar productos y transacciones. ### **3️⃣ Internet de las Cosas (IoT)** **📌 Escenario:** Dispositivos inteligentes que generan grandes volúmenes de datos. ✅ **Ejemplo:** * Monitoreo en tiempo real de sensores. * Registro de datos de temperatura, humedad y movimiento. * Automatización del hogar (smart homes). **🔹 ¿Por qué DynamoDB?** * Procesamiento en tiempo real con AWS IoT Core. * Compatible con arquitecturas basadas en eventos. ### **4️⃣ Juegos en Línea** **📌 Escenario:** Videojuegos que necesitan almacenamiento rápido y confiable para perfiles y puntuaciones. ✅ **Ejemplo:** * Guardado de progreso de los jugadores. * Tabla de clasificación en juegos multijugador. * Sincronización de datos entre múltiples dispositivos. **🔹 ¿Por qué DynamoDB?** * Capacidad de manejar millones de jugadores simultáneamente. * Integración con AWS Lambda para eventos en tiempo real. ### **5️⃣ Finanzas y Banca** **📌 Escenario:** Aplicaciones bancarias que requieren seguridad y alta disponibilidad. ✅ **Ejemplo:** * Registro de transacciones bancarias. * Análisis de fraude en tiempo real. * Gestión de cuentas y saldos. **🔹 ¿Por qué DynamoDB?** * Seguridad con encriptación en tránsito y en reposo. * Disponibilidad multi-región con backups automáticos. ### **6️⃣ Sistemas de Recomendación** **📌 Escenario:** Plataformas que personalizan contenido basado en el comportamiento del usuario. ✅ **Ejemplo:** * Recomendaciones de películas en streaming (Netflix, Prime Video). * Sugerencias de productos en e-commerce (Amazon, eBay). * Personalización de contenido en medios digitales. **🔹 ¿Por qué DynamoDB?** * Alta velocidad en consultas de datos personalizados. * Integración con Machine Learning en AWS. ### **📌 Conclusión** DynamoDB es ideal para aplicaciones que requieren: ✅ Escalabilidad automática. ✅ Baja latencia. ✅ Soporte para arquitecturas sin servidor. ✅ Integración con otros servicios de AWS.
Hola Chicos, Yo usaria Amazon RDS \[ 'SQL\_DB'] para Una WebApp convencional como un Negocio Online que administre usuarios y ventas en una Region pequena que no escale mucho. Yo Usario Amazon DynamoDB para una aplicacion de IoT y Maps que generan informacion continua Redundante de varios sensores en un cultivo de muchos Km2 para monotirear algun Vinero de Ubas que esten saludables y esta informacion deba pssar a otra aplicacion en tiempo real que realice alguna ejecuccion sobre los datos de mi Vinero y asi tener toda una arquitectura optima para liberar el flujo de agua cuando las hojas de mis plantitas se vuelvan marchitas / naranjas dar mas agua al cultivo por IoT. En general cuando Se necesita que lso datos sean entrados a mi sistema y luego procesados en otra Logica de Negocio para monitore constante en una gran extension de Tierra o para CCTV de SecCameras en una Ciudad Grande por el Sistem de Semaforos y monitoreo de trafico. Heyy tambien \_DynamoDB seria muy util para una un sistem de deteccion de Autos con matricula vencida o exceso de Velocidad en base a lsu Lisence Plate en la parte trasera, Ps las Cmaras Inteligentes recogerian la imagen de cada vehiculo que pasase por una interseccion Alta Velocidad y por ML recortaria la seccion de su Plate por OpenCV de Python3 'ComputeVision' , Luego, lo guardase en DynamoDB para asi encontrar el propietario en las Base de Datos del departamento de transito de mi Estado, encontrar al propietario registrado de la Infraccion para finalmente enviar una notificacion de Traffic Pentaly por exceso de velocidad. Realmente las psoiblidades son INFnitas con DynamoDB .
Información resumida de esta clase \#EstudiantesDePlatzi * Estos son algunos casos de uso para utilizar la base de datos DynamoDB: Mobile, IoT, Web, Gaming, manejo de sesiones, Real time
Que diferencia dynamodb de documentdb?

En mi empresa usamos dynamo para guardar logs de las transacciones de los usuarios y estos desencadenan lambdas que envían correos o generan archivos.

En mi empresa usamos Dynamo para registrar los identificadores de los web socket y cuando tengamos la info para responderle al cliente obtenemos la información del websocket de dynamo y le respondemos.

Empece a implementar Dynamo para guardar los datos de sesión y algunos logs.

Sin lugar a dudas DynamoDB genera valor para el gran procesamiento de datos que se puede dar en campos como BioIngenería, Machine Learning, DeepLearning entre otros.

User cases
Shopping carts
Workflow engines
Inventory tracking and fulfillment
Customer profiles and accounts

DynoDB es especial para realtime, gaming y web, cool

Lo mas potente que se puede decir de dynamodb es su capacidad de procesamiento en milisegundos, es muy robasta, y tiene rendimiento de cualquier escala. Ej 10 Trillon de requests por dia. wow que capacidad tan imprecionante.

adicional no necesita que se le instalen parches, actualizaciones. backups DRecoveries, ya que todo lo hace AWS team.
etc

Interesante, no conocia tantas funcionalidades y casos de uso para una base de datos no relacional

Utilizaría BD relacionales en sistemas que requieran estructuras fijas, información normalizada, que permita realizar cálculos precisos como en sistemas financieros, sistemas contables.

Consistencia fuerte de lectura en DynamoDB es importante para casos de uso donde se necesite conocer el estado de la DB en tiempo cercano al real, en comparación con RDS no identifico el manejo de estado de la DB en tiempo real. Capacidades de Read Replica y Multi AZ presentes en RDS donde los datos se replican de la DB Master a Read Replica de forma asíncrona y Standby de forma síncrona permiten conocer el estado de la DB pero un retraso de seg para replicar los datos de la Master a Read Replica y de Standby en menor tiempo.

aws + noSQL = dynamoDB
aws supo aprovechar muy bien la velocidad del modelo noSQL, le agregó su fuerte que es la infraestructura para alta disponibilidad, le puso algunos feautures mas y pum… apareció dynamoDB.

Usaría dynamo donde no necesite de hacer consultas muy elaboradas con el propio motor de bd. De resto dynamo aguanta todo.

Utilizaría Dynamo en sistemas de videojuegos, redes sociales, sistemas de comentarios, donde en una tabla pueda tener información de diferentes estructuras y sean cambiantes con el tiempo.

Una clara diferencia es que DynamoDB como las noSQL no tienen campos y es dinámica en estructura. Las noSQL se deben usar en todos los casos de uso en que la ingesta de datos sea masiva, ya que toda la ingesta masiva vuelve lentos los sitios de BD tradicionales.

Excelente explicación y se debe analizar muy bien los puntos de aplicabilidad.

usaría Dynamo para aplicaciones con un volumen de datos muy altos y que tenga que leer constantemente
usaría Rds para aplicación con un volumen de datos moderado y que tenga que mantener por mucho tiempo

Usamos RDS para una aplicación en la cual realizamos inspecciones.
Usamos DynamoDB en un servicio de Rastreo de ganado, mascotas y bicicletas donde almacenamos la data en tiempo real.