🎯 Objetivo:
Entender qué son las bases de datos distribuidas, sus beneficios, retos y cómo funcionan en sistemas modernos.
🌐 ¿Qué es una base de datos distribuida?
Una base de datos distribuida es un sistema en que los datos no están en un solo servidor, sino repartidos en varios nodos o servidores que pueden estar en diferentes ubicaciones físicas.
✅ Beneficios principales
-
Escalabilidad horizontal: agregas más nodos para aumentar capacidad.
-
Alta disponibilidad: si un nodo falla, otros siguen funcionando.
-
Baja latencia: los datos pueden estar más cerca del usuario final.
-
Tolerancia a fallos: replicación y redundancia mantienen datos seguros.
🛠️ Cómo funcionan
-
Fragmentación (sharding): datos divididos en partes llamadas fragmentos o shards.
-
Replicación: copias de datos guardadas en nodos diferentes para seguridad y disponibilidad.
-
Coordinación: nodos trabajan juntos para atender consultas y mantener consistencia.
🔄 Consistencia, disponibilidad y partición (Teorema CAP)
En bases distribuidas, solo se pueden garantizar dos de tres características al mismo tiempo:
| Característica | Definición |
|---|---|
| Consistencia (C) | Todos los nodos ven los mismos datos al mismo tiempo. |
| Disponibilidad (A) | El sistema responde siempre, incluso si hay fallos. |
| Tolerancia a particiones (P) | Funciona aunque haya fallas o cortes en la red. |
⚙️ Ejemplo en la práctica
-
Cassandra: prioriza disponibilidad y partición (AP).
-
MongoDB: configurable, pero generalmente C y A.
-
Bases relacionales tradicionales: suelen priorizar consistencia (CP).
🚀 Casos de uso
-
Sistemas con gran volumen de usuarios distribuidos geográficamente.
-
Aplicaciones que no pueden permitirse tiempo de inactividad.
-
Aplicaciones donde la latencia es crítica.
📝 Actividad práctica
-
Describe un escenario donde la disponibilidad sea más importante que la consistencia.
-
¿Qué problemas podría enfrentar un sistema si prioriza consistencia sobre disponibilidad?
-
Investiga un sistema que uses y define qué tipo de base distribuida es.
✅ Revisión rápida
-
¿Qué significa shard o fragmento?
-
¿Qué dos características del teorema CAP prioriza Cassandra?
-
¿Qué es replicación en bases distribuidas?