REPLICACION DE BASE DE DATOS DISTRIBUIDAS. REPLICACIÓN DE BASES DE DATOS Es el proceso de copiar y...
-
Author
arnaldo-cortes -
Category
Documents
-
view
220 -
download
0
Embed Size (px)
Transcript of REPLICACION DE BASE DE DATOS DISTRIBUIDAS. REPLICACIÓN DE BASES DE DATOS Es el proceso de copiar y...
-
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.
-
REPLICACINLa 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 DisponibilidadFiabilidadRendimientoReduccin de la cargaProcesamiento desconectadoSoporta muchos usuariosSoporta 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, eltiemponecesario 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 losclientesnicamente 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 ACTUALIZACIONESPara 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.
-
CONCLUSIONESLa replicacin es un mecanismo utilizado para propagar y diseminar datos en un ambiente distribuido, con elobjetivode 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 replicaruno de los servidores (Servidor M) tiene que ser el maestro y el otroservidor el esclavo (Servidor E).Servidor M (Servidor principal, sera elmaestro)Servidor E (Servidor secundario, sera el servidoresclavo).
-
Cuando se indique en los pasosMysql>es porque tenemos que introducir los comandos dentro de laconsola de Mysql.Para entrar en la consola introducir el comando :mysql -u root -pEjemplo 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 copiande 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 lassentencias (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 [email protected]'host_esclavo IDENTIFIED BY contrasea_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 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 porposiciones tratadas dentro del fichero, n linea).
-
FIN
Sin embargo, estas ventajas tienen tambin un coste asociado. Cuando las peticiones atendidas impliquen una actualizacin enel estadode la aplicacin, dicha actualizacin debe realizarse en todas las rplicas, y esto debe hacerse de una manera ordenada para que todas ellas mantengan unestadoconsistente. Esto implica que lasoperacionesde actualizacin tendrn un tiempo de servicio mayor que en el caso no replicado, pues habr que proceder a la propagacin de las actualizaciones sobre todas las rplicas y para ello ser necesario emplear algn mecanismo de difusin.Existen protocolos de replicacin que permiten controlar estas actualizaciones de una manera eficiente, por lo que la aplicacin replicada, podr tener un rendimiento muy similar al de una aplicacin no replicada en caso de peticiones de actualizacin y bastante superior, en caso de peticiones de consulta. Estos protocolos de replicacin deben complementarse con protocolos de recuperacin, para reintegrar una rplica previamente cada cuando sta vuelva a estar activa.
*