You are on page 1of 4

3.

Tipos de replicacin
Los tipos bsicos de replicacin son:
replicacin de instantneas
replicacin transaccional
replicacin de mezcla
Para ajustarse an ms a los requerimientos de los usuarios se incorporan opciones como son la actualizacin inmediata en el
suscriptor, la actualizacin en cola y la transformacin de datos replicados [Mic01].
3.1 Replicacin de instantneas
En la replicacin de instantneas 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 instantneas se suelen replicar con menos
frecuencia que otros tipos de publicaciones. Puede llevar ms tiempo propagar las modificaciones de datos a los suscriptores. Se
recomienda utilizar: cuando la mayora de los datos no cambian con frecuencia; se replican pequeas cantidades de datos; los sitios
con frecuencia estn desconectados y es aceptable un periodo de latencia largo (la cantidad de tiempo que transcurre entre la
actualizacin de los datos en un sitio y en otro). En ocasiones se hace necesario utilizarla cuando estn 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 metodologa de replicacin transaccional.
Los servidores OLAP son candidatos a la replicacin de instantneas. Las consultas ad-hoc que aplican los administradores
de sistemas de informacin son generalmente de solo lectura y los datos con antigedad de horas o das no afectan sus consultas.
Por ejemplo un departamento desea hacer una investigacin sobre demografa de los artculos vendidos hace dos meses. La
informacin de la semana pasada no afectar sus consultas; adems el departamento no est planeando hacer cambio en los datos,
solo necesita el almacn de datos. Hay que destacar adems que cuando estn 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 replicacin de instantneas, al menos como una solucin
parcial.
Con la opcin de actualizacin 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 opcin es til en escenarios en los que
tienen lugar unas cuantas modificaciones ocasionales en los servidores suscriptor.
3.2 Replicacin transaccional
En este caso se propaga una instantnea inicial de datos a los suscriptores, y despus, cuando se efectan 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
propagacin de los cambios, todos los suscriptores tendrn los mismos valores que el publicador. Suele utilizarse cuando: se desea
que las modificaciones de datos se propaguen a los suscriptores, normalmente pocos segundos despus de producirse; se necesita
que las transacciones sean atmicas, que se apliquen todas o ninguna al suscriptor; los suscriptores se conectan en su mayora al
publicador; su aplicacin 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 slo lectura, pere necesitan cambios a los datos
con una cantidad mnima de latencia. Ejemplo: un sistema para el procesamiento y distribucin de pedidos. En este tipo de
escenario, podra tener varios publicadores recibiendo pedidos de mercancas. Estos pedidos se replican entonces a un almacn
central donde se despachan los pedidos. El almacn puede tratar los datos como de slo lectura y requiere nueva informacin en
forma peridica.
Con el uso de la opcin de atualizacin inmediata en el suscriptor se pierde an ms la autonoma 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) tambin en la base de datos publicador en una confirmacin de dos fases (2PC) por lo que si su modificacin se
confirma indica que es vlida y luego en cuestin de minutos, o segn la planificacin hecha, estos cambios son duplicados a las
dems bases de datos suscriptoras.
3.3 Replicacin de mezcla
Permite que varios sitios funcionen en lnea o desconectados de manera autnoma, y mezclar ms adelante las modificaciones de
datos realizadas en un resultado nico y uniforme. La instantnea inicial se aplica a los suscriptores; a continuacin 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 peticin. Las actualizaciones se realizan de manera independiente,
sin protocolo de confirmacin, en ms de un servidor, as el publicador o ms 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 resolucin para determinar qu datos se aceptarn y se propagarn 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 conexin y sincronizar ms adelante los cambios con el publicador y otros
suscriptores; el requisito de periodo de latencia de la aplicacin es largo o corto; la autonoma 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 informacin de los
otros sitios. Por ejemplo podra 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.

