Sobes.tech
Junior — Middle

რა არის მონაცემთა ბაზის მართვის სისტემებში Repeatable Read-ის იზოლაციის დონეს გამოყენების მიზანი?

sobes.tech AI

პასუხი AI-სგან

ტრანზაქციის იზოლაციის დონე Repeatable Read განკუთვნილია non-repeatable read ფენომენის თავიდან აცილებისთვის. ეს ნიშნავს, რომ ერთ ტრანზაქციაში, იგივე მონაცემების განმეორებითი წაკითხვა არ შეიცვლება, მიუხედავად იმისა, რომ სხვა ტრანზაქციები ცდილობენ მათ განახლებას.

მიზნები:

  • უზრუნველყოს, რომ ტრანზაქციის დასაწყისში წაკითხული მონაცემები დარჩეს უცვლელი მისი დასრულებამდე.
  • თავიდან აიცილოს სიტუაციები, როდესაც ერთი ტრანზაქცია ხედავს სხვადასხვა მნიშვნელობებს ერთსა და იმავე ჩანაწერებზე განმეორებითი წაკითხვებისას.

თუმცა, Repeatable Read-ის დროს შეიძლება მოხდეს ფანტომური წაკითხვები (phantom reads), როდესაც ახალი სვეტები, რომლებიც აკმაყოფილებენ სარეკლამო პირობებს, გამოჩნდებიან სხვა ტრანზაქციების შედეგებში.

C# და .NET-ში, Repeatable Read დონე შეიძლება იყოს დაყენებული ტრანზაქციებთან მუშაობის დროს TransactionScope ან SqlTransaction გამოყენებით.