Escalonamento Concorrente
Last updated
Last updated
Nem todas as execuções concorrentes resultam num estado de integridade.
i.e. não produzem resultados iguais aos que obteríamos com um escalonamento serializado
O resultado final é um estado inconsistente
Se T1 e T2 fossem executadas em série o resultado final seria:
A = 45;
B = 100.
Em vez disso temos:
A = 50;
B = 100
Entidade responsável pela definição de escalonamentos concorrente de transações.
Um determinado escalonamento E define uma ordem de execução (intercalada) das operações de várias transações.
A ordem das operações dentro de cada transação é preservada.
Problemas de um escalonamento concorrente
atualização perdida (lost-update);
leitura suja (dirty-read);
Situações de conflito:
operações que pertencem a transações diferentes;
transações acedendo ao mesmo elemento;
pelo menos uma das operações é write.
Uma transação T1 grava um dado que entretanto já tinha sido lido e utilizado na transação T2...
T1 atualiza um elemento A e, posteriormente, outras transações leem A.
No entanto T1 falha e as suas operações são desfeitas...