sistemas distribuidos replicación. replicación(1/3) es el mantenimiento de copias on- line de...

35
Sistemas Distribuidos Replicación

Upload: aureliano-tobon

Post on 27-Jan-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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,

Sistemas Distribuidos Replicación

Page 2: 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,

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)

Page 3: 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,

• 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)

Page 4: 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,

• 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)

Page 5: 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,

Objetivos

• Aumentar la disponibilidad

• Mejorar los tiempos de respuesta (rendimiento)

• Incrementar la tolerancia a fallas

Page 6: 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,

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

Page 7: 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,

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

Page 8: 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,

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

Page 9: 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,

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

Page 10: 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,

Candidatos a replicación

• Datos (por ejemplo, una base de datos críticos)

• Servicios:• Comunicaciones• Servicio de nombres• Servicio de archivos

• Recursos en general

Page 11: 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,

• 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

Page 12: 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,

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

Page 13: 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,

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

Page 14: 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,

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

Page 15: 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,

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.

Page 16: 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,

Modelo Arquitectural de Replicación

cliente FE

AR

AR

AR

cliente FE

Servicioreplicado

Administradoresde réplica

Front Ends

Requerimientosy respuestas

Page 17: 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,

Componentes del modelo

• Clientes: procesos usuarios del servicio• Front-Ends: responsable de la

comunicación con uno o mas AR’s, 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

Page 18: 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,

Implementación I: Gossip

cliente FE

AR

AR

AR

cliente FE

clienteFE

Cada FE se comunica con uno o mas AR’s para satisfacer elrequerimiento del cliente. Los AR intercambian mensajes

(gossip), propagando los cambios registrados

mensajes

Page 19: 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,

Implementación II: Réplica primaria

cliente FE

AR

AR

AR

cliente FE

clienteFE

Primario

Secundarios

En rojo: escriturasEn verde: lecturas

Cada FE se comunica con el AR designado primario cuando laoperación requerida es un update. El AR primario propaga los

cambios al resto de los AR’s.

Page 20: 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,

Conceptos de replicación SQL Server

Page 21: 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,

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.

Page 22: 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,

• 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)

Page 23: 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,

• 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)

Page 24: 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,

Tipos de replicación

Los tipos básicos de replicación son:

• Replicación de instantáneas• Replicación transaccional• Replicación de mezcla

Page 25: 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,

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.

Page 26: 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,

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)

Page 27: 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,

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.

Page 28: 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,

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)

Page 29: 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,

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.

Page 30: 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,

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)

Page 31: 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,

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

Page 32: 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,

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)

Page 33: 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,

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)

Page 34: 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,

Fases generales para implementar y supervisar la replicaciónA 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.

Page 35: 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,

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