Control De Concurrrencia Base De Datos
Enviado por gpuerto • 1 de Julio de 2013 • 478 Palabras (2 Páginas) • 516 Visitas
Control de concurrencia
El control de concurrencia es el proceso que se utiliza para identificar y resolver actualizaciones de datos realizadas por múltiples usuarios simultáneamente.
Estrategias de control de concurrencia de bloqueo
Bloqueo pesimista: Esta estrategia consiste en mantener el control de concurrencia de una entidad en una base de datos bloqueada durante todo el tiempo que existe en la memoria de la base de datos, lo que limita o impide a los usuarios modificar los datos de la entidad que está bloqueado. Hay dos tipos de bloqueos que caen bajo la categoría de bloqueo pesimista: bloqueo de escritura y bloqueo de lectura.
Con bloqueo de escritura, todo el mundo, pero el titular de la bloqueo se le impide la lectura, actualización o eliminación de la entidad. Con bloqueo de lectura, otros usuarios pueden leer de la entidad, pero nadie a excepción del titular del bloqueo puede actualizar o borrar.
Bloqueo optimista: Esta estrategia se puede utilizar cuando los casos de transacciones simultáneas, o colisiones, se espera que sean poco frecuentes. En contraste con el bloqueo pesimista, el bloqueo optimista no trata de evitar las colisiones que se produzcan. Por el contrario, tiene por objeto detectar las colisiones y resolverlos en las ocasiones casuales cuando se producen.
Características de los bloqueos
Bloqueo pesimista ofrece una garantía de que los cambios de base de datos se realizan de forma segura. Sin embargo, se vuelve menos viable como el número de usuarios simultáneos o el número de entidades que participan en un aumento de transacción debido a la posibilidad de tener que esperar a un bloqueo para soltar aumentará.
Bloqueo optimista puede aliviar el problema de la espera para los bloqueos para liberar, pero luego los usuarios tienen la posibilidad de experimentar las colisiones al intentar actualizar la base de datos.
Problemas Bloqueo :
Punto Muerto:
Cuando se trata con dos bloqueos pueden surgir problemas, el primero de los cuales puede ser interbloqueo . Interbloqueo se refiere a una situación particular, cuando dos o más procesos son cada espera de otro para liberar un recurso, o más de dos procesos se espera de recursos en una cadena circular. Punto Muerto es un problema común en multiprocesamiento, donde muchos procesos comparten un tipo específico de recursos mutuamente excluyentes.
Bloqueo activo:
Bloqueo activo es un caso especial de agotamiento de recursos. Un bloqueo activo es similar a un punto muerto, salvo que los estados de los procesos que cambian constantemente con respecto a la otro que no progresa. La definición general sólo dice que es un proceso específico no está progresando. Por ejemplo, el sistema mantiene la selección de la misma transacción para reversión causando que la transacción nunca termine de ejecutarse.
Estampado de tiempo
...