Sobes.tech
Junior — Middle

Kāda ir mērķis izmantot transakciju izolācijas līmeni Repeatable Read datu bāzu pārvaldības sistēmās?

sobes.tech AI

Atbilde no AI

Transakciju izolācijas līmenis Repeatable Read ir izstrādāts, lai novērstu fenomenu neizpildāms lasījums (non-repeatable read). Tas nozīmē, ka tajā pašā transakcijā atkārtoti lasot tās pašas datu rindas, tās nemainīsies, pat ja citas transakcijas mēģinās tās atjaunināt.

Mērķi:

  • Nodrošināt, ka dati, kas ir lasīti transakcijas sākumā, paliek nemainīgi līdz tās beigām.
  • Novērst situācijas, kad viena transakcija redz dažādas vērtības tajās pašās ierakstu rindās atkārtotu lasīšanu laikā.

Tomēr, ar Repeatable Read, var rasties fenomens kā fantoma lasījumi (phantom reads), kad jaunas rindas, kas atbilst vaicājuma nosacījumam, parādās kā citu transakciju rezultātā.

C# un .NET, Repeatable Read līmeni var iestatīt, strādājot ar transakcijām, izmantojot TransactionScope vai SqlTransaction.