Sobes.tech
Junior — Middle

Wat betekent het isolatieniveau Read Committed en hoe zorgt het voor gegevensintegriteit bij gelijktijdige transacties?

sobes.tech AI

Antwoord van AI

Het isolatieniveau Read Committed zorgt ervoor dat een transactie alleen de gegevens ziet die door andere transacties zijn bevestigd (gecommit). Dit voorkomt het lezen van "vuil" gegevens (dirty reads), wanneer een transactie gegevens leest die gewijzigd maar nog niet bevestigd zijn door een andere.

Hoe het werkt:

  • Bij het lezen van gegevens ziet de transactie alleen de wijzigingen die vóór het begin van de leesactie zijn bevestigd.
  • Als een andere transactie de wijzigingen nog niet heeft afgerond, zijn deze gegevens niet zichtbaar.

Op deze manier zorgt Read Committed voor gegevensintegriteit door het lezen van tussenliggende, niet-bevestigde wijzigingen te voorkomen. Echter, niet-repeteerbare leesfenomenen kunnen voorkomen, waarbij eenzelfde query in een transactie verschillende gegevens kan teruggeven als een andere transactie de gegevens heeft gewijzigd en bevestigd tussen de lezingen.

Voorbeeld:

  • Transactie A leest een record.
  • Transactie B wijzigt en bevestigt dat record.
  • Als Transactie A opnieuw leest, ziet ze de bijgewerkte gegevens.

Dit gedrag is normaal voor Read Committed, dat een balans biedt tussen prestaties en integriteit.