Теорема CAP проти BASE (NoSQL)


12

Теорема CAP проти BASE (NoSQL)

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

Я знаю властивості BASE, ACID та CAP, але мені важко зрозуміти, яке відношення мають теорема CAP та BASE один до одного. Як я розумію, теорема CAP призводить до абревіатури BASE, але чи це правильний висновок? Або це два різні підходи до "вбудованої" бази даних, навколо якої поділяються деякі подібні властивості ??

У цій публікації в блозі (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) автор пише:

Складніше розробити програмне забезпечення у відмовному світі BASE порівняно з вибагливим світом ACID, але теорема CAP Brewer говорить, що у вас немає вибору, якщо ви хочете збільшити масштаб. Однак, як зазначає Брюер у цій презентації, між ACID та BASE існує континуум. Ви можете вирішити, наскільки близько ви хочете бути до одного кінця континууму чи до іншого, відповідно до своїх пріоритетів.

В іншій статті автор пише:

Багато баз даних NOSQL, перш за все, послабили вимоги щодо послідовності, щоб досягти кращої доступності та розділення. Це призвело до того, що системи відомі як BASE (в основному доступні, м'які стани, з часом стійкі). Вони не мають транзакцій у класичному розумінні та встановлюють обмеження для моделі даних, щоб забезпечити кращі схеми розподілу (наприклад, система "Динамо" тощо). Більш всебічне обговорення CAP, ACID та BASE доступне у цьому вступі.

Це чітко свідчить про те, що CAP приводить до BASE.

Я сподіваюся, що хтось може мені це прояснити і зняти мою розгубленість ..

Спасибі
- Mestika

Відповіді:


15

CAP - це в основному континуум, уздовж якого БАЗА та кислота перебувають на протилежних кінцях.

Діаграма ССП

CAP - це толерантність, доступність та роздільність. В основному ви можете вибрати 2 з них, але ви не можете зробити всі 3.

ACID зосереджується на послідовності та доступності.

BASE зосереджується на толерантності та доступності розділів та викидає консистенцію у вікно.


1
Хороша база даних ACID повинна зосереджуватись на консистенції та толерантності до розділів, оскільки викидання толерантності розділів у вікно (щоб сказати це у ваших словах) порушило б послідовність кожного разу, коли відбудеться розділ.
пітер

ACID не зосереджується на доступності. "A" означає Atomicity і охоплює такі речі, як аборт - відкат - перезапуск.
momo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.