Verilənlər bazası tranzaksiyası

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:

  1. Atomluq — tranzaksiya ya tam yerinə yetirilir, ya da heç yerinə yetirilmir.
  2. Konsistensiya — tranzaksiya verilənlər bazasını etibarlı vəziyyətdə saxlayır.
  3. İzolasiya — paralel tranzaksiyalar bir-birini təsirləndirmir.
  4. Dayanıqlıq — tranzaksiya tamamlandıqdan sonra dəyişikliklər saxlanılır, hətta sistem uğursuz olsa belə.

Tranzaksiyalar BEGIN, COMMITROLLBACK kimi SQL əmrləri ilə idarə olunur.

Məqsədi

redaktə

Verilənlər bazası mühitində əməliyyatların iki əsas məqsədi var:[2]

  1. 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.
  2. 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.

Haqqında

redaktə

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:

  1. Əməliyyata başlamaq.
  2. Data manipulyasiyaları və/və ya sorğular toplusunu həyata keçirmək.
  3. Heç bir səhv baş verməyibsə, əməliyyatı həyata keçirmək.
  4. Səhv baş verərsə, əməliyyatı geri qaytarmaq.

Paylanmış əməliyyatlar

redaktə

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]

Həmçinin bax

redaktə

İstinadlar

redaktə
  1. "What is a Transaction? (Windows)". msdn.microsoft.com. 7 January 2021.
  2. DINCĂ, Ana-Maria; AXINTE, Sabina-Daniela; BACIVAROV, Ioan. "Performance Enhancements for Database Transactions". International Journal of Information Security and Cybercrime. 11 (2). 2022-12-29: 29–34. doi:10.19107/ijisc.2022.02.02. ISSN 2285-9225.
  3. 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.
  4. Mansouri, Yaser; Toosi, Adel Nadjaran; Buyya, Rajkumar. "Data Storage Management in Cloud Environments: Taxonomy, Survey, and Future Directions". ACM Computing Surveys. 50 (6). 2017-12-11: 91:1–91:51. doi:10.1145/3136623. ISSN 0360-0300.