Sobes.tech
Junior — Middle

Ինչպե՞ս է տվյալների բազան օգտագործում WAL-գրառը ընդհատված գործարքը վերականգնելու համար։

sobes.tech AI

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

WAL (Write-Ahead Logging) է տվյալների բազաներում գրանցման մեխանիզմ, որը ապահովում է տվյալների հուսալի վերականգնումը խափանումներից հետո:

Երբ մի գործարք փոփոխում է տվյալները, փոփոխությունները նախ գրանցվում են WAL-գրառի մեջ դիսկին, ապա կիրառվում հիմնական տվյալների բազայի վրա: Եթե համակարգը ընդհատվում է (օրինակ, սնուցման խափանման պատճառով), վերականգնման ժամանակ բազան կարդում է WAL-գրառը և կրկնում (redo) կամ չեղյալ է հայտարարում (undo) ընթացքի մեջ գտնվող գործարքները, որպեսզի տվյալները վերականգնվեն կոնսիստենտ վիճակի:

Այսպիսով, WAL-ը թույլ է տալիս՝

  • երաշխավորել գործարքների ատոմատությունը:
  • արագ վերականգնել խափանումներից հետո՝ կիրառելով միայն գրառման փոփոխությունները:

Մոտավոր վերականգնման գործընթացը՝

  1. Սկսելու ժամանակ, բազան կարդում է WAL-գրառը:
  2. Կիրառում է բոլոր ավարտված գործարքները:
  3. Չեղյալ է հայտարարում անավարտ գործարքները:
  4. Դրանից հետո, բազան պատրաստ է աշխատել կոնսիստենտ տվյալներով: