2.3 Concurrencia

Concurrencia

Cuando son ejecutadas transacciones concurrentes de manera descontrolada pueden producir estados inconsistentes de la Base de Datos. Pueden ocurrir algunos de estos casos típicos mencionados a continuación.

-Problema de la modificación perdida: Cuando dos transacciones que acceden a los mismos ítems tienen sus operaciones intercaladas de tal forma que ponen el valor de algún ítem incorrectamente.

-Problema de la modificación temporal: Cuando una transacción modifica un ítem y a continuación la transacción falla. El ítem modificado es accedido por otra transacción antes de que el cambio sea desecho y el ítem vuelva a su valor original.

-Problema de la totalización incorrecta: Si una transacción está calculando una función de totalización agregada sobre varios registros mientras otra transacción está modificando algunos de estos registros. La función agregada puede calcular algunos valores antes de que sean modificados y otros después.

-Problema de la lectura no repetible: Ocurre cuando una transacción T1 lee un ítem de datos 2 veces y otra transacción T2 modifica dicho ítem entre las dos lecturas. Por tanto, T1 recibe 2 valores diferentes del mismo ítem en sus lecturas.