sábado, 23 de septiembre de 2017

CONSISTENCIA Y REPLICACIÓN


INTRODUCCIÓN

Resultado de imagen para imagenes consistencia y replicacion

Para comenzar es importante mencionar que en informática, en un sistema distribuido, tales como una memoria compartida distribuida o almacenes de datos distribuido, tales como una base de datos, sistema de archivos, caché web o sistemas de replicación optimista, hay una serie de posibles modelos de consistencia de datos. Se dice que un sistema soporta un determinado modelo, si las operaciones en memoria siguen normas específicas. 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.



Los lenguajes de alto nivel, tales como C, C++ y Java, respetan parcialmente este modelo traduciendo operaciones de memoria en operaciones de bajo nivel para preservar la memoria semántica. Para mantener el modelo, los compiladores pueden reordenar algunas instrucciones de memoria, y las llamadas a las bibliotecas como pthread_mutex_lock(), encapsular la sincronización necesaria.


La replicación es el proceso de copiar y mantener actualizados los datos en varios nodos de bases de datos ya sean estos persistentes o no. Éste usa un concepto donde existe un nodo amo o maestro (master) y otros sirvientes o esclavos (slaves).
La replicación está codificada en un lenguaje de Décima Generación llamado ERCS001, que fue diseñado a mediados de los años 20 por el Matemático-Filósofo Khronwhell Strnhwell C.S., codificado en un entorno visual. Sirve además, entre otras cosas, para medir la cantidad de texto que se introduce en los datos.
La replicación de discos y particiones es la respuesta a una parte importante de esas dos acciones de mantenimiento. La replicación es el proceso mediante el cual se genera una copia exacta de parte del sistema. Esa parte puede ser desde un archivo hasta una carpeta, una partición, un disco o incluso varios discos.

MODELO DE CONSISTENCIA


Un modelo de consistencia especifica las garantías de consistencia que un sistema de memoria compartida distribuida realiza sobre los valores que los procesos leen desde los objetos, dado que acceden sobre una réplica de cada objeto y que pueda manipular múltiples procesos ya que pueden actualizar los objetos.

Es normalmente un conjunto de procesos  que siguen una secuencia  sistema de memoria  compartida que su contenido se almacena en computadoras separadas.
Y cada proceso tiene un gestor de replica local, el cual esta encargado de mantener copias en cache para los objetivos.

Los datos se leen desde las replicas locales por cuestiones de rapidez para que así las actualizaciones deben extenderse al resto de los gestores de réplica.
Y también además de la gestión de cache una complementación de memoria compartida distribuida puede almacenar las actualizaciones y reducir los costes de comunicación mediante la extensión de múltiples actualizaciones a la vez.

MODELO DE CONSISTENCIA CENTRADA EN LOS DATOS

ESTRICTA:
El modelo de consistencia más restrictivo es llamado consistencia estricta y es definido por la siguiente condición cualquier lectura sobre un ítem de dato X retorna un valor correspondiente con la más reciente escritura sobre X. Este modelo asume la existencia de un reloj físico global.

SECUENCIAL:
La consistencia secuencial es una forma ligeramente más débil de la consistencia estricta. Satisface la siguiente condición:
  • El resultado de una ejecución es el mismo si las operaciones de todos los procesos sobre el dato fueron ejecutadas en algún orden secuencial y las operaciones de cada proceso individual aparecen en esta operaciones de cada proceso individual aparecen en esta secuencia en el orden especificado por su programa.

  
CASUAL:


El modelo de consistencia causal es un debilitamiento de la consistencia secuencial. Se hace una diferenciación entre eventos que están potencialmente relacionados en forma causal y aquellos que no. Las operaciones que no están casualmente relacionadas se dicen concurrentes.

La condición a cumplir para que unos datos sean casualmente consistentes es:
  • Escrituras que están potencialmente relacionadas en forma causal deben ser vistas por todos los procesos en el mismo orden. Escrituras concurrentes pueden ser vistas en un orden diferente sobre diferentes máquinas.
  • Esta secuencia es permitida con un almacenamiento casualmente consistente, pero no con un almacenamiento secuencial mente consistente o con un almacenamiento consistente en forma estricta. Esta secuencia es permitida con un almacenamiento casualmente consistente o con un almacenamiento consistente en forma estricta.



CONSISTENCIA Y REPLICACIÓN

INTRODUCCIÓN Para comenzar es importante mencionar que en informática, en un sistema distribuido, tales como una memoria comparti...