CAP teoremi

CAP teoremi (ing. CAP theorem) — dağıtık sistemlərdəki üç əsas xüsusiyyətin eyni anda tam şəkildə təmin edilə bilməyəcəyini bildirən nəzəriyyədir.[1][2]

CAP abbreviaturası üç əsas xüsusiyyəti təmsil edir:[3]

  1. Tutarlılıq (ing. Consistency) — sistemdəki bütün düyünlər eyni anda eyni məlumatı alır. Yəni, bir sorğu sistemə daxil olduğu zaman, hər hansı bir düyündən alınan cavab həmişə ən son dəyişdirilmiş məlumatı əks etdirir.
  2. Əlçatanlıq (ing. Availability) — sistem hər zaman cavab verir, hətta bəzi düyünlər sıradan çıxsa belə. Yəni, istənilən vaxt sorğuya cavab ala bilərsiniz.
  3. Bölünmə toleransı (ing. Partition Tolerance) — sistemdə şəbəkə bölünmələri, yəni bəzi düyünlər arasında əlaqə pozuntuları olsa da, sistemin işini davam etdirməsi mümkündür.[4]

CAP teoreminin üç xüsusiyyətin hər ikisini eyni vaxtda tam şəkildə təmin etmək mümkün deyil. Yalnız ikisi birlikdə əldə edilə bilər, üçüncü xüsusiyyətə isə qurban verilməlidir:[5]

  • Tutarlılıq + Əlçatanlıq — sistem hər zaman ən son məlumatı göstərir və əlçatan olur, lakin bölünmələr zamanı işini davam etdirməyə bilər.
  • Tutarlılıq + Bölünmə Toleransı — sistem bölünmələr zamanı işləyir və bütün düyünlərdə eyni məlumatı saxlayır, lakin bəzi düyünlər işləmir deyə əlçatanlıq pozula bilər.[6]
  • Əlçatanlıq + Bölünmə Toleransı — sistem həmişə cavab verir və bölünmələr zamanı işləyir, lakin məlumatlar hər zaman tam tutarlı olmaya bilər.

CAP teoremi, dağıtık sistemlərin dizaynında vacib nəzəriyyədir və sistemlərin necə işləyəcəyini seçərkən mühəndislərə istiqamət verir.

  1. "Brewer's CAP Theorem". julianbrowne.com. 2009-01-11. 2024-01-24 tarixində arxivləşdirilib. İstifadə tarixi: 2024-10-23.
  2. "Brewers CAP Theorem on distributed systems". royans.net. 2010-02-14. 2024-01-28 tarixində arxivləşdirilib. İstifadə tarixi: 2024-10-23.
  3. Gilbert, Seth; Lynch, Nancy. "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services". ACM SIGACT News. Association for Computing Machinery (ACM). 33 (2). 2002: 51–59. doi:10.1145/564585.564601. ISSN 0163-5700.
  4. Fowler, Adam. NoSQL For Dummies. For Dummies. 2015. ISBN 978-8126554904.
  5. Fowler, Adam. NoSQL For Dummies. For Dummies. 2015. ISBN 978-8126554904.
  6. Liochon, Nicolas. "The confusing CAP and ACID wording". This long run. 8 December 2023 tarixində arxivləşdirilib. İstifadə tarixi: 1 February 2019.