DBMS-də paralel əməliyyatlarla bərpa

Ünvanı yeniləmək kimi tək bir əməliyyat varsa, yuxarıdakı iki üsul yaxşıdır. Bəs eyni anda baş verən bir neçə əməliyyat olduqda nə baş verəcək? Qeydləri qeyd etmək üçün eyni üsuldan istifadə etmək olar. Amma paralel əməliyyatlar olduğundan, sifariş və hər əməliyyatın vaxtı böyük fərq yaradır. Əməliyyat qaydasının qorunmaması bərpa zamanı yanlış məlumatlara səbəb olacaq. Həmçinin, əməliyyatlar ola bilər addımların sayı. Hər bir addım üçün jurnalın saxlanması log faylının ölçüsünü artıracaq. Yenə də bu əməliyyatlarla birlikdə bir günlük faylını saxlamaq əlavə xərcə çevriləcəkdir. Bundan əlavə, təkrar əməliyyatı yerinə yetirmək həm də əlavə xərcdir, çünki icra olunan əməliyyatı təkrar-təkrar yerinə yetirir. Bu, əslində lazım deyil. Beləliklə, burada məqsədimiz asan olan kiçik log faylı olmalıdır məlumatların bərpası uğursuzluq halında. Bu vəziyyəti idarə etmək üçün Yoxlama məntəqələri əməliyyat zamanı təqdim olunur.

Yoxlama məntəqəsi əlfəcin kimi fəaliyyət göstərir. Əməliyyatın icrası zamanı belə yoxlama məntəqələri qeyd olunur və əməliyyat icra olunur. Günlük fayllar yaradılacaq əməliyyatların addımları ilə həmişə olduğu kimi. Yoxlama məntəqəsinə çatdıqda, əməliyyat verilənlər bazasına və ona qədər olan bütün qeydlərə yenilənəcəkdir nöqtə silinəcək fayldan. Log faylları daha sonra növbəti keçid məntəqəsinə qədər əməliyyatın yeni addımları ilə yenilənir və s. Burada nəzarət məntəqəsinin yaradılmasına diqqət yetirilməlidir, çünki hər hansı bir əməliyyat tam başa çatdırılmamışdan əvvəl hər hansı yoxlama məntəqələri yaradılarsa və məlumatlar verilənlər bazasına yenilənirsə, o, jurnal faylının və yoxlama məntəqəsinin məqsədinə cavab verməyəcək. Hər bir əməliyyat başa çatdıqda və ya verilənlər bazası ardıcıl vəziyyətdə olduqda yoxlama məntəqələri yaradılırsa, bu faydalı olacaqdır.

Tutaq ki, 4 paralel əməliyyat var - T1, T2, T3 və T4. T1-in ortasına bir yoxlama məntəqəsi əlavə olunur və T4 icra edilərkən nasazlıq olur. Qurtarma sisteminin verilənlər bazasını bu uğursuzluqdan necə qurtardığını görək.

  • Gündəlik sənədlərini sondan başlayaraq oxumağa başlayır ki, əməliyyatları geri çevirə bilsin. yəni; T4 əməliyyatından T1-ə qədər günlük sənədlərini oxuyur.
  • Qurtarma sistemi həmişə qeydləri geri qaytarın və yenidən qeyd edin. Geri al jurnalındakı giriş qeydləri əməliyyatların ləğvi üçün istifadə ediləcək, burada təkrar siyahıda qeydlər yenidən icra ediləcəkdir. Gündəlik sənədlərini (ilə) oxuduğu halda əməliyyatlar yenidən siyahıya salınır. , ) və ya . Bu o deməkdir ki, bərpa olunduqdan sonra yenidən həyata keçirmək üçün yenidən tamamlanan siyahıya tamamlanan bütün əməliyyatları sadalayır. Yuxarıdakı nümunədə T2 və T3 əməliyyatları ( , ) qeyd sənədində. T1 əməliyyatı yalnız olacaq günlük sənədində. Çünki əməliyyat, nəzarət nöqtəsi keçdikdən sonra həyata keçirilir. Beləliklə bütün qeydlər , onsuz da verilənlər bazasına yazılır və bu addımlar üçün günlük faylı silinir. Buna görə T1, T2 və T3-ləri yenidən siyahıya salır.
  • Yalnızca qeydlər tamamlanmadığı və DB-nin uyğunsuz vəziyyətinə gətirib çıxara biləcəyi üçün geri siyahıya alınır. Yuxarıdakı nümunədə bu əməliyyat hələ başa çatmadığından və uğursuz olduğu üçün T4 geri qaytarma siyahısına salınacaq.

DBMS eyni vaxtda məlumatları necə bərpa edir əməliyyat uğursuzluq.

Translate »