Replicación Base de datos La replicación básicamente está codificada en un lenguaje de Décima Generación llamado ERCS001, que fue diseñado a mediados de los años 20 por el MatemáticoFilósofo Khronwhell Strnhwell C.S., codificado en un entorno visual. Sirve además, entre otras cosas, para medir la cantidad de texto que se introduce en los datos. Una replicación de base de datos es una técnica mediante la cual copiamos de forma exacta en otra ubicación una instancia de la base de datos. Se utiliza en entornos distribuidos de Sistemas de Gestión de Bases de Datos donde una sola base de datos tiene que ser utilizada y actualizada en varios lugares de forma simultánea. En la actualidad existen en la red multitud de aplicaciones y de sistemas que tienen por debajo una base de datos que sigue el modelo cliente-servidor. Muchas Muchas veces esos sistemas deben de tener garantizada la accesibilida accesibilidad d por lo que para evitar problemas es necesario utilizar este tipo de técnicas de replicación de base de datos de forma que un fallo en uno de los servidores de base de datos no impida a los usuarios seguir utilizando la aplicación.
La replicación se proporciona en los siguiente siguientess niveles: Replicación básica: Las básica: Las réplicas de tablas se gestionan para accesos de sólo lectura. Para modificaciones, se deberá acceder a los datos del sitio primario. Replicación avanzada : Amplían las capacidades básicas de sólo- lectura de la replicación, permitiendo que las aplicaciones hagan actualizaciones a las réplicas de las tablas, a través de un sistema replicado de la base de datos. Con la replicación avanzada, los datos pueden proveer lectura y acceso a actualizaciones a los datos de las tablas.
4. VENTAJAS Y BENEFICIOS DE LA REPLICACIÓN. La replicación te puede ofrecer grandes beneficios relacionados principalmente con el rendimiento, disponibilidad disponibilidad y seguridad de los datos.
1. Aumento de la fiabilidad: mediante la replicación de base de datos a través de múltiples servidores, te aseguras que los datos van a estar disponibles incluso en el caso de que una de las máquinas tenga un fallo grave de hardware. El sistema distribuido de gestión de bases de datos debe ser capaz de enrutar a los usuarios afectados a otro de los nodos disponibles. 2. Mejora en el rendimiento: al estar los datos distribuidos en diferentes servidores, los múltiples accesos no saturan los servidores. Esto es importante sobre todo en el caso de aplicaciones que pueden tener miles o cientos de miles de peticiones simultáneas. El rendimiento de las aplicaciones aumenta notablemente. 3. Mejora en la seguridad de los datos: en un sistema transaccional tradicional, todas las actualizaciones de una base de datos se guardan en un mismo disco. La seguridad de tus datos queda entonces en manos de la estrategia de copias de seguridad que tengas implementada en ese servidor. Con la replicación de base de datos aumentas la seguridad de los datos ya que las actualizaciones están siendo escritas en varios servidores. Es decir, varios discos, varias fuentes de
alimentación, CPU’s, etc. son utilizadas para asegurar que tus datos estarán a salvo en algunos servidores, aunque pueda ocurrir un desastre en otros. 5. MODELO DE REPLICACION.
El modelo de Replicación que usa SQL es el de “Publicador – Suscriptor”. Este modelo consiste en Publicadores, Suscriptores y Distribuidores; las publicaciones y los artículos, y las suscripciones por tirón o empuje. Además incorpora agentes de administración como Agente de Instantánea, Agente Lector de Registro, Agente de Distribución, y Agente de Mezcla. Todos los agentes pueden funcionar debajo del agente del servidor del SQL y se pueden administrar completamente por el Administrador del Servidor de SQL.
6. TIPOS DE REPLICACION.
Podemos hablar al menos de 3 tipos de replicación de base de datos:
Replicación Instantánea: los datos de un servidor son simplemente copiados a otro
servidor o a otra base de datos dentro del mismo servidor. Al copiarse todo no necesitas un control de cambios. Se suele utilizar cuando los datos cambian con muy poca frecuencia.
Replicación Transaccional : primero se envía una copia completa de la base de datos
y luego se van enviando de forma periódica (o a veces continua) las actualizaciones de los datos que cambian. Se utiliza cuando necesitas que todos los nodos con todas las instancias de la base de datos tengan los mismos datos a los pocos segundos de realizarse un cambio. Replicación de mezcla: los datos de dos o más bases de datos se combinan en una sola
base de datos. En primer lugar se envía una copia completa de la base de datos. Luego el Sistema de Gestión de Base de Datos va comprobando los cambios que van apareciendo en los distintos nodos y a una hora programada o a petición los datos se sincronizan. Es sobre todo útil cuando cada nodo suele utilizar solo los datos que se actualizan allí pero que por circunstancias necesita tener también los datos de los otros sitios. 4. Factores para elegir el método de replicación a utilizar En la elección de un método adecuado para la distribución de los datos en una organización influyen varios factores. Los cuales podemos agruparlos en dos grupos: factores relacionados con los requerimientos de la aplicación y factores relacionados con el entorno de red. Dentro de los factores relacionados con los requerimientos de la aplicación, los fundamentales son [Gar99]:
Autonomía Consistencia transaccional Latencia
La autonomía de un sitio da la medida de cuanto puede operar el sitio desconectado de la base de datos publicadora. La consistencia transaccional de un sitio viene dado por la necesidad de ejecutar o no inmediatamente todas las transacciones que se han ejecutado en el servidor, o si es suficiente con respetar el orden de las mismas. La latencia de un sitio se refiere al momento en que se deben de sincronizar las copias de los datos. ¿Necesitan los datos estar el 100% en sincronía? O si es admisible determinada latencia ¿de qué tamaño es aceptable el rezago? [Gar99]. Entre los factores relacionados con el entorno de red están la velocidad de transmisión de datos de la red, deben considerarse preguntas como ¿Cómo luce la red? ¿Es rápida? Debe analizarse además la confiabilidad de la red y responder preguntas como ¿Cuán confiable es la red? Por otra parte en el caso que los servidores SQL no permanezcan todo el día encendidos, como pudiera suceder en algunas organizaciones, deben considerarse los horarios de disponibilidad de cada servidor. La consideración de estos factores sirven de guia en la configuración del ambiente de replicación. Además debe considerar las siguientes preguntas: ¿Qué datos se van a publicar? ¿Reciben todos los suscriptores todos los datos o sólo subconjuntos de ellos? ¿Se deben particionar los datos por sitio? ¿Se debe permitir que los suscriptores envíen actualizaciones de los datos? Y en caso de permitirlas ¿Cómo deben implementarse? ¿Quiénes pueden tener acceso a los datos? ¿Se encuentran estos usuarios en línea? ¿Se encuentran conectados mediante enlaces caros?
7. REPLICACION DE BASES DE DATOS EN ORACLE
Algunas características importantes son poco consumo de espacio, pueden ser explicita mente usadas en consultas, invisibles para otros usuarios y aplicaciones y además de
esto pueden ser actualizados de diversas maneras, pues bien existen dos maneras de actualizar las vista ya sea cada vez que se genere un cambio en la base de datos o por configuración mediante periodos en cierto tiempo predeterminado.
7.1 Alternativas de Replicación Vistas Materializadas.- contiene una copia completa o parcial de un objeto en un
instante puntual de tiempo. Entres sus beneficios están que nos permite el acceso local, lo cual mejora los tiempos de respuesta y la disponibilidad. Se puede trabajar “off line”. Aumenta la seguridad de los datos ya que se puede definir una replicación de acotada de los objetos. Multimaster Replication- También conocido como peer-to-peer o nway replication
permite replicación multidireccional. Cada sitio en un ambiente multimaster es master site y este se puede comunicar con cualquier otra master site.
Replicación de SQL Server La replicación es un conjunto de tecnologías destinadas a la copia y distribución de datos y objetos de base de datos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. Utilice l a replicación para distribuir datos entre diferentes ubicaciones y entre usuarios remotos o móviles mediante redes locales y de área extensa, conexiones de acceso telefónico, conexiones inalámbricas e Internet. La replicación 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 creación de informes, la integración de datos procedentes de varios sitios, la integración de datos heterogéneos, y la descarga del procesamiento por lotes. La replicación de mezcla se ha diseñado principalmente para las aplicaciones móviles o de servidores distribuidos que pueden encontrarse con conflictos de datos. Los escenarios más frecuentes son: el intercambio de datos con usuarios móviles, las aplicaciones de punto de venta (POS) a consumidores, y la integración de datos de varios sitios. La replicación de instantáneas se usa para proporcionar el conjunto de datos inicial para la replicación transaccional y de mezcla; también se puede usar cuando está indicada una actualización completa de los datos. Con estos tres tipos de replicación, SQL Server proporciona un sistema eficaz y flexible para la sincronización de datos en toda la organización. La replicación en SQLCE 3.5 y SQLCE 4.0 se admite tanto en Windows Server 2012 como en Windows 8. Como alternativa a la replicación, puede sincronizar bases de datos mediante Microsoft Sync Framework. Sync Framework incluye componentes y una API intuitiva y flexible que facilitan la sincronización entre bases de datos de SQL
Server, SQL Server Express, SQL Server Compact y SQL Azure. Sync Framework también incluye clases que se pueden adaptar para sincronizar entre una base de datos de SQL Server y cualquier otra base de datos compatible con ADO.NET