Junior — Middle
Ի՞նչ է տվյալների բազայի կառավարման համակարգերում Repeatable Read անջատման մակարդակի օգտագործման նպատակը։
sobes.tech AI
Պատասխան AI-ից
Տրանսակցիաների առանձնացման մակարդակը Repeatable Read նախատեսված է կանխելու ոչ կրկնվող ընթերցման (non-repeatable read) երևույթը: Սա նշանակում է, որ նույն տրանցակցիայի շրջանակում, նույն տվյալները կրկին ընթերցելիս, դրանք չեն փոխվի, նույնիսկ եթե այլ տրանցակցիաներ փորձում են դրանք թարմացնել:
Նպատակներ:
- Համոզվել, որ տրանցակցիայի սկզբում ընթերցված տվյալները կմնան անփոփոխ մինչև նրա ավարտը:
- Պատկանել այն իրավիճակներին, երբ մի տրանցակցիա տեսնում է տարբեր արժեքներ նույն գրանցումների համար կրկնվող ընթերցումների ժամանակ:
Այնուամենայնիվ, Repeatable Read-ով հնարավոր են ֆանտոմային ընթերցումներ (phantom reads), երբ նոր տողեր, որոնք բավարարում են հարցման պայմանը, հայտնվում են այլ տրանցակցիաների արդյունքներում:
C# և .NET-ում, Repeatable Read մակարդակը կարող է սահմանվել տրանցակցիաների հետ աշխատելիս TransactionScope կամ SqlTransaction միջոցով: