Translate

Replicas de Base de Datos



¿Que son Replicas de Base de 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.
La replicación copia y mantiene los objetos de las bases de datos en las múltiples bases de datos que levantan un sistema distribuido. La replicación puede mejorar el funcionamiento y proteger la disponibilidad de las aplicaciones, porque alterna opciones de acceso de los datos existentes. Por ejemplo, una aplicación puede tener acceso normalmente a una base de datos local, más que a un servidor remoto para reducir al mínimo el tráfico de la red y alcanzar su funcionamiento máximo. Además, la aplicación puede continuar funcionando si el servidor local experimenta una falla, pero otros servidores con datos replicados siguen siendo accesibles.

Ventajas de las Replicación de Base de Datos
La replicación te puede ofrecer grandes beneficios relacionados principalmente con el rendimiento, disponibilidad y seguridad de los datos.
    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.
    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.
    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.

Desventajas
Al no depender de servidores o matrices para realizar la replicación, puede ejecutarse a través de un elevado número de plataformas de servidores y matrices de almacenamiento, lo que hace de esta tecnología la opción ideal para entornos de gran heterogeneidad. Además, la mayor parte de los productos de replicación en red ofrecen funciones de virtualización de sistemas de almacenamiento como complemento o como parte del paquete principal.
Las soluciones de replicación en red que se encuentran disponibles en la actualidad consisten en dispositivos en línea o bien en sistemas de mallas de conexión. En el caso de los dispositivos en línea, todas las E/S tienen que pasar por la unidad de replicación. Estos dispositivos finalizan las E/S introducidas y crean nuevas E/S que se envían a los principales puntos de destino del almacenamiento, y, en el caso de las E/S de escritura, también a puntos de destino de almacenamiento replicados. La solución en línea ha sido duramente criticada por los problemas de rendimiento y escalabilidad que presenta.
La gran escalabilidad de su arquitectura y los elevados niveles de caché que ofrece no sólo han permitido que SVC supere estas limitaciones ligadas al rendimiento y la escalabilidad, sino que, además, y gracias a la sencillez del enfoque en línea, por contraposición a la mayor complejidad que revisten las soluciones de mallas de conexión, han logrado que se convierta en uno de los productos estrella del mercado de la replicación en red y de la virtualización.
Otras desventajas son:
Complejidad del sistema, desarrollo de software más costoso, problemas de sincronización, dificultad para conocer la corrección de los algoritmos paralelos, detección de caídas de nodos
Dependencia de la red de comunicaciones, sobrecarga de procesamiento de mensajes
Dificultad de diseño, fases adicionales
Poca madurez de los productos comerciales, orientados a replicación
Funciones de administración compleja, sincronización y coordinación
Dificultad de cambio, inexistencia de metodologías
Personal especializado

Caracteristicas
La replicación se proporciona en los siguientes niveles:
Replicación 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 (simétrica): 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.
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.
 
Usos
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.
Actualmente 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 veces esos sistemas deben de tener garantizada la accesibilidad 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.
Mediante la replicación de base de datos, usuarios de todo el mundo pueden estar accediendo a lo que para ellos son los mismos datos, aunque en realidad, físicamente esos datos pueden estar de forma transparente para el usuario, en diferentes nodos o localidades.