← dev-notes
SEMANA 03 / 05

Bases de Datos
& Almacenamiento

14 servicios para persistir, consultar y mover datos en AWS

🗄 Almacenamiento de objetos 🔷 Bases de datos SQL ⚡ NoSQL & Caché 📊 Analytics & Migración
01 Almacenamiento — objetos, bloques y archivos
🪣
01
Amazon S3
Object Storage Buckets 11 nines URL/API
Almacenamiento de objetos escalable e ilimitado. No es un sistema de archivos — los objetos se acceden por URL o API. Replica automáticamente en mínimo 3 AZs.
Ejemplo: Guardar los PDFs de facturas o las fotos de perfil de usuarios de tu app.
Memoriza: 99.999999999% de durabilidad (11 nueves). Si guardas 10 millones de objetos, podrías perder uno cada 10,000 años.
💾
02
Amazon EBS
Block Storage Disco EC2 Snapshot AZ-level
Almacenamiento en bloque de alto rendimiento para EC2. Funciona como un disco SSD virtual que adjuntas a tu instancia. Persiste aunque la EC2 se apague. Se pueden tomar snapshots como backups.
Ayuda memoria: Es el "pendrive SSD" que conectas a tu servidor virtual para instalar el sistema operativo.
Un volumen EBS solo puede estar adjunto a una EC2 a la vez (en la misma AZ). Para compartir entre múltiples instancias, usa EFS.
📂
03
Amazon EFS
NFS Compartido Multi-instancia Auto-escala
Sistema de archivos compartido y elástico que puede ser montado simultáneamente en múltiples instancias EC2 en distintas AZs. Escala automáticamente según el uso, sin que debas aprovisionar capacidad.
Ejemplo: Un clúster de servidores Java que necesitan leer y escribir en una misma carpeta compartida de reportes.
S3 — Object
Archivos / Media Backups
Acceso por URL. Sin límite de tamaño. Duradero en 3+ AZs. No se adjunta a EC2.
EBS — Block
OS / Bases de datos Alta I/O
Disco virtual para 1 EC2 a la vez. Alta performance. Solo en 1 AZ. Requiere EC2 para usarse.
EFS — File
Multi-instancia Compartido
NFS compartido entre muchas EC2. Escala solo. Multi-AZ. Más caro por GB que EBS.
🧊
04
S3 Glacier — Archivo a largo plazo
Bajo costo Archivo frío Recuperación en minutos/horas Cumplimiento legal
Clase de almacenamiento de S3 diseñada para datos que se consultan muy rara vez. Costo por GB mucho menor que S3 Standard, pero con tiempos de recuperación que van desde minutos (Glacier Instant) hasta horas (Glacier Deep Archive).
Ejemplo: Guardar registros legales de hace 5 años que solo necesitas si hay una auditoría. También para backups de largo plazo que debes retener por regulaciones.
GLACIER INSTANT
Recuperación en milisegundos. Acceso 1x por trimestre.
GLACIER FLEXIBLE
Recuperación en 1–5 min (Expedited) o 3–5 h (Standard).
DEEP ARCHIVE
El más barato. Recuperación en 12 h. Datos raramente accedidos.
02 Bases de datos relacionales (SQL)
🗄
05
Amazon RDS
SQL Managed Multi-AZ Backup automático Read Replicas
Servicio gestionado para bases de datos relacionales. AWS se encarga del parcheo del SO, backups automáticos y failover Multi-AZ. Soporta MySQL, PostgreSQL, MariaDB, Oracle y SQL Server.
Ejemplo: Tu base de datos PostgreSQL que requiere integridad transaccional (ACID) para un sistema de pagos o e-commerce.
Con Multi-AZ, RDS mantiene una réplica sincrónica en otra AZ. Si la primaria falla, el failover es automático en ~1–2 minutos.
🌅
06
Amazon Aurora
MySQL / PostgreSQL 5x más rápida Alta disponibilidad Storage auto-escala
Base de datos relacional propietaria de AWS, compatible con MySQL y PostgreSQL pero diseñada desde cero para la nube. 5x más rápida que MySQL estándar y 3x que PostgreSQL. El storage escala automáticamente hasta 128 TB.
Ejemplo: Tu app creció y la RDS de Postgres ya no aguanta el tráfico de lectura/escritura — migras a Aurora.
Aurora replica los datos 6 veces en 3 AZs automáticamente. Aurora Serverless escala la capacidad de cómputo automáticamente según la demanda.
03 NoSQL, caché en memoria y analytics
07
Amazon DynamoDB
NoSQL Serverless Milisegundos Key-Value
Base de datos NoSQL de clave-valor completamente gestionada y serverless. Rendimiento consistente en milisegundos a cualquier escala. No necesitas gestionar clusters ni capacidad.
Ejemplo: Guardar sesiones de usuario o carritos de compra que necesitan ser consultados en milisegundos sin importar cuántos usuarios haya.
En el examen: "esquema flexible" o "escalabilidad horizontal masiva" → DynamoDB. "Consultas complejas" o "Joins" → RDS.
🚀
08
Amazon ElastiCache
In-memory Redis / Memcached Caché Acelerar BD
Servicio de caché en memoria gestionado que soporta Redis y Memcached. Almacena resultados de consultas frecuentes para responder en microsegundos sin ir a la base de datos.
Ejemplo: Los resultados de las consultas más frecuentes a RDS se guardan en Redis — el 80% de los requests nunca llega a la BD.
Patrón clásico: App → ElastiCache (hit) → responde inmediato. App → ElastiCache (miss) → consulta RDS → guarda en caché → responde.
📊
09
Amazon Redshift
Data Warehouse OLAP Análisis masivo BI
Data warehouse columnar para análisis complejo (OLAP) y Business Intelligence. No es para transacciones del día a día (OLTP) — es para queries analíticos pesados sobre petabytes de datos históricos.
Ayuda memoria: No lo usa tu app de producción. Lo usa el equipo de datos para hacer queries pesadas sobre años de historial de ventas.
OLTP (transacciones rápidas) → RDS / Aurora / DynamoDB. OLAP (análisis histórico, reportes) → Redshift.
04 Migración de datos
🚛
10
AWS Database Migration Service (DMS)
Migración Downtime mínimo Homogéneo / Heterogéneo Replicación continua
Servicio para migrar bases de datos a AWS de forma rápida y con downtime mínimo. Soporta migraciones homogéneas (Oracle → Oracle en RDS) y heterogéneas (Oracle → Aurora PostgreSQL). La app sigue funcionando durante la migración.
Ejemplo: Mover tu base de datos On-premise de la oficina a AWS RDS mientras la app sigue sirviendo tráfico real.
Para migraciones heterogéneas (distinto motor), DMS usa el Schema Conversion Tool (SCT) para convertir el esquema automáticamente.
📦
11
AWS Snow Family
Migración física Snowball · Snowcone · Snowmobile Sin internet Edge computing
Dispositivos físicos que AWS te envía para transferir grandes volúmenes de datos (desde TB hasta EB) cuando no es viable hacerlo por internet. También permiten procesar datos en ubicaciones sin conectividad.
Ejemplo: Tienes 200 TB de datos en un datacenter propio y subirlos por internet tardaría meses — AWS te manda un Snowball Edge, cargas los datos y lo devuelves.
Snowmobile (camión, petabytes) vs Snowball/Snowcone (dispositivos portátiles, TB–PB). En examen: “PB físicos”, “sin ancho de banda” → Snow Family. Vs DMS: migración online con la app en marcha → DMS, no Snow.
🔌
12
AWS Direct Connect
Enlace dedicado On-prem ↔ AWS BGP No es Snow
Conexión de red privada dedicada entre tu datacenter/oficina y AWS (puerto en un DX Location). Tráfico predecible, menor latencia que VPN por internet público y sin pasar por Snow.
Ejemplo: Enlace 1 Gbps o 10 Gbps estable para replicar backups hacia VPC todos los días.
Vs Snowmobile: Direct Connect es circuito de red continuo; Snowmobile mueve discos físicos cuando mover bits por cable no da el ancho de banda o el tiempo.
05 Guía rápida — ¿qué servicio usar?
Servicio
Tipo
Cuándo usarlo
Escala
Gestión
Keyword examen
S3
Object
Archivos, imágenes, backups, sitios estáticos
Ilimitado
Totalmente gestionado
11 nines · URL
EBS
Block
Disco del OS, base de datos en EC2
Hasta 64 TB / vol.
Tú gestionas el SO
Snapshot · AZ
EFS
File NFS
Archivos compartidos entre muchas EC2
Auto-escala
Totalmente gestionado
Multi-AZ · NFS
S3 Glacier
Archivo frío
Datos raramente accedidos, cumplimiento legal
Ilimitado
Totalmente gestionado
Bajo costo · Horas
RDS
SQL relacional
ACID, joins, esquema fijo, transacciones
Manual / Read Replicas
Gestionado (AWS parchea)
Multi-AZ · SQL
Aurora
SQL cloud-native
Alto tráfico SQL, 5x MySQL, HA nativa
Auto-escala storage
Totalmente gestionado
5x rápida · AWS
DynamoDB
NoSQL key-value
Escala masiva, baja latencia, esquema flexible
Automático / Serverless
Totalmente gestionado
ms · Serverless
Redshift
Data Warehouse
Analytics, OLAP, BI, queries históricas
Petabytes
Gestionado
OLAP · BI
Direct Connect
Red dedicada
Enlace estable on-prem ↔ AWS (BGP), sin mover discos físicos
1 Gbps – 100 Gbps
Tú + partner / AWS
VPN lenta · DX estable
Snow Family
Transferencia física
Internet insuficiente; Snowmobile para volúmenes extremos
TB → EB
AWS envía dispositivo
PB · camión
06 Guía de decisión para el examen
Si en el examen lees estas palabras clave → elige este servicio
"Esquema flexible" · "Escalabilidad masiva" · "Milisegundos a cualquier escala"
Amazon DynamoDB
NoSQL serverless, escala horizontal infinita sin gestión.
"Consultas complejas" · "Joins" · "ACID" · "Transacciones" · "Esquema fijo"
Amazon RDS / Aurora
RDS si es estándar. Aurora si necesitas mayor rendimiento y es MySQL/Postgres.
"Analytics" · "Business Intelligence" · "Data Warehouse" · "Historial" · "OLAP"
Amazon Redshift
No es para la app — es para el equipo de datos y reportes masivos.
"Caché" · "Acelerar base de datos" · "In-memory" · "Redis" · "Memcached"
Amazon ElastiCache
Reduce la carga en RDS cacheando resultados frecuentes en RAM.
"Archivo a largo plazo" · "Bajo costo" · "Auditoría" · "Raramente accedido"
S3 Glacier
Máxima durabilidad al mínimo costo, para datos "fríos" que casi nunca se leen.
"Petabytes físicos" · "camión" · "sin ancho de banda" · "meses subiendo por internet"
AWS Snow Family / Snowmobile
Mover datos en dispositivos o vehículo; no es una VPN ni un enlace permanente.
"Conexión dedicada estable" · "datacenter a AWS" · "BGP" · "Gbps fijos" · "no migrar discos"
AWS Direct Connect
Red privada de largo plazo; distinto de subir un archivo con Snow o replicar BD online con DMS.
⚠️
Confusión más común del examen: S3 vs EBS
S3 es para archivos que accedes vía URL (como una web pública, backups, fotos). No puedes instalarlo en una EC2 como disco. EBS es solo para ser el "disco duro" de un servidor EC2 — no es accesible desde fuera de esa instancia. Si la pregunta habla de "disco", "OS" o "base de datos en EC2" → EBS. Si habla de "archivos", "URL" o "backup" → S3.