Sobes.tech
Middle

Ի՞նչ է գոյություն ունեցող մեկուսացման մակարդակների դասակարգումը։

sobes.tech AI

Պատասխան AI-ից

Տվյալների բազաների մեկուսացման մակարդակները որոշում են, թե որքանով են գործառնությունները մեկուսացված միմյանցից և այլ գործառնությունների փոփոխություններից: Դրանք կանխում են տարբեր խնդիրներ համաժամանակյա մուտքի ժամանակ:

Ստանդարտ SQL-ի մակարդակների դասակարգում:

  • READ UNCOMMITTED
    • թույլ է տալիս կարդալ չկայացած փոփոխությունները (աղտոտ կարդում / dirty read):
    • խնդիրներ՝ աղտոտ կարդում, կրկնվող չկարդալ, ֆանտոմային կարդալ:
  • READ COMMITTED
    • թույլ է տալիս կարդալ միայն հաստատված փոփոխությունները:
    • արգելում է աղտոտ կարդալ:
    • խնդիրներ՝ կրկնվող չկարդալ, ֆանտոմային կարդալ:
    • ամենատարածված օգտագործվող մակարդակ:
  • REPEATABLE READ
    • երաշխավորում է, որ նույն տողերի հավաքածուի կրկնակի կարդալը նույն տվյալները կվերադարձնի, նույնիսկ եթե այլ գործառնություններ փոխեն դրանք:
    • արգելում է աղտոտ կարդալ և կրկնվող չկարդալ:
    • խնդիր՝ ֆանտոմային կարդալ (նոր տողերի հայտնվել, որոնք համապատասխանում են ընտրության պայմանին):
  • SERIALIZABLE
    • ամենաբարձր մեկուսացման մակարդակ:
    • երաշխավորում է լրիվ բացակայություն համաժամանակյա մուտքի խնդիրների:
    • գործառնությունները կատարվում են այնպես, ինչպես եթե դրանք կատարվում էին հերթականությամբ:
    • արգելում է աղտոտ կարդալ, կրկնվող չկարդալ և ֆանտոմային կարդալ:
    • կարող է զգալիորեն ազդել արտադրողականության վրա:

Համաժամանակյա մուտքի խնդիրներ:

Պատճառը READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE
Աղտոտ կարդալ Այո Ոչ Ոչ Ոչ
Կրկնվող չկարդալ Այո Այո Ոչ Ոչ
Ֆանտոմային կարդալ Այո Այո Այո Ոչ

Ընտրելիս մեկուսացման մակարդակը կախված է հավելվածի պահանջներից և տվյալների ամբողջականության և արտադրողականության միջև բալանսից։