Microsoft SQL Server proporciona los siguientes tipos de replicacin para usarlos en las aplicaciones distribuidas:
Replicacin transaccional. Para obtener ms informacin, vea Replicacin transaccional.
Replicacin de mezcla. Para obtener ms informacin, vea Replicacin de mezcla.
Replicacin de instantneas. Para obtener ms informacin, vea Replicacin de instantneas.
El tipo de replicacin que se elige para una aplicacin depende de muchos factores, como el entorno fsico de la
replicacin, el tipo y la cantidad de datos que se desean replicar y si los datos se actualizan en el suscriptor. El entorno
fsico incluye el nmero y la ubicacin de los equipos que participan en la replicacin, y si estos equipos son clientes
(estaciones de trabajo, equipos porttiles o dispositivos de mano) o servidores.
Por lo general, cada tipo de replicacin comienza con una sincronizacin inicial de los objetos publicados entre el
publicador y los suscriptores. Esta sincronizacin inicial puede llevarse a cabo mediante la replicacin con
una instantnea, que es una copia de todos los objetos y datos especificados por una publicacin. Una vez creada la
instantnea, se enva a los suscriptores. Para algunas aplicaciones, la replicacin de instantneas es lo nico que se
necesita. Para otros tipos de aplicaciones, es importante que los cambios de datos posteriores fluyan al suscriptor de
forma incremental a lo largo del tiempo. Algunas aplicaciones tambin requieren que los cambios vuelvan del suscriptor
al publicador. La replicacin transaccional y la replicacin de mezcla proporcionan opciones para estos tipos de
aplicaciones.
En la replicacin de instantneas, no se realiza un seguimiento de los cambios de datos; cada vez que se aplica una
instantnea, sta sobrescribe completamente los datos existentes. La replicacin transaccional realiza un seguimiento de
los cambios a travs del registro de transacciones de SQL Server y la replicacin de mezcla realiza un seguimiento de los
cambios a travs de desencadenadores y tablas de metadatos.

Replicacin transaccional
Normalmente, la replicacin transaccional se inicia con una instantnea de los datos y los objetos de la base de datos de
publicaciones. En cuanto se obtiene la instantnea inicial, los posteriores cambios de datos y modificaciones del
esquema realizados en el publicador habitualmente se entregan en el suscriptor cuando se producen (casi en tiempo
real).Los cambios de datos se aplican al suscriptor en el mismo orden y dentro de los mismos lmites de la transaccin
que cuando se produjeron en el publicador. Por tanto, en una publicacin, se garantiza la coherencia transaccional.
La replicacin transaccional se utiliza normalmente en entornos entre servidores y es la adecuada en los siguientes
casos:
Se desea que se propaguen cambios incrementales a los suscriptores en el momento en que ocurren.
La aplicacin requiere una latencia baja entre el momento en que se realizan los cambios en el publicador y el
momento en que llegan los cambios al suscriptor.
La aplicacin necesita acceso a los estados intermedios de los datos. Por ejemplo, si una fila cambia cinco veces,
la replicacin transaccional permite que una aplicacin responda a cada cambio (por ejemplo, la activacin de
un desencadenador) y no solo al cambio de datos neto en la fila.
El publicador tiene un volumen elevado de actividad de insercin, actualizacin y eliminacin.
El publicador o el suscriptor es una base de datos que no es de SQL Server, como Oracle.
De forma predeterminada, los suscriptores de publicaciones transaccionales deben tratarse como de solo lectura,
porque los cambios no se propagan del vuelta al publicador. Sin embargo, la replicacin transaccional ofrece opciones
que permiten realizar actualizaciones en el suscriptor

Replicacin de mezcla
La replicacin de mezcla, como la replicacin transaccional, normalmente se inicia con una instantnea de los objetos y
datos de una base de datos de publicaciones. Los cambios de datos y las modificaciones de esquema posteriores que se
lleven a cabo en el publicador y en los suscriptores se controlan mediante desencadenadores. El suscriptor se sincroniza
con el publicador cuando estn conectados a la red e intercambian todas las filas que han cambiado entre el publicador
y el suscriptor desde la ltima vez que se produjo la sincronizacin.
La replicacin de mezcla se suele utilizar en entornos de servidor a cliente. La replicacin de mezcla es adecuada en las
siguientes situaciones:

