¿Qué es el control de concurrencia distribuido?
El control de concurrencia distribuido es una estrategia que distribuye la responsabilidad del control de concurrencia en toda una red. La concurrencia se refiere a que todas las computadoras funcionen con la misma versión de los mismos archivos. Una vez que las computadoras están conectadas en red, las preocupaciones de concurrencia (problemas para mantener todos los archivos en la red idénticos para todos los usuarios) pasan a primer plano, ya que varios usuarios pueden tener acceso simultáneo a cualquier archivo y carpeta autorizados en el sistema. Sin forzar la concurrencia, estos archivos podrían volverse inconsistentes fácilmente de una computadora a otra a medida que los usuarios cambian y manipulan datos en tiempo real, lo que resulta en que todos pierdan rápidamente la capacidad de confiar en los archivos de red a medida que ocurren los cambios. El control de concurrencia mantiene los archivos consistentes en toda la red, evitando esta preocupación.
La principal ventaja del control de concurrencia distribuida es que distribuye la carga de trabajo para problemas de concurrencia en varias computadoras, reduciendo la sobrecarga en cada una. Sin un control de concurrencia distribuido, mantener la concurrencia en una red podría convertirse fácilmente en un trabajo de tiempo completo para una sola computadora, dejándolo inútil para cualquier otra cosa. Con el control de concurrencia distribuido, cada computadora en la red puede ayudar a compartir la carga de trabajo, asegurando que los usuarios finales aún puedan usar los terminales para otras tareas de la red.
El bloqueo estricto de dos fases es uno de los tipos más comunes de control de concurrencia distribuida. En el bloqueo estricto de dos fases, tan pronto como se accede a un archivo de red individual, se bloquea para las operaciones de lectura y escritura hasta que finaliza el acceso. Esto significa que solo un usuario en la red puede cambiar un archivo a la vez, lo que hace que sea imposible que el archivo no coincida en la red. Una vez que el usuario final guarda los cambios en el archivo o sale del archivo por completo, se eliminan los bloqueos, lo que permite que otro usuario en el sistema maneje el archivo nuevamente.
Una de las mayores desventajas del bloqueo estricto de dos fases es la sobrecarga adicional que coloca en los recursos de la red. Cada archivo debajo de cada usuario debe estar asignado por la red como "bloqueado", y esa información debe conservarse en la memoria hasta que finalice el bloqueo. En conjunto, con cientos de usuarios finales ejecutando cientos de archivos al mismo tiempo, esto puede fácilmente eliminar una porción significativa de memoria en la red. Esta excesiva canibalización de la memoria puede ralentizar las redes con diseños de hardware ineficientes u obsoletos.