Sunteți pe pagina 1din 19

REPLICACION DE BASE DE DATOS

DISTRIBUIDAS
REPLICACIÓN DE BASES DE
DATOS
• Esel proceso de copiar y mantener
objetos de las base de datos, como
por ejemplo relaciones, en múltiples
bases de datos que forman un sistema
de bases de datos distribuido.
REPLICACIÓN

• La replicación copia y mantiene los objetos de las bases de datos en


las múltiples bases de datos que levantan un sistema distribuido. La
replicación puede mejorar el funcionamiento y proteger la
disponibilidad de las aplicaciones, porque alterna opciones de
acceso de los datos existentes. Por ejemplo, una aplicación puede
tener acceso normalmente a una base de datos local, más que a un
servidor remoto para reducir al mínimo el tráfico de la red y
alcanzar su funcionamiento máximo. Además, la aplicación puede
continuar funcionando si el servidor local experimenta una falla, pero
otros servidores con datos replicados siguen siendo accesibles.
La replicación se proporciona en los
siguientes niveles:

Replicación básica: las réplicas de tablas


se gestionan para accesos de sólo lectura.
Para modificaciones, se deberá acceder a los datos
del sitio primario.
Replicación avanzada (simétrica): amplían
las capacidades básicas de sólo- lectura de
la replicación, permitiendo que las aplicaciones
hagan actualizaciones a las réplicas de las tablas,
a través de un sistema replicado de la base de datos.
Con la replicación avanzada, los datos pueden
proveer lectura y acceso a actualizaciones a los datos de
las tablas.
BENEFICIOS DE LA REPLICACIÓN

• Disponibilidad
• Fiabilidad
• Rendimiento
• Reducción de la carga
• Procesamiento desconectado
• Soporta muchos usuarios
• Soporta aplicaciones avanzadas
• Disponibilidad.-El modo en que la replicación
incrementa la disponibilidad de los datos para los
usuarios y aplicaciones.
• Fiabilidad.- Al haber múltiples copias de los datos
disponibles en el sistema, se dispone de un mecanismo
excelente de recuperación cuando existan fallos en
nodos.
• Rendimiento.- Se mejora para las transacciones de
consulta cuando se introduce la replicación en un
sistema que estuviera aquejado de sobrecarga de
recursos centralizados.
• Reducción de la carga.- Modo en q se utiliza la
replicación para distribuir datos en ubicaciones
remotas
• Procesamiento Desconectado.- Modo en que la replicación
puede implementarse mediante mecanismo instantáneas.
• Soporta muchos usuarios.- Se puede crear múltiples instantáneas
personalizadas que satisfagan los requisitos de cada usuario o
grupo de usuarios del sistema.
• Soporta Aplicaciones Avanzadas.- Para OLPT(Online transaction
Processing), OLAP(Online Analitical Processing)
APLICACIONES DE REPLICACIÓN

• Soporte para un equipo de ventas remoto.- Requiere la


sincronización periódica de un gran número de pequeños
nodos móviles remotos con el sistema de base de datos
corporativo.
• Aplicaciones Financieras.- requieren que los datos de
múltiples servidores se sincronicen de manera continua e
instantánea.
VENTAJAS Y DESVENTAJAS DE LA
REPLICACIÓN
• Con la replicación se pueden llegar a obtener dos mejoras
importantes:
• 1. Por un lado, se garantiza que el servicio ofrecido por la
aplicación, no se vea interrumpido en caso de que se dé un fallo en
alguna de las réplicas. Además, el tiempo necesario para
restablecer el servicio en la aplicación podría llegar a ser grande
en algunos tipos de fallo.
• 2. Por otra parte, la capacidad de servicio se ve incrementada
cuando las peticiones efectuadas por los clientes únicamente
implican consultas.
• Modelo de replicación:
• El modelo de Replicación que usa SQL es el de “Publicador –
Suscriptor”. Este modelo consiste en Publicadores, Suscriptores y
Distribuidores; las publicaciones y los artículos, y las suscripciones por
tirón o empuje. Además incorpora agentes de administración como
Agente de Instantánea, Agente Lector de Registro, Agente de
Distribución, y Agente de Mezcla. Todos los agentes pueden
funcionar debajo del agente del servidor del SQL y se pueden
administrar completamente por el Administrador del Servidor de
SQL.
PROPAGACIÓN DE ACTUALIZACIONES
• Para realizar la propagación de las operaciones de actualización o de sus efectos, se
emplea un Sistema de Comunicación a Grupos (SCG), este está formado por un conjunto
de bibliotecas y servidores de bajo nivel, que proporcionan una interfaz con operaciones
de difusión y recepción de mensajes. Para ello, debe configurarse en primer lugar un
grupo al que se debe asignar algún tipo de identificador. El grupo estará formado por
una serie de procesos (precisamente, las réplicas de la aplicación altamente disponible) y
la difusión de mensajes se realiza sobre todos los procesos que integren el grupo en cada
momento (es decir, las réplicas activas).
• Los servicios ofrecidos por un SCG son los siguientes:
• - Pertenencia. Un componente del SCG se encarga de monitorizar el estado de todos los
procesos que forman el grupo. Cuando alguno de los procesos falle o se reincorpore al
grupo, el servicio de pertenencia notifica tal evento a todos los procesos que constituyan
el grupo. Con ello resulta fácil reaccionar ante tales eventos, garantizando la consistencia
entre el estado de todas las réplicas.
CONCLUSIONES
• La replicación es un mecanismo utilizado para propagar y diseminar datos
en un ambiente distribuido, con el objetivo de tener mejor performance y
confiabilidad, mediante la reducción de dependencia de un sistema de base
de datos centralizado. Dada la diversidad de contextos donde se aplican
mecanismos de replicación, se puede disponer de una gama de
posibilidades, en vez de utilizar una única forma de replicar datos. Cada
uno de los tipos de replicación se adapta en mayor o menor medida y
pueden utilizarse en forma combinada para un caso específico. Los tipos de
replicación disponibles permiten moverse desde contextos donde los sitios
trabajan en forma completamente unos de otros, hasta contextos donde se
requiere una alta consistencia transaccional.
REPLICAR BASES DE DATOS MYSQL EN
SERVIDORES LOCALES O REMOTOS

