Um Analista de Sistemas analisa um relatório de contenção em...

Próximas questões
Com base no mesmo assunto
Q4036233 Banco de Dados
Um Analista de Sistemas analisa um relatório de contenção em um sistema de gestão de ordens de serviço com alto volume de transações simultâneas. O relatório indica que diversas transações de leitura (SELECT) estão sendo bloqueadas por transações de escrita (UPDATE) em andamento sobre a tabela de Ordens. Ao investigar o comportamento no SGBD, o DBA precisa compreender a compatibilidade entre os tipos de bloqueio envolvidos. Com base nos mecanismos de controle de concorrência e nos tipos de bloqueio em bancos de dados relacionais, assinale a alternativa CORRETA.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: A compatibilidade entre bloqueios S e X no mesmo recurso, especialmente diante de leitura (SELECT) e escrita (UPDATE) concorrentes.

Tema central: Compatibilidade de bloqueios
Análise das alternativas
A
Errada
Está errada porque afirma incompatibilidade entre bloqueios compartilhados. Pela matriz clássica, S é compatível com S, de modo que leituras concorrentes podem coexistir sobre o mesmo recurso.
B
Certa
A alternativa B está correta porque, na regra clássica de compatibilidade, o bloqueio exclusivo (X) usado por uma operação de escrita como UPDATE impede a obtenção de bloqueio compartilhado (S) sobre o mesmo recurso, bloqueando novas leituras enquanto a escrita estiver ativa.
C
Errada
Está errada porque inverte o conceito de escalada de bloqueio. Lock escalation é a conversão de vários bloqueios mais finos, como linha ou página, em um bloqueio mais amplo, como tabela, e não de tabela para linha.
D
Errada
Está errada porque generaliza incorretamente a função do update lock. Update lock não é o bloqueio adquirido por operações SELECT em geral para impedir outros acessos; trata-se de mecanismo específico usado por alguns SGBDs para transição segura rumo à atualização.
E
Errada
Está errada porque nega o papel dos bloqueios de intenção na arquitetura tradicional de concorrência. Intention locks fazem parte do bloqueio multinível em SGBDs relacionais tradicionais e não são exclusivos de bancos de dados distribuídos.
Pegadinha da questão
A confusão principal era trocar a incompatibilidade de X com S por uma suposta incompatibilidade de S com S; as demais alternativas exploram inversões conceituais sobre escalada de bloqueio, update lock e intention locks.
Dica para questões semelhantes
  • Em questões sobre contenção entre leitura e escrita, verifique primeiro a matriz de compatibilidade S/X: S com S é compatível; X com S e X com X é incompatível.
  • Se a alternativa falar em lock escalation, confirme o sentido da mudança de granularidade: o usual é de bloqueios menores para um bloqueio mais amplo.
  • Não trate update lock como sinônimo de leitura comum; sua finalidade é específica e ligada à transição para atualização.
  • Bloqueios de intenção devem ser reconhecidos como parte do controle de concorrência com bloqueio multinível em SGBDs relacionais tradicionais.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Compartilhado (Shared Lock - S): Usado para operações de leitura (comandos ). Permite que múltiplas transações leiam o mesmo dado simultaneamente, mas impede que qualquer uma delas faça alterações enquanto o bloqueio estiver ativo.

Exclusivo (Exclusive Lock - X): Usado para operações de escrita (, , ). Garante que apenas uma transação acesse e modifique o recurso, bloqueando qualquer outra leitura ou escrita simultânea.

Atualização (Update Lock - U): Usado para evitar o cenário em que uma transação lê um dado (com intenção de mudar) e aplica um Shared Lock, mas logo em seguida tenta um Exclusive Lock para atualizar, gerando impasses. O Update Lock permite a leitura, mas avisa o sistema que a alteração está por vir

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo