Що таке теорема CAP в комп'ютерній науці?
У теоретичній комп'ютерній науці теорема CAP, також названа теоремою Брюера на честь комп'ютерного вченого Еріка Брюера, стверджує, що будь-який розподілений склад даних може забезпечити тільки дві з наступних трьох гарантій:

Послідовність
Кожне читання отримує останній запис або помилку.
Доступність
Кожен запит отримує відповідь (без помилки), без гарантії, що він містить найновіший запис.
Подільна толерантність
Система продовжує працювати, незважаючи на довільну кількість повідомлень, що падають (або затримуються) мережею між вузлами.
Коли відбувається збій мережевого розділу, необхідно вирішити, чи потрібно робити одну з наступних дій:

скасувати операцію і, таким чином, зменшити доступність, але забезпечити послідовність
продовжувати роботу і, таким чином, забезпечувати доступність, але ризик невідповідності.

Таким чином, якщо є мережевий розділ, потрібно вибирати між послідовністю або доступністю. Зверніть увагу, що послідовність, як це визначено в теоремі CAP, досить відрізняється від послідовності, гарантованої в операціях бази даних ACID.

Ерік Брюер стверджує, що часто використовувана концепція "два з трьох" може бути дещо обманливою, тому що системним дизайнерам потрібно тільки жертвувати послідовністю або доступністю в присутності розділів, але що в багатьох системах розділи рідкісні.
Теорема КЗпП, також відома як Теорема Брюера, стверджує, що розподілені сховища даних можуть забезпечити тільки дві з трьох гарантій: послідовність, доступність та толерантність розділів. Коли мережевий розділ виходить з ладу, необхідно вирішити, скасувати операцію або продовжити операцію. Ерік Брюер стверджує, що поняття "два з трьох" може бути хибним.