O Controle de Concorrência - Banco de Dados
Por: Pegoraroa • 28/10/2019 • Trabalho acadêmico • 251 Palavras (2 Páginas) • 244 Visualizações
Banco de Dados
Controle de concorrência
1) O que é o controle de concorrência?
Quando diversas transações são executadas de modo concorrente corre-se o risco de violar a propriedade de isolamento da transação. Por isso é necessário que o sistema controle a interação entre transações concorrentes: esse controle é alcançado por meio de uma série de mecanismos, os quais unidos, formam o controle de concorrência;
2) O que é um protocolo de bloqueio?
É um modo de garantir a serialização. Pode ser:
Bloqueio Compartilhado (S – Shared lock):
• T1 pode ler, mas não pode escrever no item Q;
• obtido sempre que não houver nenhum bloqueio exclusivo
Bloqueio Exclusivo (X – eXclusive lock):
• T1 pode ler e escrever no item Q;
• obtido somente se não houver nenhum outro bloqueio
3) Qual a dinâmica de funcionamento de uma tabela de locks?
Usa-se uma função hash para o endereçamento, além de buckets de overflow;
Novas requisições são adicionadas no final da fila;
Desbloqueio de requisições resulta na exclusão da mesma na fila;
Se a transação aborta, todas as requisições de espera e concessão serão excluídas.
4)A maioria dos SGBDs usa 2PL severo. Cite 3 motivos para sua utilização.
É uma técnica que sempre garante escalonamentos SR sem a necessidade de se construir um grafo de dependência para teste.
Garante escala de execução serializável em conflito.
Precedência é determinada em função do instante de obtenção do último bloqueio.
5) Como detectar o deadlock?
Ele ocorre quando temos um conjunto de transações em que todas estão em espera, uma aguardando o término da outra para prosseguir.
...