Sobes.tech
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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.