A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Problema de Inconsistência em Transações

Apresentações semelhantes


Apresentação em tema: "Problema de Inconsistência em Transações"— Transcrição da apresentação:

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


Carregar ppt "Problema de Inconsistência em Transações"

Apresentações semelhantes


Anúncios Google