Diz-se que uma transação segue o protocolo de bloqueio em du...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - todas as operações de bloqueio precederem a primeira operação de desbloqueio.
O tema da questão se refere ao protocolo de bloqueio em duas fases (two-phase locking), que é um conceito fundamental na gerência de transações em sistemas de bancos de dados. O protocolo de bloqueio em duas fases é utilizado para garantir a propriedade ACID de serializabilidade em transações, assegurando que a ordem das operações em transações concorrentes mantenha a consistência dos dados.
O protocolo é chamado de "duas fases" por envolver essencialmente duas etapas distintas:
- Fase de Crescimento: Durante esta fase, uma transação pode obter bloqueios mas não pode liberar nenhum bloqueio que já tenha adquirido.
- Fase de Decrescimento: A transação pode liberar bloqueios, mas não pode obter novos bloqueios.
A transição entre essas duas fases ocorre imediatamente após a primeira operação de desbloqueio, marcando o fim da fase de crescimento e o início da fase de decrescimento. A importância desse protocolo reside no fato de que ele previne certos tipos de anomalias de transações, como deadlocks e atualizações perdidas, e contribui para manter a integridade dos dados.
A alternativa A está correta porque descreve precisamente essa característica do protocolo de bloqueio em duas fases. Em outras palavras, uma vez que uma transação começa a liberar bloqueios (fase de decrescimento), ela não pode mais adquirir novos bloqueios. Isto assegura que as transações sejam realizadas de maneira serializável, ou seja, que o resultado final seja o mesmo que seria obtido se as transações fossem executadas uma após a outra, em alguma ordem.
As demais alternativas descrevem conceitos que não são diretamente relacionados ao protocolo de bloqueio em duas fases:
- Alternativa B indica uma técnica de manutenção de múltiplas versões dos dados, o que se relaciona mais com controle de concorrência multiversionado.
- Alternativa C fala sobre o uso de rótulos de tempo, que é uma estratégia de controle de concorrência baseada em tempo, não relacionada diretamente com o bloqueio em duas fases.
- Alternativa D menciona um procedimento de validação após a gravação dos itens, algo que faz mais sentido no contexto de protocolos de controle de concorrência baseados em validação.
- Alternativa E trata do conceito de durabilidade das transações, em que todas as alterações devem ser registradas em um log antes de serem aplicadas aos arquivos de dados, uma propriedade que, embora importante, não define o protocolo de bloqueio em duas fases.
Ao entender a natureza do protocolo de bloqueio em duas fases, você poderá aplicar esses conhecimentos na prática de gerência de transações de bancos de dados, garantindo a integridade e a consistência dos dados em ambientes de acesso concorrente.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
LETRA A. ESTA QUESTÃO FOI RETIRADA DO LIVRO DO NAVATHE. VOU COPIÁ-LA NOVAMENTE SÓ PARA MENCIONAR A BIBLIOGRAFIA.
Segundo Navathe(2011,p.527),"Diz-se que uma transação segue o protocolo de bloqueio em duas fases se todas as operações de bloqueio (read_lock, write_lock) precedem a primeira operação de desbloqueio na transação."
Bibliografia:
SISTEMAS DE BANCO DE DADOS-6 EDIÇÃO 2011-NAVATHE
a-
Bloqueio em duas fases basico(2PL): todas as operacoes de bloqueio precedem a primeira operacao de desbloqueio, sendo 2 fases:
- expansao: novos bloqueios podem ser adquiridos, mas nenhum liberado; SO ADQUIRE E NAO LIBERA
- encolhimento: bloqueios existentes pdem ser liberados e nenhum adquiridos. SO LIBERA E NAO ADQUIRE
literalmente do wikipedia:
Beim zweiphasigen Sperrprotokoll werden in der ersten Phase (der Wachstumsphase) alle Sperren für die benötigten Datenobjekte gesetzt, und in der zweiten Phase (der Schrumpfphase) werden die Sperren freigegeben. Es dürfen keine neuen Sperren mehr nach dem ersten Freigeben erfolgen.
https://de.wikipedia.org/wiki/Sperrverfahren#Zwei-Phasen-Sperrprotokoll
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo