Questão nº 68
Questão de Administração de Banco de Dados · FGV MPAL 2018 (nº 68)
Na teoria de bancos de dados, uma transação é um conjunto de operações cujo processamento respeita as propriedades de atomicidade, consistência, isolamento e durabilidade.
Em sistemas não distribuídos, a propriedade "durabilidade" é usualmente implementada por meio de
- Aalgoritmos two-phase commitment.
- Balgoritmos two-phase lock.
- Carquivos de log que provêm redundância. (alternativa correta)
- Dpela combinação de operações de rollback e commit.
- Eserialização de operações no controle de concorrência.
Resposta comentada
Gabarito Alternativa C
A durabilidade é a garantia de que, uma vez que uma transação é finalizada com sucesso (commitada), suas mudanças são permanentes e não serão perdidas, mesmo que o sistema falhe logo em seguida. É como garantir que a informação "grudou" e não vai sumir.
- (A) Incorreta: Algoritmos two-phase commitment (2PC) são usados em sistemas distribuídos para garantir que todos os participantes de uma transação global concordem em comitar ou abortar juntos, focando na atomicidade distribuída, não na durabilidade em um único sistema.
- (B) Incorreta: Algoritmos two-phase lock (2PL) são mecanismos de controle de concorrência que garantem o isolamento das transações, impedindo que elas interfiram umas nas outras, e não a permanência dos dados após uma falha.
- (C) Correta: Arquivos de log (registros de transações) são essenciais para a durabilidade. Antes que as mudanças de uma transação sejam gravadas nos arquivos de dados principais, elas são registradas no log (write-ahead logging). Se houver uma falha, o sistema pode usar o log para refazer (redo) as operações de transações commitadas que não foram salvas nos dados, garantindo que nada se perca. A "redundância" aqui se refere ao log ser um registro secundário e persistente das mudanças.
- (D) Incorreta: As operações de rollback e commit são comandos que iniciam ou finalizam uma transação. Embora o commit seja o ponto onde a durabilidade deve ser garantida, essas operações em si não implementam o mecanismo técnico da durabilidade; elas são o gatilho para que o sistema a aplique.
- (E) Incorreta: A serialização de operações é uma propriedade do controle de concorrência (isolamento) que garante que a execução simultânea de transações produza o mesmo resultado que alguma execução sequencial delas, sem relação direta com a persistência dos dados após falhas.
Fonte: FGV MPAL 2018 Analista do Ministério Público - Administrador de Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.