CLF-C02

Deep Dive

Practicar ahora
D3 · Tecnología y servicios en la nube

Bases de datos: RDS, DynamoDB y más

AWS ofrece un portafolio completo de bases de datos gestionadas para diferentes patrones de acceso. El CLF-C02 evalúa especialmente RDS Multi-AZ vs Read Replicas, y RDS vs DynamoDB como escenario de elección.

Bases de datos en AWS

RDS / Aurora

Relacional SQL

DynamoDB

NoSQL clave-valor

ElastiCache

In-memory / Caché

Redshift

Data Warehouse

Amazon RDS — Relational Database Service

Icon-Architecture/48/Arch_Amazon-RDS_48

Bases de datos relacionales gestionadas en AWS

Amazon RDS facilita la configuración, operación y escala de bases de datos relacionales en la nube. AWS gestiona el servidor, el sistema operativo, el parche del motor y los backups automáticos.

Motores soportados: MySQL, PostgreSQL, Oracle, Microsoft SQL Server, MariaDB, Amazon Aurora

Qué gestiona AWS en RDS

  • • Hardware físico de los servidores de base de datos
  • • Sistema operativo (sin acceso SSH al servidor)
  • • Parches del motor de BD (MySQL, PostgreSQL, etc.)
  • • Backups automáticos con retención de 0-35 días
  • • Point-in-Time Recovery (PITR)
  • • Monitoreo con CloudWatch
  • • Actualizaciones de firmware de hardware

Qué gestiona el cliente en RDS

  • • Datos y esquema de la base de datos
  • • Usuarios y contraseñas de la BD
  • • Security Groups (quién puede conectarse)
  • • Cifrado at rest (activar la opción al crear)
  • • Cifrado en tránsito (SSL/TLS)
  • • Selección del tipo de instancia
  • • Tamaño del almacenamiento

RDS Multi-AZ vs Read Replicas — La distinción más importante del examen

✓ Multi-AZ — Alta Disponibilidad

RDS crea una réplica síncrona en otra Availability Zone. Si la instancia primaria falla, RDS realiza failover automático a la secundaria en 1-2 minutos.

  • ✓ Alta disponibilidad automática
  • ✓ Failover automático ante fallo de AZ
  • ✓ Réplica síncrona (sin pérdida de datos)
  • ✗ NO mejora el rendimiento de lectura
  • ✗ La réplica secundaria no sirve tráfico normal

Pregunta: "¿Quiero que la BD siga funcionando si falla una AZ?" → Multi-AZ

✓ Read Replicas — Escalado de Lectura

RDS crea réplicas asíncronas de solo lectura. Las aplicaciones pueden dirigir las consultas de lectura a las Read Replicas, reduciendo la carga de la instancia primaria.

  • ✓ Mejora el rendimiento de lectura
  • ✓ Hasta 5 Read Replicas por instancia RDS
  • ✓ Pueden estar en diferentes regiones
  • ✗ NO es para alta disponibilidad automática
  • ✗ Replicación asíncrona (posible retraso mínimo)

Pregunta: "¿Mi app lee muchos datos y necesito escalar?" → Read Replicas

Amazon Aurora

Icon-Architecture/48/Arch_Amazon-Aurora_48

Motor de base de datos relacional propio de AWS, compatible con MySQL y PostgreSQL

Amazon Aurora es una base de datos relacional construida por AWS desde cero para el cloud. Es compatible con MySQL y PostgreSQL pero ofrece significativamente más performance.

5x

Más rápido que MySQL

3x

Más rápido que PostgreSQL

hasta 15

Read Replicas por cluster

10GB → 128TB

Almacenamiento auto-escala

Aurora vs RDS estándar

  • • Aurora: hardware de AWS optimizado para BD. RDS: hardware genérico.
  • • Aurora: almacenamiento distribuido en 6 copias (3 AZs). RDS: 2 copias en Multi-AZ.
  • • Aurora: hasta 15 Read Replicas. RDS: hasta 5.
  • • Aurora: ~20% más caro que RDS MySQL/PostgreSQL equivalente.

Aurora Serverless

Escala capacidad de BD automáticamente según demanda. Ideal para apps con carga impredecible o intermitente. Pagas solo por los recursos usados durante el uso activo.

Amazon DynamoDB — NoSQL Serverless

Icon-Architecture/48/Arch_Amazon-DynamoDB_48

Base de datos key-value y document totalmente gestionada, serverless

Amazon DynamoDB es una base de datos de clave-valor y documentos que ofrece rendimiento de milisegundos de un solo dígito a cualquier escala. Es serverless — no hay servidores que gestionar, aprovisionar ni parchear.

Características de DynamoDB

  • Serverless: sin gestión de servidores. Escala automáticamente a cualquier tamaño.
  • Performance: latencia de un solo dígito de milisegundos consistentemente.
  • Modelo de datos: tablas con items (documentos). No hay schema fijo. Solo Primary Key obligatoria.
  • Global Tables: réplica multi-región completamente gestionada.
  • Streams: captura cambios en la tabla para procesarlos con Lambda.

DynamoDB Accelerator (DAX)

Caché en memoria totalmente gestionada y compatible con DynamoDB. Mejora el rendimiento de hasta 10x para cargas de lectura intensivas.

  • • Latencia de microsegundos vs milisegundos de DynamoDB
  • • Compatible con las APIs existentes de DynamoDB
  • • No requiere cambios de código en la aplicación
  • • Ideal para: juegos, finanzas, real-time applications

