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.