Concurrencia y transacciones - script
From Ibbddunq
Contents |
Intro a problemática de concurrencia
Operaciones que se ejecutan en forma concurrente
Ejemplo: un tablero con llaves maestras, cada una abre varias cerraduras. Yo tengo que abrir varias cerraduras, ¿qué pasa si por las dudas me llevo todo el tablero? ¿Qué pasa si otra persona tiene que abrir una cerradura para la que sirve solamente una llave que me llevé yo?
Schedule
Schedule, schedules "buenos" y "malos". En el caso de las llaves es fácil, hay solamente dos acciones posibles. Armar un schedule bueno y uno malo. Operaciones de BD hay varias.
Recurso y deadlock
Concepto de recurso, necesidad de garantizar el acceso exclusivo a un recurso y de liberarlo luego, colas de espera. En nuestro caso está claro, los recursos son las llaves.
Si una persona necesita varios recursos, debe esperar que le lleguen todos. De acá llegar al concepto de deadlock.
Carga
Es la medida de concurrencia de cualquier situación concurrente. P.ej. cuanto más carga, más posibilidad de espera, y a menos que lo manejemos hábilmente, mayor probabilidad de deadlock.