Sobes.tech
Junior — Middle

Ի՞նչ ռիսկեր են առաջանում, երբ միաժամանակ կատարվում են մի քանի հարցումներ, որոնք փոփոխում են նույն տվյալները երկու գործարքների պայմաններում։

sobes.tech AI

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

Երբ միաժամանակ կատարվում են մի քանի հարցումներ, որոնք փոփոխում են նույն տվյալները տարբեր գործարքներում, առաջանում են հետևյալ ռիսկերը:

  • Արագության պայման (Race Condition): մեկ գործարքի փոփոխությունները կարող են գրավել մյուսի փոփոխությունները, ինչը հանգեցնում է տվյալների կորուստի:

  • Տվյալների ամբողջականության խախտում: եթե գործարքները չեն պատշաճ կերպով առանձնացված, տվյալները կարող են մնալ անհամապատասխան վիճակում:

  • Համապատասխան չտեսնված ընթերցումներ: մեկ գործարք տեսնում է փոփոխված կամ նոր տողեր, որոնք ավելացվել են մյուս գործարքով:

  • Մահվան փակագծեր (Deadlocks): գործարքները կարող են միմյանց փակել, սպասելով ռեսուրսների ազատմանը:

  • Կորած թարմացումներ (Lost Updates): երբ երկու հարցումներ ընթերցում են նույն տվյալները և հետո փորձում են դրանք թարմացնել, մեկի փոփոխությունները կարող են գրավել մյուսի կողմից:

Այս խնդիրներից խուսափելու համար օգտագործվում են գործարքների առանձնացման մակարդակներ և փակագծման մեխանիզմներ, օրինակ՝ SELECT FOR UPDATE կամ օպտիմիստական փակագծում։