Академический Документы
Профессиональный Документы
Культура Документы
Definico Propriedades
9/3/2012
Vali Issufo
Agenga
O que so Transaes? Conceito ACID de Transaes Problemas de Concorrncia Tcnicas de controle concorrncia
Estratgias de Bloqueio (Locking)
Bloqueio Otimista e Pessimista Deadlocks
9/3/2012 Vali Issufo 2
Transaes so sequncia de Aes (Operaes de Banco de Dados) que so executadas como um conjunto:
Ou todas so executas com sucesso Ou Nenhuma delas
Exemplo
Um banco transfere dinheiro entre duas contas (saque + deposito) Se qualquer uma das operaes falhar, a trasferncia ser cancelada
9/3/2012 Vali Issufo 3
Leitura
Situao Inicial (Durvel)
Gravao
Gravao
Commit Situao Final Durvel e consistente
Rollback
Sintaxe geral:
9/3/2012
Vali Issufo
3. Registrar Saldo
4. Entregar Dinheiro
9/3/2012
Vali Issufo
9/3/2012
Vali Issufo
Imagine que:
Algumas operaes falham!
Ex., Flhaas de Software, comunicao, Banco de Dados ou Hardware
Proriedades ACID
ACID Siginifica:
Atomicidade Consistencia Isolamento Durabilidade
9/3/2012 Vali Issufo 9
Atomicidade
Atomicidade significa que
Transaes so execudas como uma UNIDADE SGDB garante que todas as transaes so executadas ou desfeitas
Exemplos
Transferncia de valores entre contas
Ou o Depsito+Saque so registrados com sucesso ou nenhum dos dois ser Em caso de falha o BD permanece inalterado
9/3/2012 Vali Issufo 10
Consistencia
Consistencia significa que:
O Banco de dados est consitente (ntegro) antes e depois da transao
Apenas dados vlidos foram gravados
Exemplo
Transao no pode encerrar com chave duplicada
9/3/2012 Vali Issufo 11
Isolamento
Isolamento significa que
Multiplas 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.
9/3/2012 Vali Issufo 12
Durabilidade significa que Se uma transao confirmada (COMMIT) ela ser persistente
No pode ser perdida nem desfeita
Durabilidade
Garantida atravs de LOGS de TRANSAO e Backup Exemplo ps concluida a transferncia, a energia falha Ao retornar, os dados continuam ntegros e registrados conforme o momento imediatamente anterior falha
9/3/2012
Vali Issufo
13
Problemas de Concorrencia
Atualizao Perdida
Essa situao ocorre quando duas transaes que acessam o mesmo item de dado tm suas Essa situao ocorre quando duas transaes que acessam o mesmo item de dado tm suas operaes intercaladas de mane ira a tornar o dado incorreto.
9/3/2012
Vali Issufo
14
Problemas de Concorrencia
O Problema da Perda de Atualizao
9/3/2012
Vali Issufo
15
Problemas de Concorrencia
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. Cas o a transao falhe, as operaes realizadas transao, mas que ainda no foi confirmada. Caso a transao falhe, as operaes realizadas sero desfeitas (ROLLBACK).
9/3/2012 Vali Issufo 16
Problemas de Concorrencia
Dependncia de uma atualizao no confirmada ou leitura suja.
9/3/2012
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!
9/3/2012
Vali Issufo
18
Problemas de Concorrencia
O Problema da anlise inconsistente
9/3/2012
Vali Issufo
19
As tcnicas pessimistas presumem que sempre ocorrer interferncia entre as transaes e, ento, buscam sempre garantir a serializao enquanto uma transao estiver ocorrendo. J as tcnicas otimistas supem que raramente ocorrer a interfe -rncia entre as transaes e somente verificam o aspecto da serializao ao final.
9/3/2012 Vali Issufo 20
9/3/2012
Vali Issufo
21
9/3/2012
Vali Issufo
22
9/3/2012
Creditos
Vinicius Augustus Paluch- Transaes e Gerenciamento de Transaes em Bancos de Dados Carlos Henrique C. Tolentino- Analise e Desenho de Sistemas Ana Claudia- Banco de Dados - Oracle
9/3/2012
Vali Issufo
24