Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Entender cómo funcionan la replicación y el particionamiento para mejorar la escalabilidad, disponibilidad y rendimiento de bases de datos distribuidas.


📦 Particionamiento (Sharding)

  • ¿Qué es?
    División horizontal de los datos en fragmentos (shards) que se almacenan en diferentes nodos.

  • ¿Por qué?
    Para escalar la base de datos, repartir la carga y reducir la latencia.

  • Ejemplo:
    Una tabla con millones de usuarios se divide en varias partes: usuarios con ID 1-1000 en nodo 1, 1001-2000 en nodo 2, etc.

  • Tipos comunes de particionamiento:

    • Particionamiento por rango: cada nodo almacena un rango continuo de datos.

    • Particionamiento por hash: la clave se pasa por una función hash que asigna el dato a un nodo.

    • Particionamiento por lista: los datos se asignan según una lista predefinida de valores.


🔄 Replicación

  • ¿Qué es?
    Copiar datos en múltiples nodos para garantizar disponibilidad y tolerancia a fallos.

  • ¿Por qué?
    Si un nodo falla, otro nodo con la réplica puede responder la consulta.

  • Tipos de replicación:

    • Replicación síncrona: todas las copias se actualizan al mismo tiempo (más consistente, pero más lento).

    • Replicación asíncrona: las copias se actualizan con retraso (más rápido, posible inconsistencia temporal).

  • Ejemplo:
    En Cassandra, un dato puede tener un Replication Factor = 3, es decir, está en 3 nodos diferentes.


⚙️ ¿Cómo trabajan juntos particionamiento y replicación?

  • Primero, el dato se asigna a una partición (shard).

  • Luego, esa partición se duplica en varios nodos según el factor de replicación.

Esto asegura que los datos estén balanceados y seguros.


🚧 Retos comunes

Reto Descripción
Consistencia Asegurar que todas las copias tengan los mismos datos.
Latencia Replicación síncrona puede ser lenta.
Rebalanceo de shards Cuando se añaden o quitan nodos, repartir datos sin interrupción.

📝 Actividad práctica

  1. En Cassandra, si tienes un Replication Factor de 3 y 5 nodos, ¿qué pasa si cae un nodo?

  2. ¿Qué ventaja tiene el particionamiento por hash sobre el particionamiento por rango?

  3. Investiga cómo MongoDB maneja la replicación.


✅ Revisión rápida

  • ¿Qué es un shard?

  • ¿Cuál es la diferencia entre replicación síncrona y asíncrona?

  • ¿Por qué combinamos particionamiento y replicación?

Scroll al inicio