📌 Streams y Replicación en DynamoDB
Amazon DynamoDB Streams y la Replicación Global son dos características clave para mantener la integridad de los datos y la alta disponibilidad en aplicaciones distribuidas.
1️⃣ DynamoDB Streams
🔹 ¿Qué es?
Es una flujo de cambios en una tabla DynamoDB que captura eventos de inserción, modificación o eliminación de datos.
🔹 Casos de Uso:
✅ Replicación de datos en múltiples regiones.
✅ Procesamiento en tiempo real con AWS Lambda.
✅ Auditoría y control de cambios.
✅ Sincronización con otros sistemas (Ej. Elasticsearch, Redshift, etc.).
🚀 Cómo Funciona
Cuando se habilita DynamoDB Streams, cada cambio genera un registro en el stream, que se mantiene por 24 horas.
Cada registro puede incluir:
NEW_IMAGE: Estado después del cambio.
OLD_IMAGE: Estado antes del cambio.
KEYS_ONLY: Solo las claves afectadas.
NEW_AND_OLD_IMAGES: Antes y después del cambio.
🔹 Ejemplo de Evento en el Stream
{
"eventID": "1",
"eventName": "INSERT",
"dynamodb": {
"Keys": { "pedido_id": { "S": "P001" } },
"NewImage": {
"pedido_id": { "S": "P001" },
"fecha": { "S": "2025-03-10" },
"monto": { "N": "100" }
},
"StreamViewType": "NEW_IMAGE"
}
}
📌 2️⃣ Replicación Global en DynamoDB
🔹 ¿Qué es?
La Replicación Global permite crear tablas sincronizadas en múltiples regiones de AWS para mejorar la disponibilidad y reducir la latencia.
🔹 Casos de Uso:
✅ Alta disponibilidad: Evita caídas si una región falla.
✅ Baja latencia: Los usuarios acceden a la región más cercana.
✅ Disaster recovery: Recuperación rápida ante fallos.
✅ Cumplimiento legal: Mantener datos en regiones específicas.
🚀 Cómo Funciona
1️⃣ Se crea una Tabla Global con la misma estructura en varias regiones.
2️⃣ DynamoDB replica automáticamente los cambios entre regiones.
3️⃣ La replicación es asíncrona, garantizando eventual consistency.
🔹 DynamoDB Streams se usa internamente para detectar cambios y replicarlos a otras regiones.
📌 Diferencias entre Streams y Replicación Global
CaracterísticaDynamoDB StreamsReplicación GlobalPropósitoProcesar cambios en tiempo realReplicar tablas entre regionesAlcanceSolo una tabla en una regiónVarias tablas en múltiples regionesPersistencia24 horasPermanenteConsistenciaEventual o fuerteEventualCostoBajo (pago por uso)Más alto (multi-región)
📌 Conclusión
✅ DynamoDB Streams es ideal para procesamiento en tiempo real y auditoría.
✅ Replicación Global es esencial para disponibilidad en múltiples regiones.
✅ Ambas características pueden usarse juntas para crear arquitecturas resilientes y escalables.