Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

Replicación de Bases de Datos

La replicación mantiene copias de los mismos datos en múltiples nodos, mejorando disponibilidad, escalabilidad de lecturas y tolerancia a fallos.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Replicación as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

La replicación es el proceso de copiar y mantener datos actualizados en múltiples servidores de base de datos. El objetivo puede ser alta disponibilidad —si un nodo falla, otro toma su lugar—, escalabilidad de lecturas —varios nodos pueden servir consultas—, o distribución geográfica —datos cerca del usuario—.

Los modelos principales:

  • Primary-Replica (Master-Slave): un nodo primario acepta todas las escrituras y las replica a los secundarios, que son de solo lectura. Simple pero el primario es cuello de botella y punto único de falla.
  • Multi-Primary (Master-Master): múltiples nodos aceptan escrituras. Más escalable pero introduce conflictos de escritura que hay que resolver.
  • Síncrona vs Asíncrona: en replicación síncrona, el primario espera confirmación del secundario antes de hacer commit. En asíncrona, el primario confirma inmediatamente y replica después —más rápida pero puede perder datos si el primario falla—.

Alcance y supuestos

Cubre modelos de replicación y sus trade-offs entre consistencia y disponibilidad. Asume familiaridad con bases de datos.

Modelo mental

Un diario que se imprime en varias ciudades a la vez. La redacción central —primario— escribe las notas, y las imprentas en cada ciudad —réplicas— reciben la copia y la distribuyen localmente. Los lectores compran el diario en su ciudad, sin esperar el envío desde la capital.

Uso práctico

  • ✅ Lecturas escalables, alta disponibilidad, backups en caliente.
  • ❌ Sistemas con escrituras muy frecuentes que saturan el primario.

Ejemplo trabajado: réplica de lectura para dashboards

Una aplicación SaaS tiene un primario PostgreSQL que maneja escrituras y dos réplicas para dashboards. Los reportes que antes competían por CPU con las escrituras ahora se ejecutan en las réplicas sin afectar el rendimiento del primario.

Evidencia

  • PostgreSQL, MySQL y MongoDB ofrecen replicación con distintos modelos. La replicación es un pilar fundamental de los sistemas distribuidos.

Fuentes citadas