1 / 45

Consistencia y Replicación

Consistencia y Replicación. Martínez González Gerardo Cruz Casas Hernando Tapia Contreras José Antonio. Confiabilidad Continuidad de trabajo ante fallas Mayor cantidad de copias  mejor protección contra corrupción de datos Rendimiento Escalabilidad en número

Download Presentation

Consistencia y Replicación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Consistencia y Replicación Martínez González Gerardo Cruz Casas Hernando Tapia Contreras José Antonio

  2. Confiabilidad • Continuidad de trabajo ante fallas • Mayor cantidad de copias  mejor protección contra corrupción de datos • Rendimiento • Escalabilidad en número • Escalabilidad en área geográfica (menor tiempo de acceso a copias cercanas) • Consulta simultánea de datos ¿Por qué replicar?

  3. + escala  - rendimiento • Por lo tanto se usa replicación (caching) para reducir el tiempo de acceso en alta escala. • Problemas: • Actualizar las réplicas consume ancho de banda • Mantener la consistencia en las copias es un problema de escalabilidad (¿?) • Sincronizar las réplicas ReplicaciónTécnica Escalabilidad

  4. Contrato entre los procesos y el almacenamiento de datos: • Si los procesos acuerdan obedecer ciertas reglas, el almacenamiento promete trabajar correctamente. • Normalmente una operación de lectura debiese retornar la última actualización del dato. • Los modelos pueden ser: • Centrados en los datos • Centrados en el cliente Modelos de Consistencia.

  5. Organización general de un almacenamientológico de datos, físicamentedistribuidos y replicados a través de múltiplesprocesos. Modelos de Consistenciacentrados en los datos.

  6. El másrestrictivo de todos. • Cualquierlecturasobre un ítem de dato x retorna un valor correspondiente con la másrecienteescriturasobre x (en términos de un hipotéticoreloj de tiempo global) ConsistenciaEstricta.

  7. La consistenciasecuencialsatisface: El resultado de unaejecuciónes el mismositodaslasoperaciones (lectura y escritura) de todos los procesossobre el datofueranejecutadas en algúnordensecuencial y lasoperaciones de cadaproceso individual aparecen en estasecuencia en el ordenespecificadoporsuprograma. ConsistenciaSecuencial.

  8. Se tienentresprocesosque se ejecutanconcurrentemente, todosellosinicializaronsus variables en 0.

  9. Cuatrosecuenciasválidas, el eje vertical es el tiempo. Signature = concatenación de la salida en orden P1 P2 P3 Notarque la linealidad (orden en un mismo color) se mantiene.

  10. a) Almacén de datos secuencialmente consistente ConsistenciaSecuencial.

  11. Debilitamiento de la consistenciasecuencial • Se diferencianeventosqueestánpotencialmenterelacionados en forma causal y otrosque no, los no relacionados se dicenconcurrentes. Consistencia Causal.

  12. Todaslasescriturasqueestánparcialmenterelacionadas en forma causal son vistas portodos los procesosen el mismoorden. Las concurrentespueden ser vistas en distintoordensobrediferentesmáquinas. Consistencia Causal.

  13. Posible dependencia Si son dependientes, todos deben ver las escrituras en el mismo orden.

  14. MODELOS DE CONSISTENCIA CENTRADA EN EL CLIENTE • Este tipo de modelos trata una clase especial de almacenamiento • de datos distribuidos. • Los almacenamiento de datos referidos están caracterizados • por una falta de actualizaciones simultáneas, o cuando • dichas actualizaciones ocurren, pueden ser fácilmente • resueltas. • La mayoría de las operaciones son de lectura. • La introducción de modelos de consistencia centrados en el • cliente permiten esconder muchas inconsistencias de • manera relativamente fácil.

  15. En esencia la consistencia centrada en el cliente provee garantías para un único cliente concerniente a la consistencia de accesos a los datos de ese cliente. MODELOS DE CONSISTENCIA CENTRADA EN EL CLIENTE

  16. Sistema de bases de datos, difícilmente realizan actualización, en su mayoría leen los datos • DNS, está dividido en dominios, cada dominio es asignado a una autoridad de asignación, que actúa como propietario del dominio, y sólo se le permite actualizar a esta autoridad, no se necesita manejar conflictos escritura-escritura, solamente lectura-escritura, se tolera una actualización lenta • WorldWide Web, las páginas web son actualizadas por una sola autoridad. Inconsistencia en la caché. • Se tolera cierto grado de inconsistencia. • Todas las réplicas convergen en copias idénticas Consistencia momentánea

  17. Solo requiere la garantía de que todas las actualizaciones se propaguen a todas las réplicas. • La implementación es barata • Existen problemas cuando en tiempo corto se accede a réplicas diferentes Consistencia momentánea

  18. Consistencia momentánea

  19. Sea xi[t] la versión del elemento de dato x en la copia local Li al tiempo t. • La versión xi[t] es es el resultado de una serie de operaciones de escritura sobre Li desde la inicialización, denotada WS(xi[t]). • Si WS(xi[t1]) fue además realizada sobre lo copia local Lj al tiempo posterior t2 entonces la serie se escribirá WS(xi[t1];xj[t2]). • Si el orden de las operaciones o el tiempo son claros por el contexto, el índice del tiempo se omite. Notación:

  20. Se dice que un dato ofrece consistencia de lecturas monotónicas si y sólo si la siguiente condición se cumple: • Si un proceso lee el valor de un ítem de dato x, cualquier operación de lectura sucesiva sobre x por el mismo proceso siempre retornará el mismo valor o un valor más reciente. Lectura monotónicas

  21. Garantiza que si un proceso ha visto un valor de x al tiempo t, nunca verá una version más vieja de x en un tiempo posterior. • Ejemplo; base de datos correo electrónico Lectura monotónicas

  22. Las escrituras deben ser propagadas en el orden correcto a todas las copias del almacenamiento de datos. • Se debe cumplir que: • Una operación de escritura por un proceso sobre un elemento de datos x es completada antes que cualquier otra operación sucesiva de escritura sobre x por el mismo proceso. Escrituras monotónicas

  23. Es decir, una operación de escritura sobre una copia del elemento x se realiza sólo si esa copia se ha actualizado mediante cualquier operación de escritura previa. • Si es necesario, la nueva escritura debe esperar a que terminen otras escrituras anteriores. Escrituras monotónicas

  24. Ejemplo: biblioteca de software; al actualizar, se actualizará de version. Escrituras monotónicas

  25. A veces es más importante garantizar que si yo escribo un dato, yo siempre vea el valor actualizado no importa de donde haga la siguiente lectura, por lo tanto, un almacén de datos provee consistencia lea sus escrituras si se cumple que: • El efecto de una operación de escritura por un proceso sobre un elemento de datos x será siempre visto por las sucesivas operaciones de lectura sobre x por el mismo proceso. Lea sus Escrituras

  26. Una operación de escritura siempre se completa antes de una operación de lectura sucesiva del mismo proceso, independiente del lugar. • Ejemplo, Cache de un documento. Si el editor y el navegador se integran en un solo programa el caché se invalida cuando la página es actualizada Lea sus Escrituras

  27. Lea sus Escrituras

  28. La idea de este esquema de consistencia es garantizar que si alguien va a modificar el valor de un dato, antes haya leído la última actualización de éste. • Un almacén de datos provee consistencia de escrituras siguen lecturas si se cumple que: • Una operación de escritura de un proceso sobre un elemento de datos x realizada luego de leer ese dato x, se realizó garantizadamente sobre el valor más reciente de x. Las escrituras siguen a las lecturas

  29. Cualquier operación sucesiva de un proceso sobre un elemento de datos x se realizará sobre una copia de x actualizada con el valor más reciente leído por el proceso. • Ejemplo; una red de un grupo de noticias, garantiza que los usuarios vean el anuncio de una respuesta a un artículo, después de haber visto el artíiculo original. Las escrituras siguen a las lecturas

  30. Las escrituras siguen a las lecturas

  31. Un punto clave para un sistema distribuido que soporta replicación es decidir donde, cuando y por quien ubicar las réplicas. • Se divide en 2: • Ubicación de servidores de réplicas (encontrar los mejores lugares para colocar un servidor) • Ubicación del contenido (encontrar los mejores servidores para colocar el contenido) Administración de las Replicas

  32. No es un problema muy estudiado • Qiu y colaboradores toman en cuenta la distancia entre clientes y un punto de partida • La distancia puede medirse por la latencia o el ancho de banda • Seleccionan a un servidor cuyo distancia promedio entre el servidor y sus clientes sea minimo Ubicación del servidor de réplicas

  33. Radoslavov y colaboradores no toman en cuenta la posición de los clientes, solo toman en cuenta la topología y al que tenga el mayor número de interfaces de red. • Metodos con alto costo de procesamiento • Szymaniak y colaboradores toman en cuenta regiones con más demanda y uno de sus nodos es la réplica Ubicación del servidor de réplicas

  34. Ubicación y replicación del contenido

  35. Es el primer conjunto de réplicas. • Comúnmente son un número pequeño de réplicas. • Ejemplos: • Página web. Múltiples copias cercanas y los requerimientos son dirigidos a cada una a la vez mediante algún esquema (por ejemplo round-robin). • Múltiples copias lejanas a las cuales se elige entrar (mirror). Replicas permanentes

  36. Copias del almacén de datos para mejorar la performance. Réplicas creadas y actualizadas bajo la iniciativa del dueño del almacén de datos (servidor) Problema principal: ¿Dónde poner las réplicas? (cerca/lejos) ¿Cuándo actualizarlas? Replicas iniciadas por servidores

  37. Replicas iniciadas por servidores

  38. Cada servidor cuenta el número de accesos. • Cada cliente accede al servidor más cercano. • Si C1 y C2 comparten el servidor más cercano (P), y éste no tiene réplica, se toma como si P fuese quien realiza la consulta. Replicas iniciadas por servidores

  39. Más conocidas como caché de cliente. • Copia temporal de datos para el uso del cliente. • Mejora el tiempo de acceso a datos. • Útil si la mayoría de las operaciones son de lectura. • Caché puede ser compartido entre un grupo de clientes cercanos • Tiempo limitado • Uso de servidores caché • Se está volviendo más efectivo la replicación iniciada por el servidor debido a las mejoras en la red y al desempeño de los servidores. Replicas iniciadas por el cliente

  40. Distribución de Contenido

  41. Propagar notificaciones. • Usan protocolos de invalidación. • Indica que parte del almacén de datos es invalido. • Se necesita actualizar el almacén de datos. • Transferir datos entre copias • La relación de escritura-lectura es grande. • Se propagan los datos modificados y se registran cambios. • Varias modificaciones en un solo mensaje. • Propagar la operación a todas las copias • Se indica a cada replica la operación de actualización a realizar. • Se llama también: Replicación activa. • Similar al proceso efectuado en un Raid 1. Estado vs. Operaciones

  42. Push • Protocolo basado en servidor. • Las actualizaciones se propagan a otras replicas sin que estas las soliciten. • Actualizan los cachés de los clientes. • Hay datos consistentes al momento de solicitarlos. • Pull • Protocolo basado en el cliente. • El cliente solicita a otro servidor que le envíe cualquier actualización que tenga al momento. • Estrategia aplicada en los cachés Web. Protocolos Push y Pull.

  43. Difusión simple. • Se envía la actualización a N servidores. • Se envían N mensajes de actualización. • Multidifusion. • La red subyacente se encarga de enviar un mensaje a varios destinatarios. • Suele ser eficiente combinada con una red pequeña y utilizando el método push. Difusión simple vs. Multidifusion.

  44. Escritura remota. • La primaria realiza la actualización en su copia local. • Posteriormente se remite la actualización a los servidores de respaldo. • Se envía un acuse a quien inicio el proceso de actualización. • Escritura local. • Se pueden realizar varios procesos de escritura local. • Se envían las actualizaciones a los servidores de respaldo una vez terminados los procesos. • Se aplica a computadoras móviles capaces de operar desconectadas, al terminar todo se vuelve al servidor primario. Protocolos de escritura

  45. Replicación activa. • Cada replica con un proceso asociado que realiza operaciones de actualización. • Las operaciones deben realizarse en el mismo orden en cualquier parte. • Debe existir un cronometro llamado secuenciador. • Protocolo basado en quórum. • Se utiliza votación. • Requiere que los clientes adquieran permiso de varios servidores para leer o escribir elementos de datos replicados. Protocolos de escritura replicados.

More Related