Sobes.tech
Junior — Middle

შეგიძლიათ ჩამოთვალოთ მონაცემთა ბაზების მართვის სისტემებში ტრანზაქციების იზოლაციის დონეები?

sobes.tech AI

პასუხი AI-სგან

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

  1. Read Uncommitted (Չհաստատված ընթերցում)

    • Գործարքը կարող է տեսնել մյուս գործարքների փոփոխությունները, նույնիսկ եթե դրանք դեռ չկան հաստատված:
    • Միջնորդ "մեղավոր ընթերցումներ" (dirty reads) հնարավոր են:
  2. Read Committed (Հաստատված ընթերցում)

    • Գործարքը տեսնում է միայն հաստատված փոփոխությունները:
    • Հեռացնում է "մեղավոր ընթերցումները", բայց հնարավոր են ոչ կրկնվող ընթերցումներ:
  3. Repeatable Read (Կրկնվող ընթերցում)

    • Գործարքը երաշխավորում է, որ եթե այն կարդացել է տվյալները, ապա կրկնակի ընթերցումը նույն տվյալների հետ նույն արդյունքը կտա:
    • Պահպանում է, որ չլինեն ոչ կրկնվող ընթերցումներ, բայց հնարավոր են ֆանտոմային ընթերցումներ:
  4. Serializable (Սերիալիզացված)

    • Ամենակոշտ մակարդակ, գործարքները կատարվում են այնպես, ինչպես եթե դրանք լինեին հերթական:
    • Հեռացնում է ֆանտոմային ընթերցումները, ապահովում է առավելագույն ամբողջականություն, բայց սակավացնում է համաժամանակությունը:

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