Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Problema de Inconsistência em Transações
Recuperação Inconsistente
2
O Problema das Recuperações Inconsistentes
Um outro exemplo de problema relacionado a uma conta bancária. A transação V transfere a soma das contas a e b e a transação W invoca o método agencyTotal para obter a soma dos saldos de todas as contas numa agência do banco.
3
O Problema das Recuperações Inconsistentes
Transaction : : V Transaction : W a.withdraw(100) aAgency.agencyTotal() b.deposit(100) a.withdraw(100); $100 total = a.getBalance() $100 total = total+b.getBalance() $300 total = total+c.getBalance() b.deposit(100) $300 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2005
4
O Problema das Recuperações Inconsistentes
Os saldos (balance) das duas contas a e b são ambos inicialmente $200,00. O resultado de agencyTotal inclui a soma de a e b como $300,00, o que é errado !!! Isto ilustra o problema de Inconsistent Retrivals.
5
O Problema das Recuperações Inconsistentes
Retrivals (recuperações) de W são inconsistentes porque a transação V realizou somente a parte de saque (withdrawal) de uma transferência no tempo em que a soma é calculada.
6
Uma interlação serialmente equivalente de V e W
Transaction V : a.withdraw(100); b.deposit(100) W aBranch.branchTotal() $100 $300 total = a.getBalance() total = total+b.getBalance() $400 total = total+c.getBalance() ... Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2005
7
Uma interlação serialmente equivalente de V e W
Considere agora, o efeito de da equivalência serial em relação ao problema “inconsistent retrivals”, no qual a transação V está transferindo a soma da conta a para a conta b, e a transação W está obtendo a soma de todos os saldos.
8
Uma interlação serialmente equivalente de V e W
O “inconsistent retrivals problem” pode ocorrer quando uma transação de recuperação executa concorrentemente com outra transação de “update”.
9
Uma interlação serialmente equivalente de V e W
O problema “inconsistent retrivals” não ocorre se uma transação de “retrieval” (recuperação) é executada antes ou após a transação de “update” (atualização) ocorrer.
10
Uma intercalação equivalente serialmente de V e W
Uma intercalação de equivalência serial de uma transação W de recuperação (“retrieval”) e uma transação V de atualização (“update”), impede de ocorrer recuperações inconsistentes.
11
Uma intercalação equivalente serialmente de V e W
Transaction V : a.withdraw(100); b.deposit(100) W aBranch.branchTotal() $100 $300 total = a.getBalance() total = total+b.getBalance() $400 total = total+c.getBalance() ... Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2005
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.