FC ConcursosFC Concursos

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:

  1. uma transação bloqueie todos os itens que ela acessa antes que a transação inicie a execução;
  2. seja executado um downgrade do bloqueio ao se emitir uma operação read_lock(X), mesmo com a transação ainda em execução;
  3. uma transação T não libere nenhum de seus bloqueios exclusivos (gravação) até depois de confirmar ou abortar;
  4. seja gerado um rótulo de tempo, que será usado para garantir a serialização das transações;
  5. 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

Continue aprendendo