Pular para o conteúdo principal

Questão de Banco de Dados — Concorrência em Banco de Dados — CESPE / CEBRASPE 2025

Banco de DadosConcorrência em Banco de Dados
Código
ce214864
Banca
CESPE / CEBRASPE
Órgão
SEFAZ-SE
Ano
2025
Nível
Superior
Cargo
Auditor Fiscal Tributário - Tecnologia da Informação
No modelo ACID de transações em bancos de dados relacionais, o princípio de isolamento garante que transações concorrentes não interfiram de forma incorreta umas nas outras. Assinale a opção em que é indicado o mecanismo que implementa o princípio de isolamento por meio do uso de bloqueios que só são liberados depois da conclusão da fase de crescimento da transação.
  1. Asnapshot isolation
  2. Btimestamp ordering
  3. C2PL (two-phase locking)
  4. Dcontrole de concorrência otimista
  5. EMVCC (multiversion concurrency control)
Revelar gabarito e comentário

GabaritoC — 2PL (two-phase locking)

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”.

Two-Phase Locking (2PL) e o Isolamento no Modelo ACID

Gabarito: letra C. O mecanismo que implementa o isolamento por meio de bloqueios liberados somente após a fase de crescimento da transação é o 2PL (two-phase locking). Esse protocolo exige que uma transação adquira todos os bloqueios necessários antes de liberar qualquer um deles (fase de crescimento), e só então entra na fase de encolhimento, onde os bloqueios são liberados. Essa descrição corresponde exatamente ao enunciado.

As alternativas incorretas referem-se a outros mecanismos de controle de concorrência que não utilizam o esquema de fases de bloqueio descrito.

Mecanismo

Descrição

Utiliza bloqueios com fase de crescimento/encolhimento?

Relação com o enunciado

Snapshot isolation

Técnica baseada em multiversão (MVCC); cada transação vê um snapshot consistente no início.

Não

❌ Incorreta

Timestamp ordering

Ordena operações por timestamps; não usa bloqueios.

Não

❌ Incorreta

2PL (two-phase locking)

Protocolo que exige fase de crescimento (aquisição) e fase de encolhimento (liberação) de bloqueios.

Sim

✅ Correta (Gabarito)

Controle de concorrência otimista

Executa sem bloqueios; valida conflitos apenas no commit.

Não

❌ Incorreta

MVCC (multiversion concurrency control)

Mantém múltiplas versões dos dados; não define fases de bloqueio por si só.

Não (por si só)

❌ Incorreta

Alternativa A — ❌ Incorreta

Snapshot isolation é uma técnica de controle de concorrência baseada em multiversão (MVCC), onde cada transação vê uma fotografia (snapshot) consistente dos dados no momento em que inicia. Não utiliza bloqueios que seguem uma fase de crescimento e encolhimento; em vez disso, depende de detecção de conflitos no momento do commit.

Alternativa B — ❌ Incorreta

Timestamp ordering atribui timestamps a cada transação e ordena as operações com base nesses timestamps, garantindo serializabilidade sem o uso de bloqueios. Não há conceito de fase de crescimento ou liberação posterior de bloqueios.

Alternativa C — ✅ Correta ⟵ GABARITO

Two-phase locking (2PL) é exatamente o mecanismo descrito: toda transação possui uma fase de crescimento (crescendo) em que adquire bloqueios, e uma fase de encolhimento (shrinking) em que os libera. O protocolo 2PL garante a serializabilidade das escalas, e é o método clássico para implementar o isolamento por meio de bloqueios.

Alternativa D — ❌ Incorreta

Controle de concorrência otimista (optimistic concurrency control) permite que as transações executem sem bloqueios, validando no final se houve conflitos. Não há bloqueios que sigam as fases de crescimento e encolhimento.

Alternativa E — ❌ Incorreta

MVCC (multiversion concurrency control) mantém múltiplas versões dos dados para que leitores não bloqueiem escritores e vice-versa. Embora possa ser combinado com 2PL, por si só não define a regra de liberação de bloqueios após a fase de crescimento. O enunciado refere-se especificamente ao protocolo que impõe essa sequência de fases.

PEGA ESSA DICA!

Para questões sobre controle de concorrência, decore a característica principal de cada método:

  • 2PL: fases de crescimento e encolhimento com bloqueios.

  • Timestamp ordering: ordenação por timestamps, sem bloqueios.

  • Otimista: validação tardia, sem bloqueios.

  • MVCC: múltiplas versões para leitura consistente.

  • Snapshot isolation: variante do MVCC com snapshot.

Gabarito: letra C.

Link permanente: /questoes/ce214864