Está en la página 1de 14

Introduccin a la Replicacin

Replicacin de Datos La replicacin es un conjunto de tecnologas destinadas a la copia y distribucin de datos y objetos de base de datos desde una base de datos a otra, con el objetivo de sincronizar ambas bases de datos y mantener su coherencia. La replicacin permite distribuir datos entre diferentes ubicaciones y entre usuarios remotos o mviles mediante redes locales y de rea extensa, conexiones de acceso telefnico, conexiones inalmbricas e Internet.

Metodologas de distribucin (replicacin)


Existen tres tipos bsicos de duplicacin que pueden combinarse en varios grados para crear siete metodologas distintas. Los tipos de duplicacin son: duplicacin transaccional, duplicacin de instantneas, y duplicacin de mezcla. Si se agrega la latencia, la consistencia transaccional y la autonoma del sitio, se obtienen los siguientes mtodos de distribucin de datos:

Duplicacin de mezcla Duplicacin de instantneas Duplicacin transaccional Suscripciones actualizables Duplicacin de instantneas con actualizacin de suscriptores Duplicacin transaccional con actualizacin de suscriptores Transacciones distribuidas

3.6.1 Duplicacin de mezclas


Este tipo de duplicacin ofrece la mayor cantidad de autonoma del sitio y puede aceptar la mayor latencia (La suma de retardos temporales dentro de una red. Un retardo es producido por la demora en la propagacin y transmisin de paquetes dentro de la red.). No obstante, tiene la menor cantidad de consistencia transaccional. La duplicacin de mezcla permite que cada sitio realice cambios en su copia local de los datos duplicados. En cierto punto, las modificaciones del sitio se envan a la base de datos de publicacin, en donde se mezclan con las modificaciones de otros sitios. Tarde o temprano, todos los sitios reciben las actualizaciones de los dems sitios. Esto se conoce como convergencia de datos. Las modificaciones de todos los sitios convergen, y tarde o temprano todos los sitios tienen la misma informacin como se muestra en la, Figura 3.1 y 3.2.

Figura 3.1 Los registros modificados convergen en el servidor de publicacin

La consistencia transaccional se pierde aqu, ya que en varios sitios podran estar actualizando datos en distintos momentos. Un sitio especfico no espera a que se enven sus actualizaciones a todos los dems sitios antes de continuar con su trabajo. En otras palabras, se garantiza que cada sitio va a converger con los mismos conjuntos de resultados, pero no necesariamente al mismo tiempo. La duplicacin de mezclas algunas veces puede generar conflictos. Por ejemplo, el sitio A realiza algunas modificaciones al registro 27. El sitio B tambin realiza modificaciones al registro 27. Ambos envan sus versiones de datos de vuelta al servidor de publicacin. Ahora este servidor ve que ambos sitios realizaron modificaciones al registro 27.

Figura 3.2 Los registro de convergidos se enva de vuelta a todos los suscriptores.
La duplicacin de mezcla es ms adecuada para los entornos en los que se minimizan las probabilidades de que ocurran estos conflictos. Por ejemplo, los sitios que tienden a modificar sus registros solamente (lo que se indica mediante ID de ubicacin de cada registro), pero no necesitan la informacin de todas las dems ubicaciones, son buenos candidatos para la duplicacin de mezcla.

3.6.2 Duplicacin de instantneas


En este tipo de duplicacin se copian todos los elementos del servidor de publicacin hacia la base de datos de suscripcin (vea la Figura 3.3.). Este tipo de duplicacin es el ms fcil de configurar y mantener. La duplicacin de instantneas tiene un alto nivel de autonoma del sitio. Tambin garantiza la consistencia transaccional, ya que todas las transacciones se aplican slo en el servidor de publicacin. La autonoma del sitio puede ser muy til en lugares que necesitan versiones de slo lectura de los datos, y en donde no afecta una mayor cantidad de latencia. Al utilizar la duplicacin de instantneas, la base de datos de suscripcin debe considerar los datos duplicados como si fueran de slo lectura, ya que las modificaciones realizadas a los datos no se envan de vuelta a la base de datos de publicacin. Adems, todos los cambios que pudieran haberse realizado en los datos se borran al descargarse la siguiente instantnea.

Figura 3.3 Se envan instantneas de todo el conjunto de datos a cada suscriptor. Las modificaciones en los datos pueden ocurrir slo en el servidor de publicacin.
Los servidores OLAP son excelentes candidatos para la duplicacin de

instantneas. Las consultas ad hoc que aplican los administradores MIS (Sistemas de Informacin Administrativa) en los datos son por lo general de slo lectura, y los datos que tienen varias horas o incluso varios das de antigedad no afectan estas consulta.

3.6.3 Duplicacin transaccional


En este tipo de duplicacin, las transacciones se envan del publicador a los suscriptores. Es una duplicacin de un solo sentido. La nica manera de que un suscriptor pueda realizar modificaciones en los datos es hacerlo directamente en la base de datos de publicacin. Las modificaciones son entonces duplicadas de vuelta hacia el suscriptor la prxima vez que se realice una sincronizacin (vea la Figura 3.4).

Figura 3.4

En la duplicacin transaccional, pueden hacerse modificaciones slo en el publicador. Despus, las modificaciones (transacciones) se aplican en cada suscriptor.

Este tipo de duplicacin permite un nivel medio de autonoma. El suscriptor debe tratar los datos duplicados como de slo lectura. Este punto es importante, ya que las modificaciones realizadas en los datos duplicados tal vez no permitan que se realicen las futuras transacciones duplicadas. Suponga que modifica el campo del pas de USA a Corea en la tabla proveedores del suscriptor. Si despus ejecuta una transaccin en el publicador que actualice todos los proveedores de USA, su nuevo registro de Corea no recibir la actualizacin que los dems suscriptores recibieron. Esto ocasiona problemas de consistencia en su base de datos, por lo que debe evitarse. Por lo general, en este tipo de duplicacin se implica tambin un nivel medio de latencia. El suscriptor no tiene que estar en contacto en todo momento con el publicador, pero las sincronizaciones son tiles, y la cantidad de datos que se mueven es relativamente pequea. Debe recordar que la duplicacin de instantneas debe mover todos los datos de publicacin del publicador al suscriptor (se haya modificado o no). En la duplicacin transaccional, slo las transacciones confirmadas se envan a los suscriptores. Este tipo de duplicacin se utiliza principalmente en SQL Server 6.5, en donde no se cuenta con la opcin de utilizar ningn tipo de duplicacin de mezcla.

La duplicacin transaccional es bastante til en los escenarios en lo que los suscriptores pueden tratar a sus datos como de slo lectura, pero necesitan modificaciones en los datos con una mnima cantidad de latencia. Un excelente ejemplo de duplicacin transaccional sera un sistema de procesamiento/distribucin de pedidos. En este tipo de escenario, puede haber varios sitios distintos de publicacin recibiendo pedidos. Estos pedidos se duplican en un almacn de distribucin central en donde se crean vales de salida y los pedidos se completan y se envan. El almacn, que puede tratar a los datos como slo lectura, necesita nueva informacin en forma oportuna.

-----------------------------------------------------------------------------------------3.2 Tipos de Replicacin 3.2.1 Instantnea 3.2.1 Transaccional 3.2.1 Transaccional Actualizable La replicacin transaccional se usa normalmente en escenarios servidor a servidor que requieren un alto rendimiento, como por ejemplo, la mejora de la escalabilidad y la disponibilidad, el almacenamiento de datos y la creacin de informes, la integracin de datos procedentes de varios sitios, la integracin de datos heterogneos, y la descarga del procesamiento por lotes. 3.2.1 De Mezcla La replicacin de mezcla se ha diseado principalmente para las aplicaciones mviles o de servidores distribuidos que pueden encontrarse con conflictos de datos. Los escenarios ms frecuentes son: el intercambio de datos con usuarios mviles, las aplicaciones de punto de venta (POS) a consumidores, y la integracin de datos de varios sitios. La replicacin de datos se usa para proporcionar el conjunto de datos inicial para la replicacin transaccional y de mezcla; tambin se puede usar cuando est indicada una actualizacin completa de los datos.

Con estos tres tipos de replicacin, SQL Server proporciona un sistema eficaz y flexible para la sincronizacin de datos en toda la organizacin.

Informacin General sobre los tipos de Replicacin


Microsoft SQL Server proporciona los siguientes tipos de replicacin para usarlos en las aplicaciones distribuidas:
Replicacin transaccional. Replicacin de mezcla. 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

Informacin general sobre el modelo de publicacin de replicacin


La replicacin utiliza una metfora del sector editorial para representar los componentes de una topologa de replicacin, que incluyen el publicador, el distribuidor, los suscriptores, las publicaciones, los artculos y las suscripciones. Aunque la metfora de la revista es til para comprender la replicacin, es importante sealar que la replicacin de SQL Server incluye funciones que no

