Você está na página 1de 19

REPLICACION DE BASE DE

DATOS DISTRIBUIDAS

REPLICACIN DE BASES DE
DATOS

Es

el proceso de copiar y
mantener objetos de las base de
datos,
como
por
ejemplo
relaciones, en mltiples bases de
datos que forman un sistema de
bases de datos distribuido.

REPLICACIN
La replicacin copia y mantiene los objetos de las bases de
datos en las mltiples bases de datos que levantan un
sistema distribuido. La replicacin puede mejorar el
funcionamiento y proteger la disponibilidad de las
aplicaciones, porque alterna opciones de acceso de los datos
existentes. Por ejemplo, una aplicacin puede tener acceso
normalmente a una base de datos local, ms que a un
servidor remoto para reducir al mnimo el trfico de la red y
alcanzar su funcionamiento mximo. Adems, la aplicacin
puede continuar funcionando si el servidor local experimenta
una falla, pero otros servidores con datos replicados siguen
siendo accesibles.

La replicacin se proporciona en los


siguientes niveles:
Replicacin bsica: las rplicas de tablas
se gestionan para accesos de slo lectura.
Para modificaciones, se deber acceder a los datos
del sitio primario.
Replicacin avanzada (simtrica): amplan
las capacidades bsicas de slo- lectura de
la replicacin, permitiendo que las aplicaciones
hagan actualizaciones a las rplicas de las tablas,
a travs de un sistema replicado de la base de datos.
Con la replicacin avanzada, los datos pueden
proveer lectura y acceso a actualizaciones a los datos de
las tablas.

BENEFICIOS DE LA
REPLICACIN
Disponibilidad
Fiabilidad
Rendimiento
Reduccin de la carga
Procesamiento desconectado
Soporta muchos usuarios
Soporta aplicaciones avanzadas

Disponibilidad.-El

modo en que la replicacin


incrementa la disponibilidad de los datos para los
usuarios y aplicaciones.
Fiabilidad.- Al haber mltiples copias de los datos
disponibles en el sistema, se dispone de un
mecanismo excelente de recuperacin cuando
existan fallos en nodos.
Rendimiento.- Se mejora para las transacciones
de consulta cuando se introduce la replicacin en
un sistema que estuviera aquejado de
sobrecarga de recursos centralizados.
Reduccin de la carga.- Modo en q se utiliza la
replicacin para distribuir datos en ubicaciones
remotas

Procesamiento Desconectado.- Modo en que la

replicacin puede implementarse mediante mecanismo


instantneas.
Soporta muchos usuarios.- Se puede crear mltiples
instantneas 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
REPLICACIN

Soporte para un equipo de ventas remoto.Requiere la sincronizacin peridica de un gran


nmero de pequeos nodos mviles remotos con el
sistema de base de datos corporativo.
Aplicaciones Financieras.- requieren que los datos
de mltiples servidores se sincronicen de manera
continua e instantnea.

VENTAJAS Y DESVENTAJAS DE LA
REPLICACIN
Con la replicacin se pueden llegar a obtener dos mejoras
importantes:

1. Por un lado, se garantiza que el servicio ofrecido por la


aplicacin, no se vea interrumpido en caso de que se d un
fallo en alguna de las rplicas. Adems, el tiempo necesario
para restablecer el servicio en la aplicacin podra 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 replicacin:
El modelo de Replicacin que usa SQL es el de Publicador
Suscriptor. Este modelo consiste en Publicadores,
Suscriptores y Distribuidores; las publicaciones y los artculos,
y las suscripciones por tirn o empuje. Adems incorpora
agentes de administracin como Agente de Instantnea,
Agente Lector de Registro, Agente de Distribucin, 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.

PROPAGACIN DE
ACTUALIZACIONES
Para realizar la propagacin de las operaciones de actualizacin o de sus
efectos, se emplea un Sistema de Comunicacin a Grupos (SCG), este est
formado por un conjunto de bibliotecas y servidores de bajo nivel, que
proporcionan una interfaz con operaciones de difusin y recepcin de mensajes.
Para ello, debe configurarse en primer lugar un grupo al que se debe asignar
algn tipo de identificador. El grupo estar formado por una serie de procesos
(precisamente, las rplicas de la aplicacin altamente disponible) y la difusin de
mensajes se realiza sobre todos los procesos que integren el grupo en cada
momento (es decir, las rplicas 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 fcil reaccionar ante tales
eventos, garantizando la consistencia entre el estado de todas las rplicas.

CONCLUSIONES
La replicacin es un mecanismo utilizado para propagar y diseminar
datos en un ambiente distribuido, con el objetivo de tener mejor
performance y confiabilidad, mediante la reduccin de dependencia
de un sistema de base de datos centralizado. Dada la diversidad de
contextos donde se aplican mecanismos de replicacin, se puede
disponer de una gama de posibilidades, en vez de utilizar una nica
forma de replicar datos. Cada uno de los tipos de replicacin se
adapta en mayor o menor medida y pueden utilizarse en forma
combinada para un caso especfico. Los tipos de replicacin
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 mquina), 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, sera el maestro)


Servidor E (Servidor secundario, sera 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 replicacin de Base de Datos en mysql tiene varias


caractersticas 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 replicacin parcial o total de las


tablas de la Base de Datos a replicar del Servidor Maestro al
Servidor Esclavo/s.

La replicacin 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
actualizacin 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 replicacin copia exactamente todos los cambios que se van


haciendo desde que se activa el sistema de replicacin, 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 informacin.

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

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
rplica. El primer hilo es de Entrada/Salida recibe los
eventos para procesar del servidor maestro y los
escribe en los registros de reenvo del esclavo. El
segundo hilo el SQL lee los eventos de los registros
de reenvo y los ejecuta.

Es aconsejable que las rplicas de las Bases de


Datos MySql sean de la misma versin y si es
posible de la 5.x y activos los mismos motores en las
2 B.D.

La actualizacin de la informacin de la Base de


datos Mysql Master (total o parcial de sus
tablas), automticamente Mysql actualiza unos
ficheros de datos mysql-bin.XXXXXX. Una vez
actualizados estos ficheros se enva un evento al
servidor con la base de datos Esclava y sta se
comunica con el Servidor Esclavo para recibir la
porcin del fichero de mysql-bin.XXXXXX que le
falta; no todo el fichero sino la porcin que le falta
por tratar solamente (esto se sabe por posiciones
tratadas dentro del fichero, n linea).

FIN

Você também pode gostar