No contexto de sistemas de gerenciamento de banco de dados ...
O problema de concorrência e propriedade ACID que foi violada são, respectivamente,
Comentários
Veja os comentários dos nossos alunos
O cenário descreve o seguinte fluxo:
- T1 lê Saldo = 100.
- T2 lê Saldo = 100 (antes de T1 atualizar).
- T1 calcula 100 + 50 = 150 e grava (COMMIT).
- T2 calcula 100 + 30 = 130 e grava (COMMIT).
Como a T2 baseou seu cálculo em um valor "antigo" (que já havia sido alterado por T1, mas T2 não "percebeu"), ela acabou sobrescrevendo a alteração feita por T1. O depósito de R$ 50,00 foi simplesmente "perdido".
O Problema (Atualização Perdida): Ocorre quando duas transações leem o mesmo dado e ambas tentam atualizá-lo com base no valor lido. A última transação a gravar "atropela" a anterior.
A Propriedade Violada (Isolamento): O I do ACID (Isolation) dita que a execução de uma transação não deve ser interferida por outras transações simultâneas. Se o isolamento fosse perfeito (ou estivesse ao nível Serializable), a T2 seria obrigada a esperar o fim de T1 ou teria que ler o saldo atualizado (150) antes de somar seus 30.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo