Replicación
¿Qué es la Replicación?
·
· 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.
Tipos de
replicación
Los tipos básicos de replicación
son:
- replicación de instantáneas
- replicación transaccional
- replicación de mezcla
Para ajustarse aún más a los
requerimientos de los usuarios se incorporan opciones como son la actualización
inmediata en el suscriptor, la actualización en cola y la transformación de
datos replicados.
En la replicación de instantáneas
los datos se copian tal y como aparecen exactamente en un momento determinado.
Por consiguiente, no requiere un control
continuo de los cambios. Las publicaciones de instantáneas se suelen replicar
con menos frecuencia que otros tipos de publicaciones. Puede llevar más tiempo
propagar las modificaciones de datos a los suscriptores. Se recomienda
utilizar: cuando la mayoría de los datos no cambian con frecuencia; se replican
pequeñas cantidades de datos; los sitios con frecuencia están desconectados y
es aceptable un periodo de latencia largo (la cantidad de tiempo que transcurre
entre la actualización de los datos en un sitio y en otro). En ocasiones se
hace necesario utilizarla cuando están involucrados algunos tipos de
datos (text, ntext, e image) cuyas modificaciones no se registran en
el registro de transacciones y por tanto no se pueden replicar utilizando la
metodología de replicación transaccional.
Los servidores OLAP son candidatos a
la replicación de instantáneas. Las consultas ad-hoc que aplican los
administradores de sistemas
de información son generalmente de solo lectura
y los datos con antigüedad de horas o días no afectan sus consultas. Por
ejemplo un departamento desea hacer una investigación
sobre demografía
de los artículos vendidos hace dos meses. La información de la semana pasada no
afectará sus consultas; además el departamento no está planeando hacer cambio
en los datos, solo necesita el almacén
de datos. Hay que destacar además que cuando están involucrados algunos tipos
de datos (text, ntext, e image) cuyas modificaciones no se registran en el
registro de transacciones [Mic01] y por lo tanto es necesario transportar estos
datos del publicador al suscriptor para lo cual es necesario utilizar la
replicación de instantáneas, al menos como una solución parcial.
Con la opción de actualización
inmediata en el suscriptor se permite a los suscriptores actualizar datos
solamente si el publicador los va a aceptar inmediatamente. Si el publicador
los acepta, se propagan a otros suscriptores. El suscriptor debe estar
conectado de forma estable y continua al publicador para poder realizar cambios
en el suscriptor. Esta opción es útil en escenarios en los que tienen lugar
unas cuantas modificaciones ocasionales en los servidores suscriptor.
Replicación transaccional
En este caso se propaga una
instantánea inicial de datos a los suscriptores, y después, cuando se efectúan
las modificaciones en el publicador, las transacciones individuales se propagan
a los suscriptores. SQL Server 2000 almacena las transacciones que afectan a
los objetos replicados y propaga esos cambios a los suscriptores de forma
continua o a intervalos programados. Al finalizar la propagación de los
cambios, todos los suscriptores tendrán los mismos valores
que el publicador. Suele utilizarse cuando: se desea que las modificaciones de
datos se propaguen a los suscriptores, normalmente pocos segundos después de
producirse; se necesita que las transacciones sean atómicas, que se apliquen
todas o ninguna al suscriptor; los suscriptores se conectan en su mayoría al
publicador; su aplicación no puede permitir un periodo de latencia largo para
los suscriptores que reciban cambios.
Es útil en escenarios en los que los
suscriptores pueden tratar a sus datos como de sólo lectura, pere necesitan
cambios a los datos con una cantidad mínima de latencia. Ejemplo: un sistema
para el procesamiento y distribución de pedidos. En este tipo de escenario,
podría tener varios publicadores recibiendo pedidos de mercancías. Estos
pedidos se replican entonces a un almacén central donde se despachan los
pedidos. El almacén puede tratar los datos como de sólo lectura y requiere
nueva información en forma periódica.
Con el uso de la opción de
atualización inmediata en el suscriptor se pierde aún más la autonomía de
sitio, pero se reduce el tiempo en el cual los sitios actualizan sus copias de
los datos. Para hacer modificaciones en la base de datos del suscriptor éstas
se realizan (o intentan) también en la base de datos publicador en una
confirmación de dos fases (2PC) por lo que si su modificación se confirma
indica que es válida y luego en cuestión de minutos, o según la planificación
hecha, estos cambios son duplicados a las demás bases de datos suscriptoras.
Replicación de mezcla
Permite que varios sitios funcionen
en línea o desconectados de manera autónoma, y mezclar más adelante las
modificaciones de datos realizadas en un resultado único y uniforme. La
instantánea inicial se aplica a los suscriptores; a continuación SQL Server
2000 hace un seguimiento de los cambios realizados en los datos publicados en
el publicador y en los suscriptores. Los datos se sincronizan entre los
servidores a una hora programada o a petición. Las actualizaciones se realizan
de manera independiente, sin protocolo
de confirmación, en más de un servidor, así el publicador o más de un
suscriptor pueden haber actualizado los mismos datos. Por lo tanto, pueden
producirse conflictos
al mezclar las modificaciones de datos. Cuando se produce un conflicto,
el Agente de mezcla invoca una resolución para determinar qué datos se
aceptarán y se propagarán a otros sitios. Es útil cuando: varios suscriptores
necesitan actualizar datos en diferentes ocasiones y propagar los cambios al
publicador y a otros suscriptores; los suscriptores necesitan recibir datos,
realizar cambios sin conexión y sincronizar más adelante los cambios con el
publicador y otros suscriptores; el requisito de periodo de latencia de la
aplicación es largo o corto; la autonomía del sitio es un factor crucial.
Es útil en ambientes en los que cada
sitio hacen cambios solamente en sus datos pero que necesitan tener la
información de los otros sitios. Por ejemplo podría crearse una base de datos
que registre la historia
delictiva de individuos. En cada municipio de Villa Clara, se puede tener una
copia de la base de datos de toda la provincia y no se requiere estar conectado
permanentemente a la base de datos de la instancia provincial.
Beneficios:
La Replicación se usa
mucho en sistema de acceso a datos por varios motivos:
Rendimiento: Normalmente y dependiendo del caso,
hay mas 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.
Ejemplo:
Bibliografía:
No hay comentarios:
Publicar un comentario