CONTROLE DE CONCORRÊNCIA
SISTEMAS DE INFORMAÇÃO
BANCO DE DADOS II
MAIO 2012
INDICE
1. CONTROLE DE CONCORRÊNCIA 4
2. TÉCNICAS DE CONTROLE DE CONCORRÊNCIA 5
2.1 PROTOCOLOS COM BASE EM BLOQUEIOS (LOCKS) 5
2.1.1 BLOQUEIOS EXCLUIVOS (EXCLUSIVE LOKS) (X) 6
2.1.2 BLOQUEIOS COMPARTILHADOS (SHARED LOCKS) (S) 6
2.1.3 BLOQUEIOS DE ATUALIZAÇÃO (UPDATE LOCKS) (U) 6
2. REVENDO O PROBLEMA DA AUTORIZAÇÃO PERDIDA 7
3. SERIALIZAÇÃO 7
4. DEADLOCK 7
4.1 PREVENÇÃO 7
4.1.1 MEIO DE PREVENÇÃO EM ORDENAMENTO HIERÁRQUICO DE PROCESSOS 8
4.2 DETECTAÇÃO 8
4.3 RECUPERAÇÃO 9
5. PROTOCOLO DE BLOQUEIO EM DUAS FASES 9
6. TIMESTAMP 9
7. O PROTOCOLO COM BASE EM TIMESTAMP 10
8. BLOQUEIO DE INTENÇÃO 10
9. NIVEIS DE ISOLAMENTO 11
10. PROTOCOLOS COM BASE EM VALIDAÇÃO 12
11. PROBLEMAS DE CONCORRÊNCIA 13
11.1 PERDA DA CONSISTENCIA DO BANDO 13
11.2 PERDA DE ATUALIZAÇÕES 13
11.3 PROBLEMAS DE ATUALIZAÇÕES: 13
11.4 PROBLEMAS DE REMOÇÃO 15
11.5 PROBLEMA DE MODIFICAÇÃO 15
11.6 PROBLEMAS DE DEPENDENCIA 15
11.6.1 DEPENDÊNCIAS FUNCIONAIS 15
12. INCONSISTÊNCIA DE DADOS 17
13. BLOQUEIO 18
14. OPERAÇÕES DE INSERÇÃO E REMOÇÃO 19
15. CONCLUSÃO 20
16. BIBLIOGRAFIA 21
1. CONTROLE DE CONCORRÊNCIA
Limita as leituras e modificações simultâneas disparadas ao mesmo dado por diferentes usuários. A técnica mais usada consiste em bloquear os dados envolvidos em determinada operação.
Exemplo: caso um passageiro queira transferir sua reserva de um vôo para outro é necessário que os dois vôos estejam bloqueados.
O bloqueio pode ser lógico ou físico.
Lógico: linguagem de consulta.
Físico: registro, página ou tabela
2. TÉCNICAS DE CONTROLE DE CONCORRÊNCIA
2.1 PROTOCOLOS COM BASE EM BLOQUEIOS (LOCKS)
O bloqueio é uma técnica de controle de concorrência – isto é, uma técnica para regular o acesso concorrente a objetos