La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Distribuidos Replicación. Replicación(1/3) Es el mantenimiento de copias on- line de datos en una base de datos o de otros tipos de recursos,

Presentaciones similares


Presentación del tema: "Sistemas Distribuidos Replicación. Replicación(1/3) Es el mantenimiento de copias on- line de datos en una base de datos o de otros tipos de recursos,"— Transcripción de la presentación:

1 Sistemas Distribuidos Replicación

2 Replicación(1/3) Es el mantenimiento de copias on- line de datos en una base de datos o de otros tipos de recursos, con el fin de alcanzar mejor rendimiento en el sistema, alta disponibilidad de la información y una buena tolerancia a fallas. Ejemplos de replicación en Internet: El servicio DNS El Servicio USENET (Internet News)

3 Se refiere al almacenamiento de copias de datos en sitios múltiples, las cuales pueden ser para satisfacer requerimientos de información, además de mejorar la disponibilidad de los datos y el tiempo de respuesta; finalmente estas copias reducen los costos totales de comunicación y de consulta. Replicación(2/3)

4 Los datos replicados se someten a la regla de consistencia mutua, la cual requiere que todas las copias de fragmentos de datos sean idénticas, esto quiere decir que cuando hay una actualización de los datos en la base de datos, esta se realiza en todos los sitios donde hay réplicas. Aunque se tiene beneficios, también exige más complejidad de procesamiento del DDBMS cada copia de datos debe ser mantenida por el sistema. Replicación(3/3)

5 Objetivos Aumentar la disponibilidad Mejorar los tiempos de respuesta (rendimiento) Incrementar la tolerancia a fallas

6 Aumentar la disponibilidad Datos replicados en dos servidores independientes, conectados a la red por vínculos independientes permiten seleccionar al otro servidor ante la falla de uno cualquiera de ellos o de su enlace

7 Mejorar el rendimiento Múltiples clientes accediendo a un solo servidor lo transforman en un cuello de botella: por encima de un nro. máximo de requerimientos por segundo, el tiempo medio de respuesta cae significativamente Múltiples servidores atendiendo a subconjuntos de clientes permiten mejorar el tiempo medio de respuesta

8 Incrementar la Tolerancia a Fallas (1/2) Tipos de falla cubiertos por la replicación: Fallas bizantinas o arbitrarias (resultados incorrectos) Fallas de parada: un componente entra en un estado de falla detectable

9 Incrementar la Tolerancia a Fallas (2/2) Una réplica cualquiera podrá seguir prestando servicio ante la falla de otra Un conjunto de réplicas puede producir un dato correcto mediante una elección por mayoría, frente a fallas aleatorias en una cualquiera de las réplicas

10 Candidatos a replicación Datos (por ejemplo, una base de datos críticos) Servicios: Comunicaciones Servicio de nombres Servicio de archivos Recursos en general

11 Existen tres escenarios de replicación: Base de datos totalmente replicada, guarda varias copias de cada fragmento de la base de datos en varios sitios. No es práctica debido la cantidad de carga impuesta al sistema. Base de datos parcialmente replicada, guarda múltiples copias de algunos fragmentos de la base de datos en múltiples sitios. Base de datos no replicada, guarda cada fragmento de base de datos en un solo sitio. Escenarios de Replicación

12 Requerimientos de la replicación: Transparencia: Los clientes no deben tener percepción de la existencia de múltiples copias físicas del objeto referenciado nombre único y conjunto de resultados único Consistencia: Las mismas operaciones sobre los mismos objetos hechas por distintos clientes deben producir idénticos resultados

13 Modelos de Replicación Asíncrono: Todos los requerimientos de un cliente son atendidos por su servidor local (el mas cercano en términos de red) El ordenamiento de las operaciones puede diferir entre réplicas. Cuando un servidor procesa un update desde un cliente local lo propaga al resto de los servidores de réplica

14 Modelos de Replicación Sincrónico total: Todo requerimiento de update se procesa en orden temporal Sólo cuando todas las réplicas procesaron la operación, el control retorna al cliente Es un modelo de consistencia estricta, en el cual los tiempos de respuesta son mayores al asíncrono

15 Técnicas de diseño Los esquemas reales utilizan un punto intermedio entre el modelo asíncrono y el sincrónico total: Esquemas basados en quorum: requieren la participación de un subconjunto de las réplicas activas. Esquemas basados en causalidad: imponen ordenamiento sólo a las operaciones que lo requieren.

