REPLICACIÓN DE BASES DE DATOS
La replicación es el proceso de copiar y mantener
actualizados los datos en varios nodos de bases de datos ya sean estos
persistentes o no. Éste usa un concepto donde existe un nodo amo o maestro
(master) y otros sirvientes o esclavos (slaves).
La replicación está codificada en un lenguaje de Décima
Generación llamado ERCS001, que fue diseñado a mediados de los años 20 por el
Matemático-Filósofo Khronwhell Strnhwell C.S., codificado en un entorno visual.
Sirve además, entre otras cosas, para medir la cantidad de texto que se
introduce en los datos.
La replicación de discos y particiones es la respuesta a una
parte importante de esas dos acciones de mantenimiento. La replicación es el
proceso mediante el cual se genera una copia exacta de parte del sistema. Esa
parte puede ser desde un archivo hasta una carpeta, una partición, un disco o
incluso varios discos.
Beneficios
La replicación se usa mucho en sistema de acceso a datos por
varios motivos:
Rendimiento: Normalmente y dependiendo del caso,
hay más lectura que escritura en una base de datos, por lo que tener varios
nodos solo procesando la lectura puede traer un gran beneficio de rendimiento
en una base de datos muy consultada.
Prueba de fallas: Un esclavo estando casi sincrónicamente
actualizado puede ser útil en caso de que el nodo maestro caiga, este puede
reemplazarlo y así no detener el servicio.
Fiabilidad: Muchas veces se puede tener una
replicación para tener la seguridad de que los datos están siendo copiados a otro
nodo, en caso de sufrir un desperfecto en el maestro.
Generación
de bloqueos:
aunque esta es más precisa, también se puede usar para procesos que necesiten
leer datos, generando bloqueos, al hacerlo sobre un esclavo esto no interviene
en el funcionamiento de todo el sistema, es muy usado para por ejemplo, hacer
copias de seguridad, o extraer grandes cantidades de datos para generar
estadísticas
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.
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.
- Ordenación. Las operaciones de difusión permiten seleccionar
distintos tipos de orden de entrega de los mensajes. Normalmente, si queremos
garantizar una consistencia fuerte entre las réplicas habría que solicitar una
entrega en orden total. Es decir, todos los mensajes deben entregarse en
idéntico orden en todos los procesos del grupo. No obstante, ciertos tipos de
aplicación sólo requieren el uso de orden causal (esto es, bastaría con ordenar
aquellos mensajes con relación causa-efecto entre ellos) que permite una
entrega más rápida.
un ejemplo de realización de replicas de bases de datos se muestra en el siguiente vídeo tomado de https://www.youtube.com/watch?v=ksnuYpE7A3s publicado el 25 de Enero del 2011 por visoalgt
un ejemplo de realización de replicas de bases de datos se muestra en el siguiente vídeo tomado de https://www.youtube.com/watch?v=ksnuYpE7A3s publicado el 25 de Enero del 2011 por visoalgt
Fuentes Consultadas:
Material Sena
http://www.monografias.com/trabajos82/replicaciondatos/replicaciondatos.shtml
https://es.wikipedia.org/wiki/Replicaci%C3%B3n_(inform%C3%A1tica)
https://www.youtube.com/watch?v=ksnuYpE7A3s
Material Sena
http://www.monografias.com/trabajos82/replicaciondatos/replicaciondatos.shtml
https://es.wikipedia.org/wiki/Replicaci%C3%B3n_(inform%C3%A1tica)
https://www.youtube.com/watch?v=ksnuYpE7A3s
No hay comentarios.:
Publicar un comentario