FC ConcursosFC Concursos

Questão FC295836

No contexto de um Sistema Gerenciador de Banco de Dados (SGBD), é possível definir o nível de isolamento de uma transação por meio do comando SET TRANSACTION ISOLATION LEVEL. Há vá

Projeto e Modelagem de Dados

CESGRANRIO · 2024

No contexto de um Sistema Gerenciador de Banco de Dados (SGBD), é possível definir o nível de isolamento de uma transação por meio do comando SET TRANSACTION ISOLATION LEVEL. Há vários níveis de isolamento possíveis. Entre tais níveis encontra-se o SERIALIZABLE, que

  1. configura o SGBD para modo de leitura de todas as suas tabelas.
  2. define que apenas uma transação será executada por vez pelo SGBD.
  3. garante o mais alto nível possível de isolamento de uma transação.
  4. permite a serialização de objetos JSON em uma transação.
  5. prepara uma transação W para enviar dados a outra transação Y.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

O nível SERIALIZABLE é o mais restritivo de isolamento disponível via SET TRANSACTION ISOLATION LEVEL. Ele garante que o efeito das transações concorrentes seja equivalente a uma execução sequencial, ou seja, como se fossem processadas uma a uma.

Isso elimina anomalias clássicas: evita leituras sujas, leituras não repetíveis e o fenômeno phantom (registros surgindo durante a transação), assegurando o mais alto grau de isolamento.

Para alcançar essa propriedade, os SGBDs empregam mecanismos como locks, controle por versões (MVCC) ou ordenação por timestamps, coordenando as operações para preservar a serialização mesmo com execução concorrente.

Em troca, SERIALIZABLE tende a reduzir a concorrência e aumentar esperas/bloqueios, sendo eleito quando se exige máxima consistência entre transações.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo