Tranzaksiya jurnalı
Tranzaksiya jurnalı (ing. transaction log) — verilənlər bazasında bütün tranzaksiyaların və dəyişikliklərin qeyd olunduğu xüsusi bir fayldır. Jurnal, verilənlər bazasında baş verən əməliyyatların ardıcıllığını izləyir və tranzaksiyaların uğursuz olduğu hallarda verilənlər bazasını əvvəlki etibarlı vəziyyətinə qaytarmağa kömək edir.[1][2]
Jurnallar verilənlər bazası idarəetmə sistemlərinin (DBMS) bərpa və fəlakət zamanı məlumatları yenidən qurmaq üçün istifadə etdiyi vacib bir vasitədir. Tranzaksiya jurnalı, həmçinin ACID xüsusiyyətlərini təmin etmək üçün vacibdir.[3]
Ümumi verilənlər bazası jurnalının anatomiyası
[redaktə | mənbəni redaktə et]Verilənlər bazası jurnalı aşağıdakılardan ibarətdir:
- Giriş Sıra Nömrəsi (LSN): jurnal girişi üçün unikal identifikator. LSN ilə qeydlər daimi vaxtda bərpa oluna bilər. Əksər LSN-lər monoton artan qaydada təyin edilir ki, bu da ARIES kimi rekonstruksiya alqoritmlərində faydalıdır.
- Əvvəlki LSN: son jurnal girişinə keçid. Bu o deməkdir ki, verilənlər bazası qeydləri əlaqəli siyahı kimi yaradılır.
- Tranzaksiya ID: günlük girişini yaradan verilənlər bazası əməliyyatına istinad.
- Növ: verilənlər bazası jurnalı girişinin növünü təsvir edir.
Günlük girişi ilə nəticələnən faktiki dəyişikliklər haqqında məlumat.
Növləri
[redaktə | mənbəni redaktə et]Bütün jurnal qeydlərinə yuxarıdakı ümumi jurnal atributları, həmçinin onların növündən asılı olaraq digər atributlar (yuxarıda olduğu kimi Növ atributunda qeyd olunur) daxildir.[4]
- Yeniləmə jurnalının qeydi verilənlər bazasında yeniləməni (dəyişikliyi) qeyd edir. O, aşağıdakı əlavə məlumatları ehtiva edir:
- PageID: Dəyişdirilmiş səhifənin səhifə ID-sinə keçid.
- Uzunluq və Ofset: Baytlarda uzunluq və səhifə ofseti adətən daxil edilir.
- Şəkillərdən əvvəl və sonra: Səhifə dəyişikliyindən əvvəl və sonra səhifə baytlarının dəyərini ehtiva edir. Bəzi verilənlər bazalarında bir və ya hər iki şəklin daxil olduğu qeydlər ola bilər.
- Kompensasiya jurnalı girişi (CLR) verilənlər bazasında xüsusi dəyişikliyin geri qaytarılmasını qeyd edir. Hər biri tam olaraq bir başqa yeniləmə jurnalı qeydinə uyğun gəlir (baxmayaraq ki, müvafiq yeniləmə jurnalı girişi adətən kompensasiya jurnalının qeydində saxlanmır). O, aşağıdakı əlavə məlumatları ehtiva edir:
- undoNextLSN: bu sahədə son yeniləmə jurnalını yazan əməliyyat üçün ləğv ediləcək növbəti jurnal qeydinin LSN-si mövcuddur.
Həmçinin bax
[redaktə | mənbəni redaktə et]İstinadlar
[redaktə | mənbəni redaktə et]- ↑ Microsoft, The Transaction Log (SQL Server)
- ↑ sqlshack.com, A beginner’s guide to SQL Server transaction logs, February 11, 2014 by Ivan Stankovic
- ↑ neurobs.com, Logfiles
- ↑ techrepublic.com, Understanding the importance of transaction logs in SQL Server, SQL Server transaction log maintenance, By Crowe, Chizek, November 11, 2004