Sobes.tech
Junior — Middle

Koji je cilj korišćenja nivoa izolacije Repeatable Read u sistemima za upravljanje bazama podataka?

sobes.tech АИ

Одговор од АИ

Nivo izolacije transakcija Repeatable Read je osmišljen da spreči fenomen neponovljivog čitanja (non-repeatable read). To znači da će, unutar iste transakcije, ponovnim čitanjem istih podataka, ti podaci ostati nepromenjeni, čak i ako druge transakcije pokušaju da ih ažuriraju.

Ciljevi:

  • Osigurati da podaci pročitani na početku transakcije ostanu nepromenjeni do njenog završetka.
  • Sprečiti situacije u kojima jedna transakcija vidi različite vrednosti istih zapisa pri ponovnim čitanjima.

Međutim, kod Repeatable Read mogu se pojaviti fenomeni poput fantomskih čitanja (phantom reads), kada se nove linije koje zadovoljavaju uslov upita pojavljuju kao rezultat drugih transakcija.

U C# i .NET, nivo Repeatable Read može se postaviti prilikom rada sa transakcijama putem TransactionScope ili SqlTransaction.