Verilənlər bazası tranzaksiyası (ing.Database transaction) — verilənlər bazasında bir və ya bir neçə əməliyyatı birləşdirən və vahid şəkildə yerinə yetirilən bir prosesdir.[1]
Tranzaksiyalar ACID xüsusiyyətlərinə malikdir:
Atomluq — tranzaksiya ya tam yerinə yetirilir, ya da heç yerinə yetirilmir.
Konsistensiya — tranzaksiya verilənlər bazasını etibarlı vəziyyətdə saxlayır.
İzolasiya — paralel tranzaksiyalar bir-birini təsirləndirmir.
Dayanıqlıq — tranzaksiya tamamlandıqdan sonra dəyişikliklər saxlanılır, hətta sistem uğursuz olsa belə.
Tranzaksiyalar BEGIN, COMMIT və ROLLBACK kimi SQL əmrləri ilə idarə olunur.
Verilənlər bazası mühitində əməliyyatların iki əsas məqsədi var:[2]
Uğursuzluqları zərif şəkildə bərpa etməyə və hətta sistem nasazlığı halında verilənlər bazası ardıcıllığını qorumağa imkan verən etibarlı iş vahidlərini təmin edin. Məsələn: İcra vaxtından əvvəl və gözlənilmədən (tam və ya qismən) dayandırıldıqda, bu halda bir çox verilənlər bazası əməliyyatları qeyri-müəyyən statusla natamam qalır.
Verilənlər bazasına eyni vaxtda daxil olan proqramlar arasında izolyasiyanı təmin edin. Bu izolyasiya təmin edilmədikdə, proqram nəticələri səhv ola bilər.
Verilənlər bazası idarəetmə sistemində əməliyyat, bəzən bir neçə əməliyyatdan ibarət olan vahid məntiq və ya iş vahididir. Verilənlər bazasında ardıcıllıqla yerinə yetirilən istənilən məntiqi hesablama əməliyyat adlanır. Bir misal, bir bank hesabından digərinə köçürmədir: tam əməliyyat bir hesabdan köçürüləcək məbləğin çıxılmasını və digər hesaba eyni məbləğin əlavə edilməsini tələb edir.
Verilənlər bazası sistemində əməliyyat hər biri məlumat bazasına məlumatı oxuyan və/yaxud yazan bir və ya bir neçə verilənlərin manipulyasiyası ilə bağlı bəyanatlardan və sorğulardan ibarət ola bilər. Verilənlər bazası sistemlərinin istifadəçiləri məlumatların ardıcıllığını və bütövlüyünü son dərəcə vacib hesab edirlər. Sadə bir əməliyyat adətən aşağıdakılara bənzər nümunədən istifadə edərək əməliyyatda paketlənmiş SQL kimi bir dildə verilənlər bazası sisteminə verilir:
Əməliyyata başlamaq.
Data manipulyasiyaları və/və ya sorğular toplusunu həyata keçirmək.
Heç bir səhv baş verməyibsə, əməliyyatı həyata keçirmək.
Verilənlər bazası sistemləri paylanmış əməliyyatları[3] çoxlu qovşaqlar üzərindən verilənlərə daxil olan əməliyyatlar kimi həyata keçirir. Paylanmış əməliyyat ACID xassələrini çoxsaylı qovşaqlar üzərində tətbiq edir və verilənlər bazası, saxlama menecerləri, fayl sistemləri, mesajlaşma sistemləri və digər məlumat menecerləri kimi sistemləri əhatə edə bilər. Paylanmış əməliyyatda, adətən, əməliyyatın bütün hissələrinin bütün müvafiq sistemlərə tətbiq olunmasını təmin etmək üçün bütün prosesləri əlaqələndirən bir qurum olur.[4]
↑Beeri, C.; Bernstein, P. A.; Goodman, N. "A model for concurrency in nested transactions systems". Journal of the ACM. 36 (1). 1989: 230–269. doi:10.1145/62044.62046.