Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados Paralelos e Distribuídos — FGV 2024

Banco de DadosBanco de Dados Paralelos e Distribuídos
Código
fg086703
Banca
FGV
Órgão
MF
Ano
2024
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Área de Tecnologia da Informação (Operação e Infraestrutura) - manhã
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.
  1. AO primeiro baseia-se numa memória compartilhada.
  2. BO primeiro é aplicado em sistemas distribuídos visando à execução correta das transações distribuídas.
  3. CO primeiro é aplicado visando aos conflitos entre transações concorrentes em sistema centralizados.
  4. DO segundo é aplicado em sistemas distribuídos visando à execução correta das transações distribuídas.
  5. ETanto o primeiro como o segundo são aplicados visando aos conflitos entre transações concorrentes, tanto centralizadas como distribuídas.
Revelar gabarito e comentário

GabaritoB — O primeiro é aplicado em sistemas distribuídos visando à execução correta das transações distribuídas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Algoritmos 2-Phase Commit e 2-Phase Lock

Gabarito: letra B. O 2-Phase Commit (2PC) é um protocolo de commit atômico utilizado em sistemas distribuídos para garantir que todos os participantes de uma transação distribuída decidam pelo commit ou abort de forma coordenada, assegurando a atomicidade da transação (propriedade ACID). Já o 2-Phase Lock (2PL) é um mecanismo de controle de concorrência para garantir a serialização de transações concorrentes, tipicamente usado em sistemas centralizados (embora possa ser estendido para distribuídos). A alternativa B descreve corretamente o 2PC.

Alternativa A — ❌ Incorreta

O 2PC não se baseia em memória compartilhada, mas sim em troca de mensagens entre o coordenador e os participantes (prepare, commit/abort). A alternativa confunde o protocolo com mecanismos de cache ou replicação.

Alternativa B — ✅ Correta ⟵ GABARITO

O 2PC (primeiro) é especificamente projetado para sistemas distribuídos, visando a execução correta de transações distribuídas através do protocolo de duas fases: prepare e commit/abort. Isso garante a atomicidade da transação, propriedade fundamental para transações distribuídas.

Alternativa C — ❌ Incorreta

Afirma que o 2PC é aplicado para conflitos entre transações concorrentes em sistemas centralizados. Na verdade, quem trata de conflitos é o 2PL (segundo algoritmo). O 2PC lida com a atomicidade, não com concorrência.

Alternativa D — ❌ Incorreta

Diz que o 2PL (segundo) é aplicado em sistemas distribuídos visando execução correta de transações distribuídas. Embora exista uma versão distribuída do 2PL, sua função principal é o controle de concorrência (serialização), não especificamente a execução correta de transações distribuídas (que é mais associada ao commit atômico). Além disso, a banca estabeleceu a distinção correta na alternativa B.

Alternativa E — ❌ Incorreta

Afirma que ambos são aplicados para conflitos entre transações concorrentes. O 2PC não trata conflitos, e o 2PL não é exclusivo para sistemas distribuídos. A alternativa generaliza indevidamente.

Gabarito: letra B.

Link permanente: /questoes/fg086703