Questão FC369553
Ana identificou que, em seu banco de dados, ocorria muita demora na execução de algumas transações específicas, que chegavam até a falhar algumas vezes. Ao efetuar uma análise, viu
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
Ana identificou que, em seu banco de dados, ocorria muita demora na execução de algumas transações específicas, que chegavam até a falhar algumas vezes. Ao efetuar uma análise, viu que não havia controle nas transações ocorridas. Como forma de garantir seus schedules estritos, Ana implementou um bloqueio em 2 fases rigoroso.
Esse bloqueio implementado por Ana fará com que:
- uma transação bloqueie todos os itens que ela acessa antes que a transação inicie a execução;
- seja executado um downgrade do bloqueio ao se emitir uma operação read_lock(X), mesmo com a transação ainda em execução;
- uma transação T não libere nenhum de seus bloqueios exclusivos (gravação) até depois de confirmar ou abortar;
- seja gerado um rótulo de tempo, que será usado para garantir a serialização das transações;
- uma transação T não libere nenhum de seus bloqueios (exclusivo ou compartilhado) até depois de confirmar ou abortar.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
Na variação conhecida como bloqueio em duas fases rigoroso, uma transação T retém todos os seus bloqueios — sejam compartilhados ou exclusivos — até que T confirme (commit) ou aborte (rollback).
Isso garante um schedule estrito: nenhuma outra transação pode ler ou escrever dados modificados por T antes de sua confirmação, evitando leituras sujas e facilitando a recuperação após falhas.
Como consequência prática, o protocolo simplifica consistência e recuperação do banco de dados, mas reduz a concorrência e pode aumentar contenção e risco de deadlocks, exigindo mecanismos adicionais (por exemplo, detecção/eliminação de deadlocks).
Conteúdo do catálogo FC Concursos · Atualizado em