estn representadas en esta metfora, en particular, la posibilidad de que un suscriptor realice actualizaciones y de que un publicador enve cambios incrementales a los artculos de una publicacin. Hay tres tipos de replicacin: replicacin transaccional, rplica de mezcla y replicacin de instantneas. Todos estos tipos dependen de varios programas independientes, denominados agentes, que realizan las tareas asociadas con el seguimiento de los cambios y la distribucin de los datos.
El publicador (editor) de una revista produce una o ms publicaciones. Una publicacin contiene artculos. El publicador distribuye la revista directamente o a travs de un

distribuidor. Los suscriptores reciben las publicaciones a las que se han suscrito.

Topologia Una topologa de replicacin define la relacin entre los servidores y las copias de los datos, y aclara la lgica que determina cmo fluyen los datos entre los servidores. Hay varios procesos de replicacin (denominados agentes) que son responsables de copiar y mover los datos entre el publicador y los suscriptores. En la siguiente ilustracin se muestra informacin general acerca de los componentes y procesos que participan en la replicacin.

Publicador El publicador es una instancia de base de datos que permite que los datos estn disponibles para otras ubicaciones a travs de la replicacin. El publicador puede tener una o ms publicaciones, cada una de las cuales representa un conjunto de objetos y datos relacionados lgicamente para replicar. Distribuidor

El distribuidor es una instancia de base de datos que funciona como almacn para datos especficos de replicacin asociados con uno o ms publicadores. Cada publicador est asociado con una sola base de datos (conocida como la base de datos de distribucin) en el distribuidor. La base de datos de distribucin almacena los datos de estado de la replicacin, metadatos acerca de la publicacin y, en algunos casos, funciona como cola para los datos que se transfieren del publicador a los suscriptores. En muchos casos, una sola instancia de servidor de bases de datos funciona como publicador y como distribuidor Esto se conoce como un distribuidor local. Cuando el publicador y el distribuidor se configuran en instancias distintas del servidor de bases de datos, el distribuidor se denomina un distribuidor remoto. Suscriptores Un suscriptor es una instancia de base de datos que recibe datos replicados. Un suscriptor puede recibir datos de varios publicadores y publicaciones. En funcin del tipo de replicacin elegida, el suscriptor tambin puede devolver los datos modificados al publicador o volver a publicar los datos en otros suscriptores. Artculo Un artculo identifica un objeto de base de datos incluido en una publicacin. Una publicacin puede contener diferentes tipos de artculos, como tablas, vistas, procedimientos almacenados y otros objetos. Cuando las tablas se publican como artculos, se pueden usar filtros para restringir las columnas y filas de datos que se envan a los suscriptores. Publicacin Una publicacin es un conjunto de uno o ms artculos de una base de datos. La agrupacin de varios artculos en una publicacin permite especificar ms fcilmente un conjunto de objetos y datos de bases de datos relacionados lgicamente, que se replican como una unidad. Suscripcin Una suscripcin es una solicitud de una copia de una publicacin que se entrega a un suscriptor. La suscripcin define qu publicacin se recibir, dnde y cundo. Hay dos tipos de suscripciones: de insercin y de extraccin. Para obtener ms informacin acerca de las suscripciones de insercin y de ?extraccin.

Informacin general sobre los agentes de replicacin


La replicacin utiliza varios programas independientes, llamados agentes, para realizar las tareas asociadas con el seguimiento de los cambios y la distribucin de los datos. De forma predeterminada, los agentes de replicacin se ejecutan como trabajos programados en el Agente SQL Server y es necesario que se est ejecutando el Agente SQL Server para que puedan ejecutarse los trabajos. Los agentes de replicacin tambin se pueden ejecutar desde la lnea de comandos y en aplicaciones que utilizan Objetos de administracin de

replicacin (RMO). Los agentes de replicacin se pueden administrar desde el Monitor de replicacin de SQL Server y SQL Server Management Studio.

Agente SQL Server


El Agente SQL Server aloja y programa los agentes utilizados en la replicacin, y proporciona una manera sencilla de ejecutar los agentes de replicacin. El Agente SQL Server tambin controla y supervisa las operaciones fuera de la replicacin. Para obtener ms informacin.

Importante
De manera predeterminada, el servicio del Agente SQL Server est deshabilitado cuando se instala SQL Server, a menos que se elija explcitamente iniciar el servicio automticamente durante la instalacin.

