Sobes.tech
Middle

Milline on olemasole isolatsioonitasemete klassifikatsioon?

sobes.tech AI

Vastus AI-lt

Andmebaaside isolatsioonitasemed määravad, kui palju on tehingud üksteisest ja teistest tehingutest tehtud muudatustest isoleeritud. Need ennetavad erinevaid paralleelset juurdepääsu probleeme:

SQL-i standardi tasemete klassifikatsioon:

  • READ UNCOMMITTED
    • lubab lugeda mitte kinnitatud muudatusi (must lugemine / dirty read):
    • probleemid: must lugemine, korduv lugemine, fantoomlugemine:
  • READ COMMITTED
    • lubab lugeda ainult kinnitatud muudatusi:
    • keelab musta lugemise:
    • probleemid: korduv lugemine, fantoomlugemine:
    • kõige sagedamini kasutatav tase:
  • REPEATABLE READ
    • tagab, et sama ridade kogumi korduv lugemine annab samad andmed, isegi kui teised tehingud neid muudavad:
    • keelab musta lugemise ja korduva lugemise:
    • probleem: fantoomlugemine (uued read, mis vastavad valiku tingimustele):
  • SERIALIZABLE
    • kõrgeim isolatsioonitase:
    • tagab täieliku sõltumatuse paralleelsetest juurdepääsu probleemidest:
    • tehingud täidetakse nii, nagu need oleksid täidetud järjestikku:
    • keelab musta lugemise, korduva lugemise ja fantoomlugemise:
    • võib avaldada märkimisväärset mõju jõudlusele:

Paralleelsete juurdepääsu probleemid:

Probleem READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE
Must lugemine Jah Ei Ei Ei
Korduv lugemine Jah Jah Ei Ei
Fantoomlugemine Jah Jah Jah Ei

Valik isolatsioonitasemest sõltub rakenduse nõuetest ja kompromissist andmete terviklikkuse ning jõudluse vahel.