Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sexto Semestre
OBJETIVO: A partir de los conocimientos implantados tanto como docente e investigacin, realizar una rplica (cliente/servidor) snapshot, mezcla y transaccional y ver en que se diferencian.
MARCO TERICO:
REPLICACIN.
Un buen nmero de aplicaciones informticas estn accesibles a travs 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 tcnicas de replicacin. La replicacin es un mecanismo utilizado para propagar y diseminar datos en un ambiente distribuido, con el objetivo de tener mejor performance y confiabilidad, mediante la reduccin de dependencia de un sistema de base de datos centralizado. Para garantizar que una aplicacin distribuida sea altamente disponible (es decir, que pueda proporcionar servicio de manera continua) se deben instanciar mltiples rplicas de sta en distintos ordenadores. Se debe conseguir que cada uno de los ordenadores que mantenga una rplica de la aplicacin sea independiente del resto ante la ocurrencia de fallos. El objetivo principal para la distribucin de datos es proveer un acceso sencillo a la informacin por parte de los usuarios de mltiples localidades o nodos de trabajo de una red de computadoras. Para alcanzar este objetivo, los sistemas de BDD deben proveer transparencia de ubicacin, que significa que el usuario no necesita conocer la localizacin fsica de cada dato dentro de la red. Idealmente, la informacin 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 metfora de publicadores/ distribuidores/ suscriptores, que fue introducida en las versiones 6.x. En dicho modelo, un SQL Server que participa de un ambiente de replicacin, 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 replicacin que se adaptan a diferentes contextos de aplicacin y no son excluyentes entre s: Replicacin Snapshot: Este tipo de replicacin es el mecanismo ms simple de todos, donde el publicador replica datos tal como estn en la base de datos en un momento dado. La publicacin se puede realizar en forma cronogramada o por demanda. El funcionamiento es sencillo: el publicador simplemente enva una rplica de todos los datos hacia los suscriptores, en vez de solamente enviar los datos que fueron alterados desde el ltimo snapshot realizado.
Replicacin Transaccional: Este tipo de replicacin 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 transaccin 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.
En su forma ms simple, la replicacin Snapshot y Transactional se basan en un modelo de replicacin en una sola direccin, desde un nico publicador hacia los suscriptores. Esta ha sido la forma habitual de trabajo disponible en la versin 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 opcin Immediate Updating Subscribers (IUS), que se configura cuando el artculo es creado. Una modificacin al artculo realizada en un suscriptor, puede verse reflejada inmediatamente en el publicador mediante el uso automtico 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 dems suscriptores que participan en el contexto de replicacin. PRACTICA REPLICACIN CLIETE/SERVIDOR Preparar cliente y servidor antes de hacer la replicacin: 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 prctica utilizamos dos computadoras una en mquina virtual, las dos con widnows 7.
En esta imagen visualizamos las dos computadoras, la mquina virtual como servidor y la otra como cliente. 2. Luego de ver que las dos computadoras estn 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.
2.3. Luego levantaremos todos los servicios de SQL-Server para no tener ningn problema en las rplicas.
Si las conexiones no nos han dado ningn problema veremos una pantalla similar a esta:
Creamos una tabla de igual nombre SNAPSHOT con dos campos uno id y otro campo, el uno autunumerico y el otro char respectivamente.
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 publicacin en el servidor. A continuacin, por medio de imgenes se le guiara en la creacin. Desplehamos la carpeta Replication y damos click derecho en Local Publication y luego click en New Publication.
Next, Escogemos las dos opciones que nos dan, luego damos click en Change y escogemos que la rplica se haga cada 10 segundos.
Next, nos pide con que usuario nos vamos a conectar al Cliente. Utilizaremos el sa.
Close.
COMPROBACIN 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.
REPLICACION MEZCLA. Los paso para realizar replicacin mezcla son similares a la de snapshot por lo tanto solo se vern en imgenes y se explicara lo nuevo en la creacin.
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 insercin de datos en la misma. Y en el cliente sola la creacin de la base de datos. Luego procederemos a crear el publicador en el servidor y el suscriptor en el cliente.
En este caso escojemos la BD MEZCLA porque la practica la vamos a realizar en diferentes bases de datos.
Luego escogemos la version del SQL-Server ke estamos ocupando, en mi caso el SQL-Server 2008.
Luego de poner next, nos pedir que le demos al cliente un porcentaje, este porcentaje es para ver cual tiene mayor podero en control. En este caso ponemos le he dejado el 75% .
COMPROBACION REPLICACIN 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.
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 hacemos un select a la tabla A del cliente y s deben visualizar los datos modificados.
Luego haremos un select a la tabla A del servidor. Y ya no veremos el registro porque ya fue eliminado.
REPLICACIN TRANSACCIONAL. Al igual que la replicacin snapshot, mezcla esta se la realiza de la misma manera claro tiene sus diferencias la rato de replicar, pero la creacin es similar. A continuacin se las mostrare por medio de imgenes 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.
A continuacin crearemos el publicador y el suscriptor tal como lo hacamos en las dos anteriores replicaciones.
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 replicacin, ya que esta replicacin solo es de origen a destino.
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.
CONCLUSIN: La replicacin es un mecanismo utilizado para propagar y diseminar datos en un ambiente distribuido, con el objetivo de tener mejor performance y confiabilidad, mediante la reduccin de dependencia de un sistema de base de datos centralizado. Dada la diversidad de contextos donde se aplican mecanismos de replicacin, SQL Server dispone de una gama de posibilidades, en vez de utilizar una nica forma de replicar datos. Cada uno de los tipos de replicacin se adapta en mayor o menor medida y pueden utilizarse en forma combinada para un caso especfico. Los tipos de replicacin disponibles permiten moverse desde contextos donde los sitios trabajan en forma completamente unos de otros, hasta contextos donde se requiere una alta consistencia transaccional. RECOMENDACIN: Se recomienda revisar que todos los servicios de SQL-Server estn levantados en el cliente y en el servidor.
Se recomienda tener el SQL-Server instalado desde cero, ya que nos podra dar conflictos si se ha instalado mal.
BIBLIOGRAFA: http://www.monografias.com/trabajos82/replicaciondatos/replicaciondatos.shtml http://www.monografias.com/trabajos81/distribucion-replicacion-oracle/distribucionreplicacion-oracle2.shtml http://msdn.microsoft.com/es-es/library/ms151329(v=sql.105).aspx