Agente de instantneas
Por lo general, el Agente de instantneas se utiliza con todos los tipos de replicacin. Prepara esquemas y archivos de datos iniciales de tablas publicadas y otros objetos, almacena los archivos de instantneas y registra la informacin acerca del estado de sincronizacin en la base de datos de distribucin. El Agente de instantneas se ejecuta en el distribuidor.

Agente de registro del LOG


El Agente de registro del LOG se utiliza en la replicacin transaccional. Mueve las transacciones marcadas para replicacin desde el registro de transacciones del publicador a la base de datos de distribucin. Cada base de datos publicada con la replicacin transaccional tiene su propio Agente de registro del LOG, que se ejecuta en el distribuidor y se conecta al publicador (el distribuidor puede estar en el mismo equipo que el publicador).

Agente de distribucin
El Agente de distribucin se utiliza en la replicacin de instantneas y transaccional. Aplica la instantnea inicial al suscriptor y mueve las transacciones contenidas en la base de datos de distribucin a los suscriptores. El Agente de distribucin se ejecuta en el distribuidor, para las suscripciones de insercin, o en el suscriptor, para las suscripciones de extraccin.

Agente de mezcla
El Agente de mezcla se utiliza con la replicacin de mezcla. Aplica la instantnea inicial al suscriptor, y transfiere y reconcilia los cambios incrementales de datos que se producen. Cada suscripcin de mezcla tiene su propio Agente de mezcla, que se conecta con el publicador y con el suscriptor, y los actualiza. El Agente de mezcla se ejecuta en el distribuidor, para las suscripciones de insercin, o en el suscriptor, para las suscripciones de extraccin. De forma predeterminada, el Agente de mezcla carga los cambios del suscriptor al publicador y, a continuacin, descarga los cambios del publicador al suscriptor.

Agente de lectura de cola


El Agente de lectura de cola se utiliza con la replicacin transaccional y la opcin de actualizacin en cola. El agente se ejecuta en el distribuidor y transfiere los cambios realizados en el suscriptor de vuelta al publicador. A diferencia del Agente de distribucin y del Agente de mezcla, slo existe una instancia del Agente de lectura de cola para todos los publicadores y las publicaciones de una determinada base de datos.

Trabajos de mantenimiento de la replicacin


La replicacin incluye varios trabajos de mantenimiento que realizan operaciones de mantenimiento programadas y a peticin.

Como configurar Replicacin usando SQL Server Management Studio

Introduccin

Usted puede utilizar SQL Server Management Studio para configurar y administrar replicacin en SQL Server 2005. La interface de usuario contiene nuevos asistentes para la configuracin de la replicacin y nuevas opciones en los cuadros de dialogo de Properties.
Creando una publicacin

Utilice el siguiente procedimiento para crear una publicacin usando el asistente de New Publication en SQL Server Management Studio: 1. Conecte el publisher en Object Explorer, expanda el nodo server y el nodo Replication. 2. Haga botn derecho en Publications, y luego clic en New Publication. 3. Utilice el asistente New Publication para configurar lo siguiente: a. Base de datos de Publicacin. b. Tipo de publicacin. Elija desde: Snapshot publication Transactional publication Transactional publication with updateable subscriptions hierarchical or peer-to-peer topology) Merge publication c. Cuentas de seguridad de Replication agent. d. Artculos a publicar. e. Filtros a Artculos. f. Snapshot agent schedule.
Creando una suscripcin

Utilice el siguiente procedimiento para crear una suscripcin usando el asistente New Subscription en SQL Server Management Studio: 1. Conecte el suscriber en Object Explorer, expanda el nodo server y el nodo Replication. 2. Haga botn derecho en Subscriptions, y luego click en New Subscriptions. 3. Utilice el asistente New Subscription para configurar lo siguiente: a. Publisher y publicacin. b. Tipo de suscripcin. Elegir entre: Push subscription Pull subscription c. Base de datos del Subscriber y suscripcin. d. Cuentas de seguridad de Replication agent. e. Synchronization agent schedule. f. Horario de inicializacin.
Sincronizando una suscripcion

Utilice el siguiente procedimiento para una sincronizacin de una suscripcin pull o push desde el subscriber usando SQL Server Management Studio: 1. Conecte el subscriber en Object Explorer y expanda el nodo server, El nodo Replication, y el nodo Subscriptions.

2. Haga botn derecho en la suscripcin que desea sincronizar, y haga click En Synchronize and Monitor. 3. En el cuadro de dialogo Synchronize and Monitor, haga clic en Start.