Concurrencia y transacciones - script

From Ibbddunq

Revision as of 15:47, 28 August 2009 by Carlos (Talk | contribs)

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.


Concepto de transacción

Anomalías de concurrencia en el manejo con BDs

Personal tools