Conceitos de controle de concorrência
Conceitos de Controle de Concorrência
Professor: Jorcivan Ramos
Disciplina: Bando de Dados II
Alunos: Bruno Leonardo D. Ferreira
Paulo Henrique Silva
Rafael Elias de Rezende
Urutaí, abril de 2012
CONTROLE DE CONCORRÊNCIA
Em um sistema de banco de dados concorrente é comum usuários manipularem dados simultaneamente. Esses dados podem ser lidos ou atualizados constantemente. Por isso pode haver falhas nos dados, chamadas de anomalias de sincronização. Essas anomalias podem ser: perda da consistência do banco de dados; acesso a dados inconsistentes e perda de atualizações. Para evitar esses tipos de falhas, o sistema precisa controlar a interação entre as transações simultâneas, alcançado por meio de uma série de mecanismos chamados esquemas de controle de concorrência.
PROTOCOLOS BASEADOS EM BLOQUEIO
Uma forma de garantir a integridade dos dados é exigir que nenhuma transação possa modificar um dado enquanto outra acessa esses mesmos dados. É chamado de protocolo baseado em bloqueio. Há dois tipos: Compartilhado: se uma transação T1 tiver obtido um bloqueio no modo compartilhado indicado por S sobre Q, então T1 só pode ler Q, mas não pode escrever. Exclusivo: se uma transação T1 tiver obtido um bloqueio no modo exclusivo indicado por X sobre Q, então T1 pode ler e escrever Q. É necessário que cada transação solicite um bloqueio apropriado sobre o item de dados Q. A transação só pode prosseguir com a operação depois que o gerenciamento de controle de concorrência conceder o bloqueio à transação. Para um conjunto de modos de bloqueio dizemos que eles são compatíveis quando uma transação T1 mantém o bloqueio de modo B sobre o item Q e T1 solicita um bloqueio também sobre Q. Se T1 puder receber um bloqueio imediatamente, apesar da presença do bloqueio B, então dizemos que o modo A é compatível com o modo B. A relação de compatibilidade entre os dois modos de bloqueios aparecem na seguinte