Junior — Middle
რა ტიპის ხარვეზები და პრობლემები წარმოიქმნება სისტემაში ერთდროულად ტრანზაქციების განხორციელებისას?
sobes.tech AI
პასუხი AI-სგან
სისტემაში ერთდროულად განხორციელებული ტრანზაქციების დროს ხშირად წარმოიქმნება შემდეგი ტიპიური პრობლემები:
- მიმდინარე პირობები (Race condition) — როდესაც რამდენიმე ტრანზაქცია ერთდროულად ცდილობს იგივე მონაცემების შეცვლას, რაც შეიძლება გამოიწვიოს შეუთავსებლობებით.
- მკვდარი ბლოკირებები (Deadlocks) — სიტუაცია, როდესაც ორი ან მეტი ტრანზაქცია ბლოკავს ერთმანეთს და არცერთი ვერ განაგრძობს მუშაობას.
- ფანტომური კითხვები (Phantom reads) — როდესაც ერთ ტრანზაქციაში განმეორებითი სერვერი სხვადასხვა მონაცემთა ნაკრებს აბრუნებს სხვა ტრანზაქციების მიერ განხორციელებული ცვლილებების გამო.
- არასაკმარისი კითხვები (Non-repeatable reads) — როდესაც ტრანზაქციის დასაწყისში წაკითხული მონაცემები სხვა ტრანზაქციის მიერ იცვლება მის დასრულებამდე.
- კარგად დაკარგული განახლებები (Lost updates) — როდესაც ერთი ტრანზაქციის მიერ განხორციელებული განახლება მეორის მიერ გადაწერილია, უყურადღებოდ დარჩენილი წინასწარი ცვლილებები.
ამ პრობლემების თავიდან ასაცილებლად გამოიყენება ტრანზაქციის იზოლაციის დონეები და ბლოკირების მექანიზმები.