Sobes.tech
Middle

Kāda ir esošā izolācijas līmeņu klasifikācija?

sobes.tech AI

Atbilde no AI

Datu bāzu izolācijas līmeņi nosaka, cik ļoti transakcijas ir izolētas viena no otras un no citiem transakcijās veiktajām izmaiņām. Tie novērš dažādas paralēlas piekļuves problēmas:

SQL standarta līmeņu klasifikācija:

  • READ UNCOMMITTED
    • ļauj lasīt neapstiprinātas izmaiņas (netīrs lasījums / dirty read):
    • problēmas: netīrs lasījums, atkārtots lasījums, fantoma lasījums:
  • READ COMMITTED
    • ļauj lasīt tikai apstiprinātas izmaiņas:
    • aizliedz netīru lasījumu:
    • problēmas: atkārtots lasījums, fantoma lasījums:
    • visbiežāk izmantotais līmenis:
  • REPEATABLE READ
    • garantē, ka atkārtots lasījums tajā pašā rindu kopā sniegs tās pašas datus, pat ja citas transakcijas tās maina:
    • aizliedz netīru lasījumu un atkārtotu lasījumu:
    • problēma: fantoma lasījums (jaunas rindas, kas atbilst atlases nosacījumam):
  • SERIALIZABLE
    • augstākais izolācijas līmenis:
    • nodrošina pilnīgu paralēlas piekļuves problēmu novēršanu:
    • transakcijas tiek izpildītas tā, it kā tās būtu izpildītas secīgi:
    • aizliedz netīru lasījumu, atkārtotu lasījumu un fantoma lasījumu:
    • var būt ievērojams ietekme uz veiktspēju:

Paralēlas piekļuves problēmas:

Problēma READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE
Netīrs lasījums
Atkārtots lasījums
Fantoma lasījums

Izolācijas līmeņa izvēle ir atkarīga no lietojumprogrammas prasībām un kompromisa starp datu integritāti un veiktspēju.