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:
- 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.
Məqsədi
[redaktə | mənbəni redaktə et]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.
Haqqında
[redaktə | mənbəni redaktə et]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.
- Səhv baş verərsə, əməliyyatı geri qaytarmaq.
Paylanmış əməliyyatlar
[redaktə | mənbəni redaktə et]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ə | mənbəni redaktə et]İstinadlar
[redaktə | mənbəni redaktə et]- ↑ "What is a Transaction? (Windows)". msdn.microsoft.com. 7 January 2021. 23 May 2018 tarixində arxivləşdirilib. İstifadə tarixi: 24 October 2024.
- ↑ 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.
- ↑ 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.
- ↑ 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.