- Introducción
- Ventajas y desventajas de la replicación
- Propagación de actualizaciones
- Protocolos de replicación
- Protocolos de recuperación
- ¿Qué es la replicación de datos?
- Metodología de replicación de datos
- Mecanismo de actualización de réplicas. Esquema de propagación
- Conclusiones
- Bibliografía
Un buen número de aplicaciones informáticas están accesibles a través de la red, siguiendo un modelo cliente–servidor. En algunos casos, tiene gran importancia que tales servicios se presten de manera continua. Para esto, se deben utilizar técnicas de replicación.
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.
Para garantizar que una aplicación distribuida sea altamente disponible (es decir, que pueda proporcionar servicio de manera continua) se deben instanciar múltiples réplicas de ésta en distintos ordenadores. Se debe conseguir que cada uno de los ordenadores que mantenga una réplica de la aplicación sea independiente del resto ante la ocurrencia de fallos.
El objetivo principal para la distribución de datos es proveer un acceso sencillo a la información por parte de los usuarios de múltiples localidades o nodos de trabajo de una red de computadoras. Para alcanzar este objetivo, los sistemas de BDD deben proveer transparencia de ubicación, que significa que el usuario no necesita conocer la localización física de cada dato dentro de la red. Idealmente, la información en la red aparece como si fuera parte de una BD no distribuida almacenada en un sitio "central", hacia donde todos los usuarios convergen.
La replicación de la información en una BDD apunta a aumentar la disponibilidad de la información. Esta disponibilidad puede observarse desde dos perspectivas:
Aumentar el paralelismo en las consultas, dado que la misma información residirá en más de una localidad de la red.
Mejorar la disponibilidad de los datos ante eventuales caídas de nodos de la red.
El concepto de replicación es muy amplio e involucra muchos aspectos que hacen al diseño de datos de la BDD. Los protocolos de aseguramiento de integridad de la información y los protocolos de actualización de las replicas son los puntos más interesantes para ser tenidos en cuenta.
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.
Página siguiente |