teste
Capítulo 16 : Controle de concorrência Korth • Silberschatz •
Sistema de Banco de Dados, 5/E
Capítulo 16: Controle de concorrência Protocolos baseados em bloqueio
Protocolos baseados em estampa de tempo
Protocolos baseados em validação
Granularidade múltipla
Esquemas multiversão
Tratamento de impasse
Operações de inserção e exclusão
Concorrência em estruturas de índice
Korth • Silberschatz •
Sistema de Banco de Dados, 5/E
Protocolos baseados em bloqueio
Um bloqueio é um mecanismo para controlar o acesso simultâneo a um item de dados
Os itens de dados podem ser bloqueados em dois modos:
1. Modo exclusivo (X). O item de dados pode ser lido e também escrito. O bloqueio X é solicitado pela instrução lock-X.
2. Modo compartilhado (S). O item de dados só pode ser lido. O bloqueio S é solicitado pela instrução lock-S.
As solicitações de bloqueio são feitas ao gerenciador de controle de concorrência. A transação só pode prosseguir após a concessão da solicitação.
Korth • Silberschatz •
Sistema de Banco de Dados, 5/E
Protocolos baseados em bloqueio
(cont.)
Matriz de compatibilidade de bloqueio
Uma transação pode receber um bloqueio sobre um item se o bloqueio solicitado for compatível com os bloqueios já mantidos sobre o item por outras transações
Qualquer quantidade de transações pode manter bloqueios compartilhados sobre um item, mas se qualquer transação mantiver um bloqueio exclusivo sobre um item, nenhuma outra pode manter qualquer bloqueio sobre o item.
Se um bloqueio não puder ser concedido, a transação solicitante deve esperar até que todos os bloqueios incompatíveis mantidos por outras transações tenham sido liberados. O bloqueio é então concedido.
Korth • Silberschatz •
Sistema de Banco de Dados, 5/E
Protocolos baseados em bloqueio
(cont.)
Exemplo de uma