Compartir a través de


Coherency de datos

Los datos que son coherentes son los datos que son los mismos en toda la red. Es decir, si los datos son coherentes, se sincronizan los datos en el servidor y todos los clientes. Un tipo de sistema de software que proporciona coherencia de datos es un sistema de control de revisiones (RCS). Este sistema suele ser bastante sencillo, con solo un usuario permitido modificar un archivo especificado a la vez. Otros pueden leer el archivo, pero no pueden cambiarlo.

Se dice que el usuario que puede cambiar un archivo lo ha desprotegido. A continuación, el usuario comprueba el archivo modificado para que otros puedan ver los cambios. Solo después de que el usuario haya comprobado un archivo de nuevo en puede desprotegerlo otro usuario.

Un RCS requiere la intervención activa de los usuarios para que funcionen de forma útil. Un sistema de archivos que funciona a través de una red debe controlar el problema automáticamente.

Proporcionar almacenamiento en caché local de datos coherentes es bastante sencillo cuando tiene un subproceso en un cliente que accede a un archivo a través de la red a la vez. Sin embargo, en la mayoría de las situaciones muchos subprocesos diferentes en uno o varios equipos pueden estar leyendo el mismo archivo. Esta situación sigue siendo bastante sencilla. Dado que los datos del archivo son estáticos, cada equipo cliente puede tener su propia copia local sin implicaciones para la coherencia de datos.

Una situación más común es que un subproceso modifique el archivo y muchos otros subprocesos lo lean. El momento en que se produce una operación de escritura, todas las memorias caché locales de ese archivo están obsoletas. El servidor debe notificar a cada cliente que abandone su caché. Todas las operaciones de lectura posteriores del archivo deben realizarse a través de la red.

En otra situación común, varios subprocesos en uno o varios clientes de red podrían intentar escribir en el mismo archivo. Esta situación es similar a una en la que varios usuarios rcS quieren realizar cambios en el mismo archivo. Cada usuario en secuencia debe desproteger el archivo, realizar cambios y, a continuación, volver a comprobar el archivo. Del mismo modo, en un esquema de almacenamiento en caché local, el servidor debe entregar el privilegio de escribir en un archivo en un subproceso de cliente a la vez.