DUPLICACIÓN DE BASE DE DATOS EN SQL SERVER
mvvthdp19 de Octubre de 2012
3.113 Palabras (13 Páginas)794 Visitas
INTRODUCCION
La Duplicación de datos permite que ciertos datos de la base de datos sean almacenados en más de un sitio, su principal utilidad es que permite aumentar la disponibilidad de los datos y mejora el funcionamiento de las consultas globales a la base de datos.
La Duplicación en SQL Server consiste, en el transporte de datos entre dos o más instancias de servidores. Para ello SQL Server brinda un conjunto de soluciones que permite copiar, distribuir datos. Además hay métodos y opciones para el diseño, implementación, supervisión y administración de la duplicación que le ofrecen la funcionalidad y flexibilidad necesarias para distribuir datos.
En la Duplicación se compone, básicamente, de los siguientes elementos: publicador, distribuidor, suscriptores, publicaciones, artículos y suscripciones y varios agentes responsabilizados de copiar los datos entre el publicador y el suscriptor.
DUPLICACIÓN
La Duplicación es un conjunto de tecnologías que le permiten mantener copias de los mismos datos en varios sitios, incluso a veces en centenares de sitios.
Es muy útil para mejorar la disponibilidad de datos, lo cual pudiera llevarse al caso extremo, conocido como bases de datos distribuidas replicadas totalmente, en el cual consiste en la replicación de la base de datos completa en cada sitio en el sistema distribuido y garantiza notablemente la disponibilidad de datos, pues el sistema puede continuar operando cuando exista en servicio al menos uno de los servidores SQL Server. La desventaja es un alto costo para mantener la consistencia de las copias en cada sitio.
La duplicación utiliza un modelo de publicación y suscripción para distribuir datos:
PUBLICADOR.- Es un servidor que es el origen de los datos que se van a duplicar. El publicador define un artículo por cada tabla u otro objeto de base de datos que se va a utilizar como origen de la duplicación. Uno o varios artículos relacionados de la misma base de datos se organizan en una publicación. Las publicaciones son formas adecuadas de agrupar datos y objetos relacionados que desea duplicar juntos.
SUSCRIPTOR.- Es un servidor que recibe los datos duplicados por el publicador. El suscriptor define una suscripción a una publicación determinada. La suscripción especifica cuándo recibe el suscriptor la publicación del publicador y asigna los artículos a tablas y otros objetos de base de datos en el suscriptor.
DISTRIBUIDOR.- Es un servidor que realiza varias tareas cuando mueve artículos de los publicadores a los suscriptores. Las tareas reales que se llevan a cabo dependen del tipo de duplicación realizada.
ESCENARIOS TÍPICOS DE LA DUPLICACIÓN
En una solución de replicación pudiera ser necesario utilizar varias publicaciones en una combinación de metodologías y opciones. En la replicación los datos o transacciones fluyen del publicador al suscriptor pasando por el distribuidor.
Por lo tanto en su configuración mínima una topología de replicación se compone de al menos dos o tres servidores SQL Server que desempeñan los tres roles mencionados.
Variando la ubicación del servidor distribuidor podríamos contar con las siguientes variantes:
1. El rol de distribuidor desempeñado por el publicador (Fig. 1.1).
2. El rol de distribuidor desempeñado por el suscriptor (Fig. 1.2)
3. Un servidor de distribución, independiente del publicador y del suscriptor (Fig. 1.3)
Fig.1 Publicador-Distribuidor Fig.2 Distribuidor-Suscriptor Fig. 3 Distribuidor independiente
En la mayoría de las configuraciones, el peso fundamental de la replicación recae, sobre el servidor de distribución. Por tanto éste puede ser un criterio para determinar su ubicación, teniendo en cuenta las configuraciones (posibilidades físicas) de los servidores, así como otras responsabilidades que pueden estar desempeñando (servidor de dominio, servidor de páginas web entre otras)
Existe la posibilidad de contar con un servidor que se suscriba a una publicación y a la vez la publique para el resto de los suscriptores, esto puede ser muy útil cuando se cuente con una conexión muy costosa con el publicador principal. Por ejemplo el publicador principal en Madrid y los suscriptores en Ciudad Habana, Varadero, Cayo Coco, Cayo Largo, etc. En casos como este, se puede elegir un suscriptor, digamos el servidor de Ciudad Habana el cual se suscribe al publicador en Madrid y a la vez actúa como servidor de publicación para los servidores de Varadero, Cayo Coco, Cayo Largo y demás. Evidentemente en una configuración tal pueden nuevamente combinarse la ubicación de los dos distribuidores y aumentar el número de variantes que pueden presentarse pero las consideraciones para determinar la ubicación del servidor que fungirá como distribuidor son las ya mencionadas.
TIPOS DE DUPLICACIÓN
DUPLICACIÓN DE INSTANTÁNEAS
En la duplicació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 duplicar 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 duplican 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 duplicación transaccional.
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.
DUPLICACIÓ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.
DUPLICACIÓ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 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
...