Está en la página 1de 3

BASES DE DATOS I PRÁCTICO 6

UNCPBA – Fac. Ciencias Exactas Curso 2008

PRÁCTICO 6: Recuperación y Control de Concurrencia

1) Considere que el proceso de recuperación de bases de datos utiliza puntos de verificación


(checkpoints). Indique cuáles de las siguientes transacciones deben deshacerse (UNDO) y cuáles volver a
ejecutarse (REDO) ante una falla del sistema.

2) Considere el siguiente registro del log de transacciones:


<T1, START>
<T1, A, 10, 15> //Update A con 15.
<T1, B, 20, 15> //Update B con 15.
<T2, START>
<T2, C, 11, 12> // Update C con 12.
<T1>,D, 17, 18> //Update D con 18.
<T2, COMMIT>
<CHECKPOINT>
<T1, COMMIT>
<T3, START>
<T3, A, 15, 12> //Update A con 12.
<T3, B, 15, 12> //Update B con 12.
<T4, START>
<T4, C, 12, 22> // Update C con 22.
<T4, COMMIT>
Falla del sistema
a) Genere un gráfico temporal de ejecución de las transacciones, con referencia al tiempo de
checkpoint y al momento de la falla
b) Explique qué acción se realiza con cada una de las transacciones involucradas al iniciarse la
recuperación de la falla, según las diferentes estrategias de actualización diferida e inmediata.

3) A partir del siguiente esquema de ejecución:


T3: read(Z); T3: read(W); T2: read(X); T3: Z=Z+W; T3: write(Z); T3: commit; T2: read(Z);
T1: read(X); T2: Z= Z*X; T2: aborta; T1: X=X+10; T1: write(X); FALLA
a) muestre la secuencia de valores que toman los ítems si originalmente X=30, W=20 y Z=50.
b) indique la secuencia de registros que se graban en el LOG
c) aplique el proceso de recuperación, utilizando la estrategia UNDO/REDO

Pagina 1 de 3
BASES DE DATOS I PRÁCTICO 6
UNCPBA – Fac. Ciencias Exactas Curso 2008

4) Considere el siguiente LOG de transacciones y suponga una estrategia de recuperación UNDO/REDO


con checkpoints. Las entradas en el LOG pueden ser: <IdTrans, m, ItemDato, NuevoValor, ViejoValor> ó
<IdTrans, a, ItemDato, NuevoValor, – > ó <IdTrans, b, ItemDato, – , ViejoValor>, además de los
registros de inicio, checkpoint, commit o rollback.
Qué acciones deben efectuarse sobre cada una de las transacciones durante la recuperación y cuál es el
valor o posibles valores de los ítems B, C, D, E, F, G, X y Z en la Base de Datos después de recuperar, si
se produce una falla justo antes de la línea L? a) L= 10, b) L=15, c) L= 23
1. <INICIO T1> 13. <T2, M, D, 40, 30>
2. <T1, M, X, 50, 10> 14. <T2, M, C, 70, 20>
3. <T1, A, Z, 123, -> 15. <CHECKPOINT>
4. <INICIO T2> 16. <INICIO T4>
5. <T1, M, B, 130, 10> 17. <COMMIT T2>
6. <T1, M, X, 70, 50> 18. <T4, M, F, 100, 10>
7. <T2, M, C, 20, 10> 19. <T3, B, D, - , 40>
8. <CHECKPOINT> 20. <T4, M, G, 110, 10>
9. <T2, M, D, 30, 10> 21. <COMMIT T3>
10. <COMMIT T1> 22. <T4, M, F, 150, 100>
11. <INICIO T3> 23. <T4, M, F, 140, 150>
12. <T3, M, E, 60, 10> 24. <COMMIT T4>

5) Considere las siguientes transacciones:


TA: hace una transferencia de $1500 de una cuenta1 a una cuenta2,
TB: calcula el promedio de los saldos de todas las cuentas,
TC: efectúa un depósito de $500 a la cuenta1
a) Si se utiliza un DBMS sin control de concurrencia de transacciones en un sistema operativo
multitarea, plantee situaciones en las que se produzcan los siguientes problemas:
a.1) actualización perdida
a.2) dependencia no confirmada
a.3) análisis inconsistente
b) Genere un schedule serializable con locks para cada uno de los ejemplos planteados en a). Verifique
si se logran solucionar los problemas planteados.

6) Genere un grafo de “espera-por” para el siguiente escenario de transacciones y determine si hay


posibilidad de deadlock
transacción Ti ítems bloqueados por Ti ítems por los que Ti espera
T1 X2 X1, X3
T2 X3, X7 X8
T3 X8 X4, X5
T4 X7, X4 X1
T5 X1, X5 X3

7) Considere el siguiente esquema de ejecución concurrente de 3 transacciones T1, T2 y T3.


a) Muestre el grafo de precedencia correspondiente, indicando qué operaciones originan cada arco.
b) Determine si es un esquema serializable y, en caso de serlo, encuentre un orden serial equivalente.
c) Teniendo en cuenta las operaciones elementales de las 3 transacciones, plantee un plan de
ejecución de las mismas que respete el protocolo de dos fases.

Pagina 2 de 3
BASES DE DATOS I PRÁCTICO 6
UNCPBA – Fac. Ciencias Exactas Curso 2008

T1 T2 T3
wlock A
rlock B
unlock A
rlock A
rlock A
wlock B
unlock B
wlock C
unlock A
unlock C
wlock A
unlock A

8) Las transacciones A, B y C se ejecutan concurrentemente en el orden indicado, siendo T(A) < T(B) <
T(C) (donde T= tiempo de inicio de la transacción). Aplique un control de concurrencia por estampado de
tiempos, detallando los valores de los ítems de datos en cada paso y las condiciones aplicadas (suponga
que inicialmente X=100, Y=150). Analice cada caso:
A:read(X), A:X=X+10, B:read(Y), C:read(X), C:read(Y), C:Y=Y+20,C:write(Y),B:Z=300,B:write(Z),A: write(X)

9) Analice el plan de ejecución concurrente de transacciones T1, T2 y T3 que se presenta. Considerando


que A= 100 y B= 200 antes del inicio de las transacciones, indique cuál serán sus valores finales en la
base (suponga actualización inmediata)

T1 T2 T3
Read A
A= A*1.1
Read B
Read A
Read B
B= B-100
Write A
B= B+A
rollback
Read A
Write B
A= A+20
Write B
Write A
commit
commit

Pagina 3 de 3

También podría gustarte