Varios suscriptores actualizan los mismos datos en diferentes ocasiones y propagan los cambios al publicador y
a otros suscriptores.
Los suscriptores necesitan recibir datos, realizar cambios sin conexin y sincronizar ms adelante los cambios
con el publicador y otros suscriptores.
Cada suscriptor requiere una particin de datos diferente.
Se pueden producir conflictos y, cuando ocurren, debe poder detectarlos y resolverlos.
La aplicacin requiere el cambio de datos neto en lugar de acceso a los estados intermedios de los datos. Por
ejemplo, si una fila cambia cinco veces en el suscriptor antes de que ste se sincronice con el publicador, la fila
cambiar solo una vez en el publicador para reflejar el cambio de datos neto (es decir, el quinto valor).
La replicacin de mezcla permite que diferentes sitios funcionen de forma autnoma y, despus, mezclen las
actualizaciones en un solo resultado uniforme. Puesto que las actualizaciones tienen lugar en ms de un nodo, los
mismos datos pueden haber sido actualizados por el publicador y por ms de un suscriptor. Por lo tanto, se pueden
producir conflictos al mezclar las actualizaciones y la replicacin de mezcla proporciona varias maneras de controlar los
conflictos.
El Agente de instantneas y el Agente de mezcla de SQL Server implementan la replicacin de mezcla. Si la publicacin
no se filtra o utiliza filtros estticos, el Agente de instantneas crea una sola instantnea. Si la publicacin utiliza filtros
con parmetros, el Agente de instantneas crea una instantnea para cada particin de datos. El Agente de mezcla
aplica las instantneas iniciales a los suscriptores. Tambin combina los cambios
incrementales de los datos que tienen lugar en el publicador o en los
suscriptores despus de la creacin de la instantnea inicial y detecta y resuelve
los conflictos segn las reglas que configure.
Para realizar un seguimiento de los cambios, la replicacin de mezcla (y la
replicacin transaccional con suscripciones de actualizacin en cola) deben
poder identificar de forma nica cada fila de todas las tablas publicadas. Para
conseguirlo, l.La replicacin de mezcla agrega la columna rowguid a todas las
tablas, a menos que la tabla ya tenga una columna del tipo de
datos uniqueidentifier con la propiedad ROWGUIDCOL definida (en cuyo caso
se usa dicha columna). Si la tabla se quita de la publicacin, la
columnarowguid se quita; si se ha usado una columna existente para realizar el
seguimiento, la columna no se quita. Un filtro no debe incluir la
columna rowguidcol que usa la replicacin para identificar filas. La
funcin newid() se proporciona como valor predeterminado para la columna
de rowguid; no obstante, los clientes pueden proporcionar un GUID para cada
fila si es necesario. Sin embargo, no proporcione el valor 00000000-0000-00000000-000000000000.
En el siguiente diagrama se muestran los componentes que se utilizan en la
replicacin de mezcla.

Replicacin de instantneas
La replicacin de instantneas distribuye los datos exactamente como aparecen en un momento especfico en el tiempo
y no supervisa las actualizaciones de los datos. Cuando se produce la sincronizacin, se genera la instantnea completa
y se enva a los suscriptores.
El uso independiente de la replicacin de instantneas es ms apropiado cuando se cumple una o ms de las siguientes
condiciones:
Los datos no cambian con frecuencia.
Es aceptable disponer de copias de datos desfasados respecto al publicador durante un perodo de tiempo.
se duplican pequeas cantidades de datos.
Hay un gran volumen de cambios en un corto perodo de tiempo.
La replicacin de instantneas es ms apropiada cuando los cambios de datos son importantes, pero poco
frecuentes. Por ejemplo, si una organizacin de ventas mantiene una lista de precios de productos y todos los precios se
actualizan al mismo tiempo una o dos veces al ao, es recomendable replicar la instantnea completa de los datos una
vez que han cambiado. Para determinados tipos de datos pueden ser adecuadas tambin instantneas ms

frecuentes. Por ejemplo, si una tabla relativamente pequea se actualiza en el


publicador durante el da pero es aceptable cierta latencia, los cambios se
pueden entregar por la noche como una instantnea.
La replicacin de instantneas tiene una carga continua ms reducida en el
publicador que la replicacin transaccional, ya que no se realiza ningn
seguimiento de los cambios incrementales. No obstante, si el conjunto de datos
que se est replicando es muy grande, ser necesaria una cantidad importante
de recursos para generar y aplicar la instantnea. Tenga en cuenta el tamao del
conjunto de datos entero y la frecuencia de los cambios en los datos al evaluar
si utiliza o no la replicacin de instantneas.

You might also like