Junior — Middle
Mida tähendab Read Committed isolatsioonitase ja kuidas see tagab andmete terviklikkuse samaaegsete tehingute ajal?
sobes.tech AI
Vastus AI-lt
Läbimiskuse tase Read Committed tagab, et tehing näeb ainult neid andmeid, mis on teistest tehingutest kinnitatud (commit). See takistab "mustade" andmete (dirty reads) lugemist, kui üks tehing loeb andmeid, mida teine on muutnud, kuid veel kinnitanud.
Kuidas see töötab:
- Andmete lugemisel näeb tehing ainult neid muudatusi, mis on kinnitatud enne lugemise algust.
- Kui teine tehing pole veel muudatusi lõpetanud, ei ole need andmed nähtavad.
Sel viisil tagab Read Committed andmete terviklikkuse, takistades vahepealsete, kinnitamata muudatuste lugemist. Kuid võivad esineda mitte-korduvad lugemise (non-repeatable reads) fenomenid, kus sama päring ühe tehingu jooksul võib tagastada erinevaid andmeid, kui teine tehing on muutnud ja kinnitanud andmeid vahepeal.
Näide:
- A tehing loeb kirjet.
- B tehing muudab ja kinnitab selle kirje.
- Kui A tehing loeb uuesti, näeb ta uuendatud andmeid.
See käitumine on normaalne Read Committed jaoks ning tasakaalustab jõudlust ja terviklikkust.