Sobes.tech
Junior — Middle

Mis on eesmärk kasutada andmebaaside haldussüsteemides korduslikku lugemise taseme isolatsiooni?

sobes.tech AI

Vastus AI-lt

Transaktsioonide isoleerimistasand Repeatable Read on loodud selleks, et vältida fenomeni mitte-korduv lugemine (non-repeatable read). See tähendab, et sama transaktsiooni jooksul, korduv lugemine samadest andmetest ei muutu, isegi kui teised transaktsioonid püüavad neid uuendada.

Eesmärgid:

  • Tagada, et transaktsiooni alguses loetud andmed jäävad muutumatuks kuni selle lõpuni.
  • Vältida olukordi, kus üks transaktsioon näeb samu kirjeid erinevate väärtustena korduvate lugemiste ajal.

Kuid Repeatable Read korral võivad tekkida vaimulised lugemised (phantom reads), kui uued read, mis vastavad päringutingimustele, ilmuvad teiste transaktsioonide tulemustes.

C# ja .NET-is saab Repeatable Read taseme määrata transaktsioonidega töötades TransactionScope või SqlTransaction kaudu.