• Mysql permite replicar bases de datos, dentro de un mismo


servidor mysql (en la misma máquina), o entre B.D. localizadas
en diferentes servidores en red local o remota. Para poder
conseguir replicar uno de los servidores (Servidor M) tiene que
ser el maestro y el otro servidor el esclavo (Servidor E).
• Servidor M (Servidor principal, sería el maestro)
• Servidor E (Servidor secundario, sería el servidor esclavo).
• Cuando se indique en los pasos Mysql> es porque tenemos que
introducir los comandos dentro de la consola de Mysql.
• Para entrar en la consola introducir el comando : mysql -u root -p
• Ejemplo del comando en un servidor linux :
• # /usr/local/mysql/bin/mysql -u root -p (Puede ser diferente la
ruta en tu PC)
• En ese momento el servidor mysql pide el password de root , lo
introducimos y se accede a la consola.
• La replicación de Base de Datos en mysql tiene varias
características a considerar y son:
• Podemos replicar Bases de Datos en el mismo servidor (Diferentes servicios
MySql), en Servidores diferentes en LAN (Red Local) o WAN (Servidores
Remotos).
• Se puede configurar (etc/my.cnf), la replicación parcial o total de las tablas
de la Base de Datos a replicar del Servidor Maestro al Servidor Esclavo/s.
• La replicación es UNIDIRECCIONAL, los datos se copian de una base de
datos a otra en un solo sentido, eso quiere decir que solo en una base de
datos se deben actualizar los datos (sentencias INSERT, UPDATE,
DELETE), que es la base de datos maestra, y la base de datos esclava
nunca debe recibir sentencias de actualización de las tablas que se replican,
solo consultas (SELECT).
De las tablas de la Base de Datos que no se replican, entre el Servidor
Maestro y el Esclavo, se pueden realizar las sentencias (INSERT, UPDATE y
DELETE), en la base de datos del Servidor Esclavo.
• Podemos tener sendos servidores esclavos para cada maestro, pero no
varios maestros para un esclavo.
• La replicación copia exactamente todos los cambios que se van haciendo
desde que se activa el sistema de replicación, es decir, antes de replicar hay
que hacer un backup definitivo de la base de datos principal a la esclava,
para que las 2 bases de datos tengan exactamente la misma información.
• Cada servidor esclavo debe tener permiso para conectar con el maestro y
solicitar las actualizaciones.
• El servidor esclavo necesita una cuenta en el servidor maestro para que
pueda conectarse. En el servidor maestro, configure una cuenta como ésta :
• Mysql> GRANT REPLICATION SLAVE ON *.* TO
‘usuario_esclavo’@'host_esclavo’ IDENTIFIED BY ‘contraseña_esclavo’;
• El servidor maestro crea un hilo de proceso para manejar
cada esclavo. En el lado del servidor esclavo se crean 2
hilos para manejar las tareas de réplica. El primer hilo es
de Entrada/Salida recibe los eventos para procesar del
servidor maestro y los escribe en los registros de reenvío
del esclavo. El segundo hilo el SQL lee los eventos de los
registros de reenvío y los ejecuta.
• Es aconsejable que las réplicas de las Bases de Datos
MySql sean de la misma versión y si es posible de la 5.x y
activos los mismos motores en las 2 B.D.
• La actualización de la información de la Base de datos
Mysql Master (total o parcial de sus
tablas), automáticamente Mysql actualiza unos ficheros de
datos “mysql-bin.XXXXXX”. Una vez actualizados estos
ficheros se envía un evento al servidor con la base de
datos Esclava y ésta se comunica con el Servidor Esclavo
para recibir la porción del fichero de “mysql-bin.XXXXXX”
que le falta; no todo el fichero sino la porción que le falta
por tratar solamente (esto se sabe por posiciones tratadas
dentro del fichero, nº linea).
FIN

S-ar putea să vă placă și