Junior — Middle
Quais são os níveis de isolamento de transações nos sistemas de gestão de bases de dados?
sobes.tech IA
Resposta da IA
Nos sistemas de gestão de bases de dados (SGBD) existem níveis padrão de isolamento de transações, definidos no padrão SQL, que regulam a visibilidade das alterações entre transações e evitam várias anomalias:
-
Leitura Não Confirmada (Read Uncommitted)
- A transação pode ver alterações feitas por outras transações, mesmo que ainda não tenham sido confirmadas.
- Leitura suja possível (dirty reads).
-
Leitura Confirmada (Read Committed)
- A transação vê apenas as alterações que foram confirmadas por outras transações.
- Evita leituras sujas, mas podem ocorrer leituras não repetíveis.
-
Leitura Repetível (Repeatable Read)
- Garante que os dados lidos numa transação não mudem até ao seu término.
- Evita leituras não repetíveis, mas podem ocorrer leituras fantasmas.
-
Serializável (Serializable)
- O nível mais estrito de isolamento.
- As transações são executadas como se fossem executadas sequencialmente.
- Evita todos os tipos de anomalias, incluindo leituras fantasmas.
Cada nível de isolamento equilibra entre desempenho e consistência de dados. A escolha depende dos requisitos da aplicação e das capacidades do SGBD.