Principal
რა არის ტრანზაქციები მონაცემთა ბაზებში? რა არის ტრანზაქციების იზოლაციის დონეები, რა მნიშვნელობა აქვთ მათ და რა არის ძირითადი განსხვავება?
sobes.tech AI
პასუხი AI-სგან
მონაცემთა ბაზაში ტრანზაქცია — ეს არის ლოგიკურად დაკავშირებული ოპერაციების სერია, რომელიც შესრულდება როგორც ერთიანი ერთეული. ტრანზაქციების ძირითადი თვისებები აღწერილია ACID-ის მოკლედ:
- ატომარობა — ყველა ოპერაცია სრულად ხორციელდება ან საერთოდ არაა ხორციელებული.
- კონსისტენცია — ტრანზაქცია გადადის მონაცემთა ბაზას ერთ სწორ მდგომარეობიდან მეორე სწორ მდგომარეობაზე.
- იზოლაცია — პარალელური ტრანზაქციები ერთმანეთზე გავლენას არ ახდენენ.
- მყარი — დამტკიცების (commit) შემდეგ ცვლილებები ინახება, მიუხედავად გატყდომისა.
ტრანზაქციის იზოლაციის დონეები განსაზღვრავს ერთ ტრანზაქციის ცვლილებების ხილვადობის ხარისხს სხვა ტრანზაქციებისთვის და გავლენას ახდენს შესაძლო ანომალიებზე:
- Read Uncommitted — ტრანზაქცია ხედავს სხვა ტრანზაქციების დაუმტკიცებელ ცვლილებებს (დაბინძურებული კითხვა).
- Read Committed — მხოლოდ დამტკიცებული ცვლილებები ჩანს, მაგრამ შეიძლება მოხდეს არავეორებადი კითხვა.
- Repeatable Read — გარანტიაა, რომ იგივე მონაცემების განმეორებითი კითხვა გამოიღებს ერთსა და იმავ შედეგს, მაგრამ შეიძლება მოხდეს ფანტომური კითხვა (ახალი სვეტები).
- Serializable — ყველაზე მკაცრი დონე, ტრანზაქციები შესრულდება როგორც სერიული, ყველა ანომალია აღმოფხვრილია.
ძირითადი განსხვავება — ეს არის ბალანსი შესრულებასა და მკაცრ იზოლაციას შორის. რაც უფრო მაღალია დონე, მით ნაკლებია პარალელიზმი, მაგრამ მონაცემთა მთლიანობა მაღალია.