Amazon ElastiCache

Icon-Architecture/48/Arch_Amazon-ElastiCache_48

Caché en memoria gestionado (Redis y Memcached)

ElastiCache es un servicio de caché en memoria completamente gestionado. Mejora el rendimiento de bases de datos al almacenar en caché datos consultados frecuentemente.

Redis

  • • Estructuras de datos avanzadas (sets, listas, hashes)
  • • Persistencia de datos opcional
  • • Alta disponibilidad (replicación automática)
  • • Pub/Sub messaging
  • • Recomendado para la mayoría de casos

Memcached

  • • Caché simple de clave-valor
  • • Escalado horizontal multi-nodo
  • • Sin persistencia de datos
  • • Sin replicación
  • • Para caché puro sin características avanzadas

Amazon Redshift — Data Warehouse

Icon-Architecture/48/Arch_Amazon-Redshift_48

Data warehouse para análisis de datos a escala de petabytes

Amazon Redshift es un data warehouse completamente gestionado, escalable y de alta performance. Diseñado para análisis de grandes volúmenes de datos (OLAP), no para transacciones en tiempo real (OLTP).

Casos de uso (OLAP)

  • • Business Intelligence y reportes
  • • Análisis de clickstream de usuarios
  • • Análisis de ventas histórico
  • • Combinado con QuickSight para dashboards

No es para (OLTP)

  • • Transacciones en tiempo real
  • • Aplicaciones web con muchas escrituras
  • • Datos actualizados frecuentemente
  • • Para esto usa RDS o DynamoDB

Otros servicios de bases de datos

Icon-Architecture/48/Arch_Amazon-DocumentDB_48

Amazon DocumentDB

Document DB (MongoDB compatible)

Base de datos de documentos JSON completamente gestionada, compatible con workloads MongoDB. Escala automáticamente el almacenamiento.

Cuándo: Migrar desde MongoDB, apps de contenido, catálogos de productos

Icon-Architecture/48/Arch_Amazon-Neptune_48

Amazon Neptune

Graph Database

Base de datos de grafos gestionada. Optimizada para almacenar y consultar relaciones altamente conectadas entre datos.

Cuándo: Redes sociales, motores de recomendación, detección de fraude, knowledge graphs

Icon-Architecture/48/Arch_Amazon-RDS_48

Amazon QLDB

Ledger Database (blockchain-like)

Base de datos de libro mayor inmutable y criptográficamente verificable. Cada cambio tiene un historial permanente y verificable.

Cuándo: Sistemas financieros, registro de transacciones, supply chain tracking

Relacional vs NoSQL — Cuándo usar cada uno

CriterioRDS / Aurora (SQL)DynamoDB (NoSQL)
Modelo de datosTablas con relaciones (JOIN)Key-value o documentos JSON
SchemaRígido (schema-on-write)Flexible (schema-on-read)
EscaladoVertical (más CPU/RAM) o Read ReplicasHorizontal automático e ilimitado
Transacciones ACIDSí, nativasSí (transacciones DynamoDB, limitadas)
Consultas complejasSQL completo: JOINs, GROUP BY, subqueriesSolo por partition key / sort key. Sin JOINs nativos.
Performance bajo cargaDegrada con muchos JOINs y concurrencia altaPerformance consistente a cualquier escala
Casos de usoERP, CRM, finanzas, e-commerce transaccionalGaming, IoT, perfiles de usuario, sesiones, tiempo real

Herramientas de migración de bases de datos

Icon-Architecture/48/Arch_AWS-Database-Migration-Service_48

AWS Database Migration Service (DMS)

Migra datos con mínimo downtime

Migra bases de datos hacia AWS (o entre servicios AWS) con el sistema origen operativo durante la migración. Soporta migraciones continuas y one-time.

Migración homogénea

Mismo motor: MySQL on-prem → RDS MySQL. Solo DMS, sin conversión de esquema.

Migración heterogénea

Motores distintos: Oracle → Aurora PostgreSQL. Se necesita SCT para el esquema + DMS para los datos.

AWS Schema Conversion Tool (SCT)

Convierte automáticamente el esquema de base de datos (tablas, vistas, índices, procedimientos almacenados) de un motor a otro.

  • • Oracle → PostgreSQL / Aurora
  • • SQL Server → MySQL / Aurora
  • • Teradata → Amazon Redshift
  • • También convierte código de aplicación (JDBC, ODBC)

SCT + DMS juntos

SCT convierte el ESQUEMA (estructura). DMS migra los DATOS (contenido). Se usan juntos para migraciones heterogéneas.

Casos de uso comunes

Oracle on-premises → Amazon Aurora PostgreSQL

Herramientas: SCT (esquema) + DMS (datos)

Heterogénea

SQL Server on-premises → Amazon RDS for SQL Server

Herramientas: Solo DMS

Homogénea

MySQL on-premises → Amazon RDS for MySQL

Herramientas: Solo DMS

Homogénea (lift-and-shift de BD)

Teradata data warehouse → Amazon Redshift

Herramientas: SCT (esquema) + DMS (datos)

Heterogénea

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una empresa tiene una base de datos RDS MySQL con problemas de rendimiento durante horas pico. La mayoría del tráfico son consultas de lectura. ¿Qué solución de Amazon RDS mejora el rendimiento de lectura sin afectar la disponibilidad de la base de datos de producción?