Questão nº 49

Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 49)

FGV2024Analista Judiciário - Suporte em TITecnologia da Informação
Gabarito: Ever comentário ↓

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:

Resposta comentada

Gabarito Alternativa E

O Bloqueio em Duas Fases (2PL) é uma técnica de controle de concorrência que garante que as transações sejam executadas de forma serializável, ou seja, como se tivessem sido executadas uma após a outra, sem interferências. Na sua forma rigorosa (ou estrita, dependendo da terminologia), uma transação mantém todos os seus bloqueios até o fim.

(A) Incorreta: Esta alternativa descreve o Bloqueio em Duas Fases Conservador (ou Estático), onde todos os bloqueios são adquiridos antes do início da execução da transação. O Bloqueio em Duas Fases (mesmo o rigoroso/estrito) permite que os bloqueios sejam adquiridos dinamicamente durante a fase de crescimento.
(B) Incorreta: Um downgrade de bloqueio (por exemplo, de exclusivo para compartilhado) implica liberar o bloqueio exclusivo. No Bloqueio em Duas Fases Rigoroso/Estrito, nenhum bloqueio é liberado antes da transação confirmar ou abortar, para garantir a serialização estrita e evitar cascading rollbacks.
(C) Incorreta: Esta é a armadilha mais tentadora. Embora seja verdade que bloqueios exclusivos são mantidos até o fim no 2PL Rigoroso/Estrito, esta alternativa é incompleta. A definição mais abrangente e a que o gabarito oficial aponta para "bloqueio em 2 fases rigoroso" é que todos os bloqueios (exclusivos e compartilhados) são mantidos. Se apenas os exclusivos fossem mantidos, ainda haveria risco de outras transações lerem dados que foram escritos por uma transação que ainda não confirmou, mas já liberou seu bloqueio de leitura.
(D) Incorreta: A geração de rótulos de tempo (timestamps) é uma técnica de controle de concorrência baseada em timestamps, e não em bloqueios como o 2PL. São abordagens distintas.
(E) Correta: No Bloqueio em Duas Fases Rigoroso (ou Estrito, no sentido mais forte), uma transação T não libera nenhum de seus bloqueios (sejam eles exclusivos para escrita ou compartilhados para leitura) até que ela confirme (commit) ou aborte (rollback). Isso garante a serializabilidade estrita, prevenindo que outras transações leiam dados não confirmados e evitando o problema de cascading rollbacks (onde o aborto de uma transação causa o aborto de outras que leram seus dados).

Fonte: FGV TRF1 2024 Analista Judiciário - Suporte em TI (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho