Junior
¿Qué es la replicación en el contexto de bases de datos?
sobes.tech AI
Respuesta de la IA
La replicación es el proceso de copiar datos de una base de datos principal a una o varias bases de datos secundarias en tiempo real o con un pequeño retraso.
Objetivos principales de la replicación:
- Mejorar la disponibilidad. En caso de fallo del maestro, la réplica puede asumir la carga.
- Aumentar la velocidad de lectura. Las solicitudes de lectura se distribuyen entre el maestro y las réplicas.
- Copia de seguridad. La réplica puede usarse como una copia actualizada de los datos.
- Análisis. Las consultas analíticas pueden realizarse en las réplicas, sin sobrecargar el maestro.
Tipos de replicación:
- Asíncrona. El maestro no espera confirmación de la réplica sobre la aplicación de los cambios. Puede haber un pequeño retraso en los datos.
- Síncrona. El maestro espera confirmación de la réplica. Garantiza la coherencia de los datos, pero puede ralentizar la escritura en el maestro.
- Semisíncrona. Un compromiso entre asíncrona y síncrona. El maestro espera confirmación de al menos una réplica.
Ejemplo de configuración de MySQL:
// my.cnf en el maestro
[mysqld]
server-id = 1
log_bin = mysql-bin
// my.cnf en la réplica
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Se puede hacer que la réplica sea solo de lectura
Configuración de la réplica:
// En la réplica
CHANGE MASTER TO
MASTER_HOST='<IP_del_maestro>',
MASTER_USER='<usuario_repl>',
MASTER_PASSWORD='<contraseña_repl>',
MASTER_LOG_FILE='<archivo_binlog>', // Se obtiene con show master status;
MASTER_LOG_POS=<posición_binlog>; // Se obtiene con show master status;
START SLAVE;