4.1 Brewer-in Rahatlığı
Erik Brewer heç vaxt məlumat bazaları üzrə ekspert olmamışdı. O, paylanmış sistemləri öyrənir və 2000-ci ildə "Paylanmış Hesablama Prinsipləri" haqqında bir təqdimat etdi və burada CAP "teoremini" təqdim etdi. 2010-cu ildə o, bu konfransa yenidən dəvət olundu və burada CAP "teoremini" nəzərə alan sistemlərdən nümunələr gətirdi. Paylanmış sistemlərdə məlumat bazalarından istifadə olunan terminlərdən fərqli terminlər istifadə olunur.
Konkret olaraq, anında razılaşma istifadəçiyə məlumatların yeniləməsinin uğurla başa çatması haqqında məlumat verildikdən sonra bu əməliyyatın nəticəsinin dərhal hamı tərəfindən görünən olması mənasını verir.
Nəticədə razılaşma uzun müddət ərzində yeniləmələrin olmadığı təqdirdə, məlumatların bütün sistemdə yayılacağını və bütün replikaların eyni vəziyyətdə olacağını ifadə edir.
Rahatlıq anlayışının mənasını nəzərə alaraq belə bir nəticəyə gəlmək olar ki, Brewer-in "teoremi" çox sadə və başa düşüləndir: paylanmış sistemdə iki xüsusiyyəti — razılaşma, əlçatımlılıq və şəbəkə fasiləsinə dayanıqlılığı eyni zamanda əldə etmək mümkündür. Brewer ACID xüsusiyyətlərini BASE dəstinə (Başlanğıcda Mövcud, Yumşaq-dövlət, Gecikmiş razılaşma – əksər hallarda mövcudluq; qeyri-sabit vəziyyət; sonradan əldə olunan razılaşma) qarşı qoyur.
Ancaq bu müqayisə tam olaraq doğru deyil, çünki birincisi tranzaksiyaların işləmə məntiqi ilə bağlıdır, ikincisi isə paylanmış sistemlərin fiziki xüsusiyyətlərinə aiddir. Beləliklə, belə sistemlər ilə işləmək üçün iki müxtəlif işləmə sxemi tətbiq etmək lazımdır ki, bu da uyğunsuz tələblər gətirə bilər.
4.2 «Teorem»in İspatı
Çoxları Brewer-in "teoreminin" formal olaraq sübut edildiyini düşünür. Həqiqətən, Seth Gilbert və Nancy Lynch məqaləsində bəzi (demək olar ki) formal təriflər verilir ki, bunlar kontekstdə "teoremin" həqiqətən teorem halına gəldiyini və sübut olunduğunu göstərir. Lakin gəlin araşdıraq, paylanmış sistemlərin üç xüsusiyyəti necə müəyyən edilir, hansı ki, Brewer-in teoremi ilə yalnız iki xüsusiyyət eyni anda dəstəklənə bilər.
Razılaşma atomar və ya lineer razılaşma (atomic, or linearizable consistency) adlanır ki, bu da sistemin xüsusiyyəti olub, bütün fərdi məlumat obyektləri atomar (lineerizable) olur. Öz növbəsində, atomar obyekt, bir neçə əməliyyatları olan obyektə deyilir ki, əməliyyatın çağırışı və cavab məlumatlarının alınması sanki dərhal baş verir, yəni obyekt növbəti əməliyyatın çağırışını əvvəlki əməliyyatın tam başa çatmasından əvvəl qəbul etmir. Burada əməliyyatları qəbul etmək sırası belə olmalıdır ki, əgər oxuma əməliyyatı daimi yaddaşda yazma əməliyyatından sonra gəlirsə, oxuma əməliyyatı bu və ya sonrakı yazma əməliyyatı ilə yazılmış dəyəri geri qaytarmalıdır.
Paylanmış sistem daimi əlçatımlıdır, əgər uğursuz olmayan bir nod tərəfindən qəbul edilən hər bir sorğuya cavab verilirsə. Şəbəkə parçalanmasına qarşı davamlılıq sistemi bir noddan digərinə göndərilən istənilən sayıdakı mesajın itməsi vəziyyətində sistemin yaşarlığını qorumaqla modelləşdirilir.
Bu təriflər əsasında Gilbert və Lynch aşağıdakı teoremi formalaşdıra bilərlər (asinxron şəbəkə modelində saatlar yoxdur və nodlar yalnız alınan mesajlar və yerli hesablama əsasında qərarlar qəbul etməlidir):
Asinxron şəbəkə modelində oxuma və yazma əməliyyatları olan məlumat obyektini icra etmək mümkün deyil, belə bir obyekt əlçatımlılıq və atomar razılaşmanı bütün icazə verilən icratlar üçün təmin edir (mesajların itildiyi icralar daxil olmaqla).
Bu teorem həqiqətən əks halda sübut üsulu ilə kifayət qədər sadə formal olaraq sübut olunur. Məqalədə bundan çıxan nəticə göstərilir ki:
Asinxron şəbəkə modelində oxuma və yazma əməliyyatları olan bir məlumat obyektini icra etmək mümkün deyil, belə bir obyekt əlçatımlılıq xüsusiyyətlərini bütün icazə verilən icralar üçün və mesajların itilmədiyi icazə verilən icraatlar üçün atomar razılaşmanı təmin edir.
Bundan əlavə, qismən sinxron şəbəkə modelində əsas teoremin düzgünlüyü sübut edilir, burada hər bir nodda saatlar var, saatla göstərilən vaxt eyni sürətlə artır, lakin həmin əsl zamanda müxtəlif vaxtları göstərə bilərlər. Belə bir halda, oxşar nəticə çıxmır, bu da göstərir ki, qismən sinxron şəbəkələrdə "yaxşı" xüsusiyyətləri olan paylanmış sistemlərin təşkili üçün daha çox imkanlar mövcuddur.
Bəli, bir mənada (Brewer tərəfindən nəzərdə tutulan mənada deyil) Gilbert və Lynch bir paylanmış sistemdə atomar razılaşma, əlçatımlılıq və şəbəkə parçalanmasına davamlılıq xüsusiyyətlərinin eyni anda təmin edilməsinin mümkün olmadığını sübut etdilər. Amma bu, ümumiyyətlə, məlumat bazası tranzaksiyalarına və xüsusən də ACID-tranzaksiyalarına necə təsir edir?
4.3 ACID-tranzaksiyaları
Julian Browne, CAP "teoreminin" müzakirəsinə həsr olunmuş qeydlərində yazır:
Gilbert və Lynch sübutlarında rahatlıq termini yerinə atomiklik terminindən istifadə edir, çünki texniki nöqteyi-nəzərdən daha məntiqlidir, çünki ACID mənasında rahatlıq məlumat bazası tranzaksiyalarının ideal xüsusiyyətlərə aid edilir və bu, əvvəlcədən müəyyən edilmiş məhdudiyyətləri pozan heç bir məlumatın uzunmüddətli yaddaşda saxlanılmayacağı mənasını verir.
Ancaq paylanmış sistemlərin əvvəlcədən müəyyən edilmiş məhdudiyyətinin eyni məlumat elementi üçün bir neçə fərqli dəyərin qadağan olunduğunu düşünürsənsə, məncə, bu absatraksiyanın rahatlığındakı çatışmazlığı əhəmiyyətsiz hesab etmək olar (əgər Brewer atomiklik terminini istifadə etsəydi, AAP teoreminin adı yaranacaqdı ki, bu da çox çətin tələffüz olunurdu).
Bu ciddi şəkildə yazılmayıb, amma dürüst. Həqiqətən də, atomar razılaşma tələbini ACID mənasında tranzaksiyaların rahatlıq tələbləri ilə qarışdırmaq olmaz. Məlumat bazasının bütövlüyü məhdudiyyətləri — bunlar məntiqqi və ya istəsəniz biznes tələblərdir. Onlar tətbiqi sahənin məntiqindən gəlirlər. Atomar rahatlıq tələbi tamamilə başqa bir növ tələbdır. Bu, məlumat bazalarında ənənəvi olaraq fiziki rahatlıq adlandırılan növə aiddir (məsələn, indeks dəyişikliyi əməliyyatını yerinə yetirərkən B+-ağacına uyğun olan bütün bloklar düzgün qiymətlər daşımalı və düzgün bağlantılara malik olmalıdır).
Daha ciddi şəkildə nə deyir, məlumat bazası icma nümayəndələri Daniel Abadi və Alexander Thomson qeydlərində:
... yüksək səviyyəli əlçatımlığın dəstəklənməsi üçün məlumatların replikasiyasına yönəlmiş sistemlərdə replikaların ciddi şəkildə razılaşdırılması dəstəklənmək istənir. Bu, ACID xüsusiyyəti deyil, amma bu proqramların inkişafını asanlaşdıran massiv-paralel verilənlər bazası idarəetmə sistemi xüsusiyyətidir.
Başqa sözlə, Brewer razılaşması ACID mənasında rahatlıqla heç bir əlaqəsi yoxdur, lakin məlumatların replikasiyası ilə yüksək əlçatımlıq təmin edən sistemlərdə replikaların ciddi razılaşmanın saxlanılması yaxşı olardı. Bu, ACID xüsusiyyəti deyil, lakin massiv-paralel verilənlər bazası idarəetmə sisteminin texniki (fiziki) xüsusiyyətidir.
Michael Stonebraker, keyfiyyətli müasir verilənlər bazası idarəetmə sisteminin qurulmasının açarının düzgün texniki kompromislərin seçilməsinin olduğunu düşünür. Konkret mühəndislik həllini seçərkən, gələcək istifadəçilərin tələblərini, müxtəlif uğursuz vəziyyətlərin ehtimallarını və s. nəzərə almaq lazımdır, və heç bir ümumi nəzəri göstərişlərə (CAP "teoremi" də daxil olmaqla) dogmatik yanaşmamaq lazımdır.
Stonebraker hesab edir ki, paralel sistemlərin məlumat bazası sahəsində Brewer razılaşmasından imtina etmək və yüksək əlçatımlığı və şəbəkə ayrılmasına davamlılığa dəstək vermək pis kompromisdir, çünki (a) replikaların razılaşması sistemin çox faydalı xüsusiyyətidir; (b) paralel tranzaksiyalı massiv-paralel verilənlər bazası idarəetmə sistemləri çox sayda nodları olan klasterlərə ehtiyac duymur, beləliklə, şəbəkə ayrılması vəziyyətləri ehtimallar azdır; (c) sistem şəbəkə ayrılmasına görə deyil, məsələn, müntəzəm olaraq müşahidə olunan proqram səhvləri səbəbindən asanlıqla əlçatmaz ola bilər.
Beləliklə, NoSQL düşərgəsinin yüksək aktivliyi (NoACID oxu), Brewer-in "teoreminə" tez-tez istinad edərək, massiv-paralel ACID-tranzaksiyaları dəstək edən paralel verilənlər bazası idarəetmə sistemlərinin qurulmasının nəzəri olaraq mümkün olmadığını deyil, sadələşdirilmiş sistemlərin, yalnız ACID-tranzaksiyalarını deyil, həm də replikaların razılaşmasını dəstəkləmədən, daha asan və sürətli şəkildə yaradıldığını göstərməkdir. Sadələşdirilmiş strukturlarına görə, onlar çox sürətli məlumat emalı təmin edə bilirlər və bir sıra tətbiqlər üçün bu, məlumat bazası texnologiyasına xas olan bütün rahatlıqlardan daha önəmlidir.
Məlumat bazaları icma bu çağırışa necə cavab verəcək, baxaq.
GO TO FULL VERSION