Sobes.tech
Principal

Маалыматтар базаларындагы транзакциялар эмне? Транзакциялардын изоляция деңгээлдери эмне, алардын мааниси эмнеде жана негизги айырмасы эмнеде?

sobes.tech AI

AIден жооп

Маалыматтар базасында транзакция — бул логикалык жактан байланышкан операциялардын үздүксүз тизмеги, ал бир бүтүн катары ишке ашырылат. Транзакциялардын негизги өзгөчөлүктөрү ACID кыскача аты менен сүрөттөлөт:

  • Атомдуулук — бардык операциялар толук аткарылат же эч качан аткарылбайт.
  • Туруктуулук — транзакция базаны бир туура абалдан башка туура абалга өткөрөт.
  • Изоляция — параллелдүү транзакциялар бири-бирине таасир этпейт.
  • Туруктуулук — бекитүү (commit) жасалгандан кийин өзгөртүүлөр катастрофаларга карабай сакталат.

Транзакциялардын изоляция деңгээлдери бир транзакциянын башка транзакциялар үчүн өзгөртүүлөрдүн көрүнүшүн аныктайт жана мүмкүн болуучу кемчиликтерге таасир этет:

  1. Read Uncommitted — транзакция башка транзакциялардын бекитилбеген өзгөртүүлөрүн көрө алат (кырсык окулушу).
  2. Read Committed — гана бекитилген өзгөртүүлөр көрүнөт, бирок кайталанбаган окулуштар (non-repeatable reads) мүмкүн.
  3. Repeatable Read — бир эле маалыматтарды кайра-кайра окулушу бирдей натыйжа берет, бирок фантомдуу окулуштар (жаңы саптар) мүмкүн.
  4. Serializable — эң катуу деңгээл, транзакциялар сыяктуу эле аткарылат жана бардык кемчиликтер жокко чыгарыла тургандай кылынат.

Негизги айырма — бул иштөө жана катуу изоляциянын ортосундагы баланс. Деңгээл жогорулаган сайын, параллелизм азая берет, бирок маалыматтын бүтүндүгү жогорулайт.