Академический Документы
Профессиональный Документы
Культура Документы
Definico Propriedades
8/8/2013
Vali Issufo
Agenda
O que so Transaes? Conceito ACID de Transaes Problemas de Concorrncia Tcnicas de controle concorrncia
Estratgias de Bloqueio (Locking)
Bloqueio Otimista e Pessimista Deadlocks
8/8/2013 Vali Issufo 2
Um banco transfere dinheiro entre duas contas (saque + deposito) Se qualquer uma das operaes falhar, a transferncia ser cancelada
8/8/2013 Vali Issufo 3
Leitura
Situao Inicial (Durvel)
Gravao
Gravao
Commit Situao Final Durvel e consistente
Rollback
Sintaxe geral:
8/8/2013
Vali Issufo
3. Registrar Saldo
4. Entregar Dinheiro
8/8/2013
Vali Issufo
8/8/2013
Vali Issufo
Imagine que:
Algumas operaes falham!
Ex.: Falhas de Software, comunicao, Banco de Dados ou Hardware
Proriedades ACID
ACID Significa:
Atomicidade
Atomicidade significa que
Transaes so executadas como uma UNIDADE; O SGDB garante que todas as transaes so executadas ou desfeitas.
Exemplos
Consistncia
Consistncia significa que:
A BD est consistente (ntegro) antes e depois da transao;
Apenas dados vlidos foram gravados;
Exemplo
Transao no pode encerrar com chave duplicada
8/8/2013 Vali Issufo 11
Isolamento
Isolamento significa que
Mltiplas transaes simultneas no afetam umas as outras; Transaes no enxergam dados no COMMITADOS. O Nvel de isolamento define o quanto uma transao enxerga alteraes das outras Read committed, read uncommitted, repeatable read, serializable, etc.
Exemplo
Gerentes podem ver transferncias entre contas (dbito ou crdito) mas no as 2 operaes.
8/8/2013 Vali Issufo 12
Durabilidade
Durabilidade significa que
Se uma transao confirmada (COMMIT) ela ser persistente ou seja no pode ser perdida nem desfeita; Garantida atravs de LOGS de TRANSAO e Backup Exemplo Aps concluda a transferncia, a energia falha: Ao retornar, os dados continuam ntegros e registrados conforme o momento imediatamente anterior falha
8/8/2013
Vali Issufo
13
Problemas de Concorrncia
Atualizao Perdida
Essa situao ocorre quando duas transaes que acesso o mesmo item de dado tm suas operaes intercaladas de mane ira a tornar o dado incorreto.
8/8/2013
Vali Issufo
14
Problemas de Concorrncia
O Problema da Perda de Atualizao
8/8/2013
Vali Issufo
15
Problemas de Concorrncia
Dependncia de uma atualizao no confirmada ou leitura suja. Ocorre quando uma transao atualiza ou recupera um registro que fora atualizado por outra transao, mas que ainda no foi confirmada. Caso a transao falhe, as operaes realizadas sero desfeitas (ROLLBACK).
8/8/2013 Vali Issufo 16
Problemas de Concorrncia
Dependncia de uma atualizao no confirmada ou leitura suja.
8/8/2013
Vali Issufo
17
Problemas de Concorrencia
O Problema da anlise inconsistente
Se uma transao est calculando uma funo de agregao sobre um nmero de registros, enquanto outras esto atualizando alguns desses registros, a funo de agregao pode calcular alguns valores antes que eles sejam atualizados e outros aps suas atualizaes!
8/8/2013
Vali Issufo
18
Problemas de Concorrncia
O Problema da anlise inconsistente
8/8/2013
Vali Issufo
19
8/8/2013
Vali Issufo
21
8/8/2013
Vali Issufo
22
8/8/2013
Crditos
Vinicius Augustus Paluch- Transaes e Gerenciamento de Transaes em Bancos de Dados Carlos Henrique C. Tolentino- Analise e Desenho de Sistemas Ana Cludia- Banco de Dados - Oracle
8/8/2013
Vali Issufo
24