Middle
Ի՞նչ է գոյություն ունեցող մեկուսացման մակարդակների դասակարգումը։
sobes.tech AI
Պատասխան AI-ից
Տվյալների բազաների մեկուսացման մակարդակները որոշում են, թե որքանով են գործառնությունները մեկուսացված միմյանցից և այլ գործառնությունների փոփոխություններից: Դրանք կանխում են տարբեր խնդիրներ համաժամանակյա մուտքի ժամանակ:
Ստանդարտ SQL-ի մակարդակների դասակարգում:
- READ UNCOMMITTED
- թույլ է տալիս կարդալ չկայացած փոփոխությունները (աղտոտ կարդում / dirty read):
- խնդիրներ՝ աղտոտ կարդում, կրկնվող չկարդալ, ֆանտոմային կարդալ:
- READ COMMITTED
- թույլ է տալիս կարդալ միայն հաստատված փոփոխությունները:
- արգելում է աղտոտ կարդալ:
- խնդիրներ՝ կրկնվող չկարդալ, ֆանտոմային կարդալ:
- ամենատարածված օգտագործվող մակարդակ:
- REPEATABLE READ
- երաշխավորում է, որ նույն տողերի հավաքածուի կրկնակի կարդալը նույն տվյալները կվերադարձնի, նույնիսկ եթե այլ գործառնություններ փոխեն դրանք:
- արգելում է աղտոտ կարդալ և կրկնվող չկարդալ:
- խնդիր՝ ֆանտոմային կարդալ (նոր տողերի հայտնվել, որոնք համապատասխանում են ընտրության պայմանին):
- SERIALIZABLE
- ամենաբարձր մեկուսացման մակարդակ:
- երաշխավորում է լրիվ բացակայություն համաժամանակյա մուտքի խնդիրների:
- գործառնությունները կատարվում են այնպես, ինչպես եթե դրանք կատարվում էին հերթականությամբ:
- արգելում է աղտոտ կարդալ, կրկնվող չկարդալ և ֆանտոմային կարդալ:
- կարող է զգալիորեն ազդել արտադրողականության վրա:
Համաժամանակյա մուտքի խնդիրներ:
| Պատճառը | READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE |
|---|---|---|---|---|
| Աղտոտ կարդալ | Այո | Ոչ | Ոչ | Ոչ |
| Կրկնվող չկարդալ | Այո | Այո | Ոչ | Ոչ |
| Ֆանտոմային կարդալ | Այո | Այո | Այո | Ոչ |
Ընտրելիս մեկուսացման մակարդակը կախված է հավելվածի պահանջներից և տվյալների ամբողջականության և արտադրողականության միջև բալանսից։