DATABASE CONCORRENZA : 2 PHASE LOCKING

starsuper
Salve ragazzi ho un problema che non riesco a risolvere. Parliamo di basi di dati avanzate, scheduler delle transazioni. Non riesco a collegare teoria con pratica. Ho da analizzare questo scheduler e dire se è 2PL. Sotto la soluzione.

Quello che non capisco io è, sappiamo che la definizione di uno shceduler 2PL è che una transazione Ti dopo aver rilasciato il lock non può acquisirne altri su Ti. Ma questa definizione sola non mi basta per risolvere, o meglio non sembra che funzioni sugli esercizi.

http://imgur.com/a/m6evG

Arriviamo ad R3(Y) e dobbiamo chiedere XL3(y) perche devo chiudere u3(x) per lasciare la y a T2. Cioè quindi noi per fare in modo che alcune transazioni successive rientrino nel 2pl e non richiedano un lock dopo l'unlock le chiamiamo prima, all'interno della sezione critica?
Se queata cosa è possibile allra 2PL è rispettata altrimenti no?
Qualcuno puo spiegarmi un minimo almeno commentando la soluzione ? grazie mille come sempre e auguri!

Risposte
starsuper
Altro esempio, ancora piu buio del precedente. Si verifichi 2PL esclusivo.
S:R1(A)R2(A)R3(B)W1(A)R2(C)R2(B)W2(B)W1(C)

qui si dice che non è 2pl perche T1 dovrebbe richiedere un lock durante la sua fase di unlock. Ma non posso semplicemente dire che non è 2PL perche Devo aprire il lock su T1, chiuderlo, e riaprilo per w1, il che non è possibile?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.