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.