REPLICACION DE BASE DE DATOS DISTRIBUIDAS

Slides:



Advertisements
Presentaciones similares
Intranets P. Reyes / Octubre 2004.
Advertisements

Definición En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los computadores de un sistema distribuido se comunican.
Redes Informáticas I Redes Informáticas I – Antonio Humberto Morán Najarro.
Diseño de Bases de Datos
Tema2. Instalación y administración de DHCP. DHCP Failover Protocol.
Guido Rubin Escalabilidad.
Switches, routers, hubs & “patch panels”
Sistema operativo Componentes de un sistema operativo
Introducción a servidores
BASES DE DATOS DISTRIBUIDAS
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
SERVIDOR DNS Y WINS INTEGRANTES: Farroñan Beltran Brenher
Metáfora.
Compartir Informacion Compartir Hardware y Software
Sistemas Distribuidos Replicación
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
DISTRIBUCIÓN DE BASE DE DATOS La replica Por: Noemí Sampedro 6 sistemas.
Introducción a los Sistemas de Bases de Datos Distribuidos
UNIDAD II Modelo de Datos.
HERRAMIENTAS INFORMATICAS
MOTORES DE BASE DE DATOS
BASES DE DATOS DISTRIBUIDAS
Servidores de nombres de dominio (DNS):
4.3. Privilegios de usuarios
Servidores de nombres de dominio (DNS)
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
NEWS ¿Qué son los News? Son grupos de noticias distribuido en Internet que están formado por un conjunto de foros de debate clasificados por temas. Los.
REPLICACIÓN EN SQL SERVER
UNIDAD 3 Conceptos de Sistemas Operativos.
Bases de datos Distribuidas ITES de la región carbonífera 1 Problemas de las Bases de datos distribuidas.
Correo electrónico Internet
BASE DE DATOS BY: Julián Villar Vázquez.
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Arquitectura NFS El servidor NFS exporta uno o más directorios
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Introducción a los Sistemas Operativos
PROTOCOLO DE SPANNING-TREE Semestre 3 Capítulo 7
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Kaseya ofrece una amplia gama de recursos, incluyendo, la educación, consultoría y servicios de TI para ayudar en la aplicación y el funcionamiento.
BASES DE DATOS DISTRIBUIDAS
Redes de Area Local, LAN Una red de área local es una red de datos de alta velocidad que cubre un área geográfica relativamente pequeña. Típicamente conecta.
Cuentas de usuarios y grupos en windows 2008 server
Soluciones de informática y Electrónica Sistema de Monitoreo de Centrales de Incendio.
COLEGIO DE BACHILLERES N° 16 PLANTEL TLAHUAC “MANUEL CHAVARRIA CHAVARRIA”
 Un servidor proporciona información a los ordenadores que se conecten a él.  Cuando lo usuarios se conectan a un servidor pueden acceder a programas,
La réplica de datos de XOne es un sistema cliente/servidor. La base de datos central es gestionada por una o varias aplicaciones que forman el servidor.
Teoría de Sistemas Operativos Sistemas distribuidos.
File Transfer Protocol.
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Luis Villalta Márquez. Servidores de nombres de dominio (DNS)
S ERVICIOS DE RED E I NTERNET T EMA 2: DHCP Nombre: Adrián de la Torre López.
Cliente-Servidor La arquitectura cliente-servidor permite al usuario en una máquina, llamada el cliente, requerir algún tipo de servicio de una máquina.
Replicación Bases de Datos Distribuidas Ing. Fernando Ortiz Ahumada.
UD 2: “Instalación y administración de servicios de configuración automática de red” DHCP Failover Protocol Luis Alfonso Sánchez Brazales.
BASE DE DATOS DISTRIBUIDAS
Las doce reglas de las bases de datos distribuidas
DHCP Failover Protocol
INTRODUCCIÓN A LAS REDES DE COMPUTADORAS. ·
Luis Villalta Márquez.  DHCP Failover Protocol es un protocolo diseñado para permitir que una copia de seguridad del servidor DHCP pueda hacerse cargo.
Este sistema tecnológico utiliza la Nube para liberar al usuario de toda la carga de procesamiento y almacenamiento. Todo se hace desde y en la Nube.
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Conociendo el modelo Cliente-Servidor
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Módulo 4: Administrar el acceso a recursos
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Transcripción de la presentación:

REPLICACION DE BASE DE DATOS DISTRIBUIDAS

Replicación de bases de datos Es el 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 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. Sin embargo, estas ventajas tienen también un coste asociado. Cuando las peticiones atendidas impliquen una actualización en el estado de la aplicación, dicha actualización debe realizarse en todas las réplicas, y esto debe hacerse de una manera ordenada para que todas ellas mantengan un estado consistente. Esto implica que las operaciones de actualización tendrán un tiempo de servicio mayor que en el caso no replicado, pues habrá que proceder a la propagación de las actualizaciones sobre todas las réplicas y para ello será necesario emplear algún mecanismo de difusión. Existen protocolos de replicación que permiten controlar estas actualizaciones de una manera eficiente, por lo que la aplicación replicada, podrá tener un rendimiento muy similar al de una aplicación no replicada en caso de peticiones de actualización y bastante superior, en caso de peticiones de consulta. Estos protocolos de replicación deben complementarse con protocolos de recuperación, para reintegrar una réplica previamente caída cuando ésta vuelva a estar activa.

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 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