Transações e Concorrências no BD
1
q
q
q
q
Atomicidade: Ou todas as ações da transação acontecem, ou nenhuma delas acontece.
Consistência: Se a transação é consistente e o BD começa consistente, ele termina consistente.
Isolação: A execução de uma transação é isolada da execução de outras transações.
Durabilidade: Se uma transação é concluída com sucesso (através de uma operação commit bem sucedida), então seus efeitos são persistentes
(duráveis).
IME-USP
Departamento de Ciência da Computação
q
3
Copyright © 1998, 1999 Francisco Reverbel
Controle de Concorrência
– Garante a Consistência e a Isolação, dada a atomicidade das transações. t Num
SGBD: É tarefa do Módulo Gerente de
Bloqueios (Locks).
q
Logging e Recuperação
– Garantem a Atomicidade e a Durabilidade. t Num
SGBD: São tarefas do Módulo Gerente de Log.
IME-USP
Departamento de Ciência da Computação
4
Copyright © 1998, 1999 Francisco Reverbel
2
q
A execução concorrente de programas dos usuários é essencial para o bom desempenho do
SGBD.
– Como acessos a disco são freqüentes e relativamente lentos, é muito importante manter a CPU ocupada executando vários programas concorrentemente.
Uma aplicação pode efetuar muitas operações sobre os dados lidos de um BD, mas para o SGBD só importam as leituras e as escritas realizadas.
Copyright © 1998, 1999 Francisco Reverbel
£
¢
¡
q
¤
5
¥
IME-USP
Departamento de Ciência da Computação
¦
q
Usuários submetem transações e podem pensar que cada transação roda sozinha, como “dona” da máquina.
– A concorrência é implementada pelo SGBD, que entrelaça ações
(reads/writes de objetos no BD) das várias transações.
– Cada transação deve deixar o BD num estado consistente. t q
O SGBD impõe as restrições de integridade especificadas nos comandos CREATE TABLE, mas não ‘entende’ realmente a semântica
dos