SNAPSHOT – MEZCLA - TRANSACCIONAL)
-
Upload
juank-calvache -
Category
Education
-
view
1.229 -
download
0
description
Transcript of SNAPSHOT – MEZCLA - TRANSACCIONAL)
Universidad Técnica de Ambato
Facultad de Ingeniería en Sistemas,
Electrónica e Industrial
CARRERA DE INGENIERÍA EN SISTEMAS Informe
Carrera Universitaria: Sistemas Computacionales e Informáticos Semestre: Sexto Semestre Alumno participante:
Juan Carlos Calvache
Módulo:
Base de Datos Distribuidos
Tema:
REPLICACION
(SNAPSHOT – MEZCLA - TRANSACCIONAL)
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
OBJETIVO:
A partir de los conocimientos implantados tanto como docente e investigación, realizar una
réplica (cliente/servidor) snapshot, mezcla y transaccional y ver en que se diferencian.
MARCO TEÓRICO:
REPLICACIÓN.
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.
El modelo utilizado en SQL Server se basa en la metáfora de publicadores/ distribuidores/ suscriptores,
que fue introducida en las versiones 6.x. En dicho modelo, un SQL Server que participa de un ambiente
de replicación, cumple al menos uno de los roles de: servidor publicador (emite datos replicados), servidor
distribuidor (distribuye datos replicados) y servidor suscriptor (recibe datos replicados). SQL Server
provee ahora tres tipos de replicación que se adaptan a diferentes contextos de aplicación y no son
excluyentes entre sí:
Replicación Snapshot: Este tipo de replicación es el mecanismo más simple de todos, donde el
publicador replica datos tal como están en la base de datos en un momento dado. La publicación
se puede realizar en forma cronogramada o por demanda. El funcionamiento es sencillo: el
publicador simplemente envía una réplica de todos los datos hacia los suscriptores, en vez de
solamente enviar los datos que fueron alterados desde el último snapshot realizado.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Replicación Transaccional: Este tipo de replicación realiza un monitoreo de los cambios a los
datos que son realizados en el publicador (inserciones, borrados y modificaciones de
transacciones que dieron COMMIT). Dichos cambios son propagados a los suscriptores en
forma cronogramada o en forma continua, de forma tal que se aproxima a una transacción en
tiempo real. Este mecanismo garantiza una consistencia transaccional en sentido laxo: todos los
suscriptores tarde o temprano reciben los datos como si se hubiesen alterado en un único sitio.
Replicación Mezcla: El Agente de instantáneas y el Agente de mezcla de SQL Server
implementan la replicación de mezcla. Si la publicación no se filtra o utiliza filtros
estáticos, el Agente de instantáneas crea una sola instantánea. Si la publicación utiliza
filtros con parámetros, el Agente de instantáneas crea una instantánea para cada
partición de datos. El Agente de mezcla aplica las instantáneas iniciales a los
suscriptores. También mezcla los cambios incrementales de los datos que tienen lugar
en el publicador o en los suscriptores después de la creación de la instantánea inicial y
detecta y resuelve los conflictos según las reglas que configure. En el siguiente
diagrama se muestran los componentes que se utilizan en la replicación de mezcla.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
En su forma más simple, la replicación Snapshot y Transactional se basan en un modelo de replicación
en una sola dirección, desde un único publicador hacia los suscriptores. Esta ha sido la forma habitual de
trabajo disponible en la versión 6.x de SQL Server. En los casos en que se desee flujo de datos desde los
suscriptores hacia el publicador, se dispone de la opción Immediate Updating Subscribers (IUS), que se
configura cuando el artículo es creado. Una modificación al artículo realizada en un suscriptor, puede
verse reflejada inmediatamente en el publicador mediante el uso automático de un protocolo de commit
en 2 fases (2PC).
Una vez que el dato actualizado es aceptado en el publicador, puede ser propagado a los demás
suscriptores que participan en el contexto de replicación.
PRACTICA REPLICACIÓN CLIETE/SERVIDOR
Preparar cliente y servidor antes de hacer la replicación:
1. Las dos computadoras (cliente/servidor) tienes que estar en red, para poder verificar lo
podemos hacer haciendo ping o visualizando tanto el cliente en el servidos, y el servidor en el
cliente. En esta práctica utilizamos dos computadoras una en máquina virtual, las dos con
widnows 7.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
En esta imagen visualizamos las dos computadoras, la máquina virtual como servidor y la otra
como cliente.
2. Luego de ver que las dos computadoras estén en red debemos levantar los servicios
tanto en el cliente como en el servidor.
2.1. Nos vamos a inicio, luego a Microsoft SQL SERVER 2008, luego Configuration Tools
y le damos click en SQL Server Configuration Manager.
2.2. Nos aparece los servicios del SQL-Server, vamos habilitar los puertos Tcp/Ip, si se
encuentran disabled, le damos doble click y le ponemos enable.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
2.3. Luego levantaremos todos los servicios de SQL-Server para no tener ningún
problema en las réplicas.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
REPLICACIÓN SNAPSHOT
Abrimos Microsoft SQL Server Management Studio, nos conectamos con el nombre de la
computadora servidor en este caso, máquina virtual WIN7SERVER32B.
Luego nos conectamos al cliente, en el mismo servidor. En este caso JUANK-PC
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Si las conexiones no nos han dado ningún problema veremos una pantalla similar a esta:
A continuación crearemos una base de datos llamada SNAPSHOT en el servidor.
Creamos una tabla de igual nombre SNAPSHOT con dos campos uno id y otro campo, el uno
autunumerico y el otro char respectivamente.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Editamos la tabla en este caso ingresamos datos.
Luego creamos una base de datos con el mismo nombre de la anterior pero la crearemos
dentro del cliente, sin ninguna tabla.
Vamos a crear una publicación en el servidor. A continuación, por medio de imágenes se le
guiara en la creación.
Desplehamos la carpeta Replication y damos click derecho en Local Publication y luego click en
New Publication.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Luego de dar en siguiente escojeremos labase de datos ke vamos a utilizar.
Next, Escogemos luego la primera opción Snapshot publication
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Next, Escogemos las tablas que vamos a replicar.
Next, en esta pantalla no hacemos nada.
Next, Escogemos las dos opciones que nos dan, luego damos click en Change y escogemos que
la réplica se haga cada 10 segundos.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Next, damos click en Security Setings y la configuramos de la siguiente manera.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Next, Escogemos la primera opción Create the publication
Next, escribimos el nombre de la publicación SNAPSHOT.
Next, y esperamos que cargue.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Close,
Luego creamos la suscripción. Esta será creada en el cliente.
Next, nos pide el usuario donde se encuentra la publicación.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
En este caso nos conectaremos con el nombre del servidor
Next, escogemos el nombre de la publicacion en este caso SNAPSHOT.
Next, Escogemos la primera opción.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Next, Escogemos la BD de destino, la base de datos que se encuentra en el cliente.
Next, nos pide con que usuario nos vamos a conectar al Cliente. Utilizaremos el sa.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Next, escogemos la primer opción Run continualy.
Next, escogemos la primera opción.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Next, escogemos la primera opción.
Next, luego finish, y esperamos que se cargue.
Close.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
COMPROBACIÓN SNAPSHOT.
Como vemos se nos ha creado la tabla A y haciendo un select observamos los datos que
ingresamos luego de la cracion de la tabla.
Update Snapshot
Vamos actualizar un dato en la tabla A pero la que se encuentra en el servidor.
Luego de actualizar, esperamos 10 segundos y nos dirigimos a la tabla cliente y hacemos un
select, tenemos que ver los cambios que hicimos en la tabla A del servidor.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
REPLICACION MEZCLA.
Los paso para realizar replicación mezcla son similares a la de snapshot por lo tanto solo se
verán en imágenes y se explicara lo nuevo en la creación.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Hasta aquí hemos creado las bases de datos tanto en el server como cliente, en el server la
base de datos con la tabla y la inserción de datos en la misma. Y en el cliente sola la creación
de la base de datos.
Luego procederemos a crear el publicador en el servidor y el suscriptor en el cliente.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
En este caso escojemos la BD MEZCLA porque la practica la vamos a realizar en diferentes
bases de datos.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Escogemos Merge publication. La cual nos permitirá hacer la replicación mezcla.
Luego escogemos la version del SQL-Server ke estamos ocupando, en mi caso el SQL-Server
2008.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Hemos creado la publicación luego crearemos el suscriptor en el cliente.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Luego de poner next, nos pedirá que le demos al cliente un porcentaje, este porcentaje es para
ver cual tiene mayor poderío en control. En este caso ponemos le he dejado el 75% .
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
COMPROBACION REPLICACIÓN MEZCLA
Le hacemos un refresh a la base de datos, esperando 10 segundos. Luego le hacemos un select
a la tabla A y observaremos los datos ingresados.
UPDATE REPLICACIÓN MEZCLA.
Vamos actualizar un dato en la tabla A del cliente.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Esperamos 10 segundos y hacemos un select a la tabla A que se encuentra en el servidor, se
nos tiene que visualizar los datos modificados.
Luego modificamos la tabla A la del servidor.
Luego hacemos un select a la tabla A del cliente y s deben visualizar los datos modificados.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
DELETE REPLICACION MEZCLA
Vamos a eliminar un registro de la tabla A del cliente.
Luego haremos un select a la tabla A del servidor. Y ya no veremos el registro porque ya fue
eliminado.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
REPLICACIÓN TRANSACCIONAL.
Al igual que la replicación snapshot, mezcla esta se la realiza de la misma manera claro tiene
sus diferencias la rato de replicar, pero la creación es similar. A continuación se las mostrare
por medio de imágenes y lo nuevo a configurar se los explicare.
Vamos a crear las bases de datos igualmente tanto el servidor como en el cliente. De la misma
manera que las dos anteriores pero con difente nombre en este caso utilizaremos
TRANSACCIONAL.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
A continuación crearemos el publicador y el suscriptor tal como lo hacíamos en las dos
anteriores replicaciones.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Para la replicación transaccional escogeremos Transactional publication
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
A continuación vamos a crear el suscriptor en el cliente.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
COMPROBACIÓN REPLICACIÓN TRANSACCIONAL.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Observamos que se ha creado la tabla, y luego haremos un select a la misma para visualizar los
datos ke ingresamos por el servidor.
UPDATE REPLICACIÓN TRANSACCIONAL.
Vamos a actualizar un registro en la tabla A del Cliente.
Luego hacemos un select a la tabla A del servidor. Y vamos a ver que no ha ocurrido nada, eso
significa que está bien echa la replicación, ya que esta replicación solo es de origen a destino.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Luego actualizamos un registro en la tabla A del servidor y por ultimo visualizamos la tabla A
del cliente para ver si el cambio esta echo.
Exactamente se ha modificado solo el registro que modificamos.
CONCLUSIÓ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. Dada la diversidad de contextos
donde se aplican mecanismos de replicación, SQL Server dispone de una gama de
posibilidades, en vez de utilizar una única forma de replicar datos. Cada uno de los tipos de
replicación se adapta en mayor o menor medida y pueden utilizarse en forma combinada para un
caso específico. Los tipos de replicación disponibles permiten moverse desde contextos donde
los sitios trabajan en forma completamente unos de otros, hasta contextos donde se requiere
una alta consistencia transaccional.
RECOMENDACIÓN:
Se recomienda revisar que todos los servicios de SQL-Server estén levantados en el cliente y en
el servidor.
UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Autor: Juan Carlos Calvache Nivel: 6to - Sistemas
Se recomienda tener el SQL-Server instalado desde cero, ya que nos podría dar conflictos si se
ha instalado mal.
BIBLIOGRAFÍA:
http://www.monografias.com/trabajos82/replicaciondatos/replicaciondatos.shtml
http://www.monografias.com/trabajos81/distribucion-replicacion-oracle/distribucion-
replicacion-oracle2.shtml
http://msdn.microsoft.com/es-es/library/ms151329(v=sql.105).aspx