Documente Academic
Documente Profesional
Documente Cultură
Replicacin:
- Los datos se replican para aumentar la disponibilidad o el rendimiento.
- Un aspecto fundamental es la consistencia entre las rplicas: cuando se actualiza una
copia, se deben actualizar tambin las dems.
- La replicacin est muy relacionada con la escalabilidad.
Si la replicacin ayuda a mejorar la confiabilidad y el rendimiento, quin estara en su
contra?
Por desgracia, hay un precio a pagar cuando se replican datos. El problema con la
replicacin es que tener muchas copias puede provocar problemas de consistencia.
Siempre que se modifica una copia, sta se vuelve diferente al resto de copias. Por tanto,
para garantizar la consistencia, las modificaciones deben realizarse en todas las copias. El
precio de la replicacin lo determinan exactamente el cundo y el cmo deben realizarse
dichas modificaciones.
Razones para la Replicacin
Existen dos razones principales para replicar datos: la confiabilidad y el rendimiento
MODELOS DE CONSISTENCIA
En un sistema distribuido hay una serie de posibles modelos de consistencia de datos. Un
sistema soporta cierto modelo, si las operaciones en memoria siguen normas especficas.
La consistencia de los datos es definida entre el programador y el sistema, que garantiza
que si el programador sigue las reglas, la memoria ser consistente, y el resultado de las
operaciones
de
memoria ser
predecible.
MODELO DE
CONSISTENCIA CONTINUA
Yu y Vahdat (2002) consideran un mtodo general para diferenciar tres ejes
independientes para definir inconsistencias: desviacin en valores numricos entre
rplicas, desviacin en el deterioro entre rplicas,
Medir la inconsistencia en trminos de desviaciones numricas puede utilizarse en
aplicaciones para las que los datos tienen semnticas numricas
Como alternativa, podra especificarse una desviacin numrica relativa, lo cual establece
que dos copias deben diferir no ms de, por ejemplo, 0.5%. En ambos casos, veramos
que si una accin va hacia arriba (y una de las rplicas se actualiza inmediatamente) sin
violar las desviaciones numricas especificadas, las rplicas an seran consideradas
como mutuamente consistentes.
La desviacin numrica tambin puede comprenderse en trminos del nmero de
actualizaciones que se han aplicado a una rplica dada, pero que an no han sido vistas
por otras rplicas. Por ejemplo, un cach web puede no haber visto un lote de operaciones
realizadas por un servidor web.
Las desviaciones viejas se relacionan con la ltima vez que se actualiz una rplica. Para
algunas aplicaciones, es tolerable que una rplica proporcione datos viejos siempre y
cuando no sean demasiado viejos. Por ejemplo, los informes sobre el clima permanecen a
menudo razonablemente precisos durante cierto tiempo, digamos algunas horas. En tales
casos, un servidor principal puede recibir actualizaciones oportunas, pero decidir propagar
las actualizaciones a las rplicas de vez en cuando..
CONSISTENCIA SECUENCIAL
La consistencia secuencial es una forma ligeramente ms dbil de la consistencia estricta.
Satisface la siguiente condicin:
CONSISTENCIA CAUSAL
Es un debilitamiento de la consistencia secuencial. Se hace una diferenciacin entre
eventos que estn potencialmente relacionados en forma casual y aquellos que no.
La condicin a cumplir para que unos datos sean casualmente consistentes es:
Escrituras que estn potencialmente relacionados en forma casual deben ser vistas por
todos los procesos en el mismo orden. Escrituras concurrentes pueden ser vistas en un
orden diferente sobre diferentes mquinas.
Esta secuencia es permitida con un almacenamiento casualmente consistente o con un
almacenamiento consistente en forma estricta.
El modelo de consistencia causal (Hutto and Ahamad, 1990) es un debilitamiento de la
consistencia secuencial. Se hace una diferenciacin entre eventos que estn
potencialmente relacionados en forma causal y aquellos que no. Las operaciones que no
estn causalmente relacionadas se dicen concurrentes.