Junior — Middle
Qual é o papel de cada nível de isolamento de transações na base de dados?
sobes.tech IA
Resposta da IA
Os níveis de isolamento de transações numa base de dados determinam como e quando as alterações feitas por uma transação se tornam visíveis para outras transações. Os principais níveis de isolamento:
-
Leitura Não Confirmada (Read Uncommitted)
- Uma transação pode ver alterações de outras transações mesmo que ainda não tenham sido confirmadas.
- Leitura suja possível.
-
Leitura Confirmada (Read Committed)
- A transação vê apenas alterações que foram confirmadas.
- Evita leituras sujas, mas pode permitir 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 sujas e não repetíveis, mas pode permitir leituras fantasmas.
-
Serializável
- O nível mais estrito de isolamento.
- As transações são executadas como se fossem sequenciais.
- Evita todas as anomalias de leitura.
A escolha do nível de isolamento afeta o equilíbrio entre desempenho e integridade dos dados. Por exemplo, níveis mais estritos reduzem o paralelismo, mas garantem maior consistência.