16 Modelo Arquitectural de Replicación cliente FE AR cliente FE Servicio replicado Administradores de réplica Front Ends Requerimientos y respuestas

17 Componentes del modelo Clientes: procesos usuarios del servicio Front-Ends: responsable de la comunicación con uno o mas ARs, abstraen al cliente de la implementación del servicio Administradores de réplica: procesos que contienen las réplicas y efectúan operaciones directamente sobre ellas

18 Implementación I: Gossip cliente FE AR cliente FE cliente FE Cada FE se comunica con uno o mas ARs para satisfacer el requerimiento del cliente. Los AR intercambian mensajes (gossip), propagando los cambios registrados mensajes

19 Implementación II: Réplica primaria cliente FE AR cliente FE cliente FE Primario Secundarios En rojo: escrituras En verde: lecturas Cada FE se comunica con el AR designado primario cuando la operación requerida es un update. El AR primario propaga los cambios al resto de los ARs.

20 Conceptos de replicación SQL Server

21 Componentes del modelo de replicación (1/3) Para representar los componentes y procesos de una topología de replicación se utilizan metáforas de la industria de la publicación. El modelo se compone de los siguientes objetos: El publicador es un servidor que pone los datos a disposición de otros servidores para poder replicarlos. El distribuidor es un servidor que aloja la base de datos de distribución y almacena los datos históricos, transacciones y metadatos.

22 Los suscriptores reciben los datos replicados. Un artículo de una publicación puede ser una tabla de datos la cual puede contar con todas las filas o algunas (filtrado horizontal) y simultaneamente contar de todas las columnas o algunas (filtrado vertical), un procedimiento almacenado, una definición de vista, la ejecución de un procedimiento almacenado, una vista, una vista indizada o una función definida por el usuario. Una publicación es un conjunto de artículos de una base de datos. Componentes del modelo de replicación (2/3)

23 Una suscripción es una petición de copia de datos o de objetos de base de datos para replicar. Una suscripción define qué publicación se recibirá, dónde y cuándo. Las suscripciones pueden ser de inserción o de extracción; y una publicación puede admitir una combinación de suscripciones de inserción y extracción. Componentes del modelo de replicación (3/3)

24 Tipos de replicación Los tipos básicos de replicación son: Replicación de instantáneas Replicación transaccional Replicación de mezcla

25 Replicación de instantáneas (1/2) En la replicació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 replicar con menos frecuencia que otros tipos de publicaciones. Puede llevar más tiempo propagar las modificaciones de datos a los suscriptores.

26 Se recomienda utilizar: cuando la mayoría de los datos no cambian con frecuencia; se replican 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). Los servidores OLAP son candidatos a la replicación de instantáneas. Replicación de instantáneas (2/2)

27 Replicación transaccional (1/2) 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.

28 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, pero necesitan cambios a los datos con una cantidad mínima de latencia. Ejemplo: un sistema para el procesamiento y distribución de pedidos. Replicación transaccional (2/2)

29 Replicación de mezcla (1/2) 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 2000 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.

30 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 de periodo de latencia de la aplicación es largo o corto; la autonomía del sitio es un factor crucial. Replicación de mezcla (2/2)

31 Factores para elegir el método de replicación (1/3) 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

32 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] Factores para elegir el método de replicación (2/3)

33 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. Factores para elegir el método de replicación (3/3)

34 Fases generales para implementar y supervisar la replicación A pesar de que existen varias formas de implementar y supervisar la replicación, y el proceso de replicación es diferente según el tipo y las opciones elegidas, en general, la replicación se compone de las siguientes fases: Configuración de la replicación Generación y aplicación de la instantánea inicial Modificación de los datos replicados Sincronización y propagación de los datos.

35 COMENTARIOS HAY QUE HACER UN EJEMPLO DE REPLICACION EN ORACLE Y SQL … Y HAY QUE CUMPLIR CON CIERTAS ESPECIFICACIONES.. EMM COMO EL DOCUMENTO ESCRITO Y OTRAS COSAS


Descargar ppt "Sistemas Distribuidos Replicación. Replicación(1/3) Es el mantenimiento de copias on- line de datos en una base de datos o de otros tipos de recursos,"

Presentaciones similares


Anuncios Google