Consistencia de datos

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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.

Los ejemplos incluyen:

  • Linealizable (también conocido como el estricta o consistencia atómica)
  • Consistencia secuencial
  • Consistencia de causalidad
  • Consistencia liberada
  • Consistencia eventual
  • Consistencia delta
  • Consistencia PRAM (también conocido como consistencia FIFO)
  • Consistencia débil
  • Consistencia vector campo