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
- configura o SGBD para modo de leitura de todas as suas tabelas.
- define que apenas uma transação será executada por vez pelo SGBD.
- garante o mais alto nível possível de isolamento de uma transação.
- permite a serialização de objetos JSON em uma transação.
- 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