Questão nº 46

Questão de Tecnologia da Informação · FGV STN 2024 (nº 46)

FGV2024Auditor Federal de Finanças e Controle - Tecnologia da Informação (Operação e Infraestrutura)Tecnologia da Informação
Gabarito: Bver comentário ↓

Na implementação de bancos de dados distribuídos, assinale a correta distinção/semelhança entre o algoritmo 2-Phase Commit e o algoritmo 2-Phase lock.

Resposta comentada

Gabarito Alternativa B

O 2-Phase Commit (2PC) é um protocolo que garante que uma transação distribuída (que afeta dados em múltiplos bancos de dados ou nós) seja concluída de forma atômica, ou seja, ou todas as partes da transação são salvas (commit) ou todas são desfeitas (abort). O 2-Phase Lock (2PL) é um protocolo de controle de concorrência que garante a serializabilidade das transações, evitando que elas interfiram umas nas outras ao acessar os mesmos dados.

  • (A) Incorreta: O 2-Phase Commit opera em sistemas distribuídos, onde os nós geralmente não compartilham memória, mas se comunicam por troca de mensagens. Memória compartilhada é mais comum em sistemas centralizados ou arquiteturas específicas.
  • (B) Correta: O 2-Phase Commit (o primeiro) é fundamentalmente projetado para sistemas distribuídos, garantindo que as transações que abrangem múltiplos nós sejam executadas corretamente (de forma atômica), mantendo a consistência dos dados em todo o sistema distribuído.
  • (C) Incorreta: O 2-Phase Commit é para sistemas distribuídos e foca na atomicidade da transação. O manejo de conflitos de concorrência em sistemas centralizados é a função de protocolos como o 2-Phase Lock, não do 2-Phase Commit.
  • (D) Incorreta: O 2-Phase Lock (o segundo) é um protocolo de controle de concorrência que visa evitar conflitos entre transações concorrentes, garantindo a serializabilidade. Embora possa ser aplicado em sistemas distribuídos (Distributed 2PL), sua função principal não é a "execução correta das transações distribuídas" no sentido de coordenar o commit/abort atômico, como faz o 2-Phase Commit. Ele garante a isolamento e consistência dos dados acessados, mas não a atomicidade da transação distribuída como um todo. Armadilha da banca: Esta alternativa é tentadora porque 2PL contribui para a execução correta ao evitar conflitos, e pode ser usado em sistemas distribuídos. No entanto, a principal função de garantir a "execução correta das transações distribuídas" no sentido de atomicidade (tudo ou nada) é do 2-Phase Commit.
  • (E) Incorreta: O 2-Phase Lock (o segundo) realmente visa aos conflitos entre transações concorrentes. Contudo, o 2-Phase Commit (o primeiro) não tem como objetivo principal resolver conflitos de concorrência; ele visa garantir a atomicidade de uma transação distribuída, ou seja, que ela seja totalmente confirmada ou totalmente desfeita em todos os nós participantes.

Fonte: FGV STN 2024 Auditor Federal de Finanças e Controle - Tecnologia da Informação (Operação e Infraestrutura) (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