Sobes.tech
Junior — Middle

Verilənlər bazası əməliyyatlarında kilidlərin işləmə prinsipini izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Verilənlər bazası əməliyyatlarında, bloklamalar məlumatlara paralel girişin idarə olunması və eyni zamanda oxuma və yazma zamanı yaranan münaqişələrin qarşısını almaq üçün istifadə olunur. Əsas prinsip odur ki, bir əməliyyat məlumatları oxuyarkən və ya dəyişdirərkən, bu məlumatlara blok qoyur ki, digər əməliyyatlar onları dəyişə bilməsin (və ya blok növündən asılı olaraq, hətta oxuya bilməsin) mövcud əməliyyat tamamlanana qədər.

Fərqli bloklama növləri mövcuddur:

  • Paylaşılan bloklama (shared lock) — bir neçə əməliyyatın məlumatları eyni vaxtda oxumasına imkan verir, lakin yazmağa icazə vermir.
  • Eksklüziv bloklama (exclusive lock) — yalnız bir əməliyyatın məlumatları dəyişdirməsinə imkan verir və digər əməliyyatların girişini bloklayır.

Bloklamalar, əməliyyatların ACID xüsusiyyətlərini, xüsusən də izolasyonu təmin etməyə kömək edir. Ancaq, çox və ya düzgün olmayan bloklama istifadəsi, qarşılıqlı bloklamalara (deadlock) və performansın aşağı düşməsinə səbəb ola bilər.

Nümunə: Əgər A əməliyyatı yeniləmək üçün sətirdə eksklüziv blok qoyursa, B əməliyyatı, həmin sətiri oxumağa və ya dəyişdirməyə çalışarkən, A əməliyyatının tamamlanıb bloklamanı sərbəst buraxmasını gözləyəcək.