Послідовність теореми ACID та CAP, чи однакові вони?


18

Наскільки я розумію, послідовність ACID забезпечує цілісність даних.

Однак узгодженість CAP означає, що дані можуть швидко з’являтися в розподіленій системі.

Чи означає це: вони не є однаковою концепцією?

Відповіді:


18

Вони насправді не однакові через обсяг даних

Кислота

CAP

  • Узгодженість (усі вузли мають однакові дані за допомогою послідовності подій)
  • Доступність
  • Толерантність до розділів: система продовжує працювати, незважаючи на довільну втрату повідомлення або вихід з ладу частини системи

СИНОПИС

  • ACID вирішує узгодженість даних окремих вузлів
  • CAP вирішує узгодженість даних щодо кластеру

1
Подія. Нарешті, мав бути напівжирним, Роландо. Це розірвач угод :) З Новим роком!
Філ

3

Теорема CAP : вказує, що розподілена система може надавати дві послуги (наприклад, доступність та допуск розділів), але ніколи три. Якщо, наприклад, сервіс надає доступність і розділення, він ніколи не може забезпечити узгодженість, не відразу, таким чином, використовується Eventual Consistentity, що дозволяє інфраструктурі перетікати між невідповідністю і послідовністю, однак в один момент рано чи пізно інфраструктура стане послідовною , що призводить до можливої ​​консистенції. Хмарні сервіси працюють таким чином, а Amazon Simple DB використовує можливу послідовність.

Особливості ACID зазвичай застосовуються до реляційних БД. Якщо ви хочете застосувати ACID розподіленим способом (розподілений БД), ACID використовує 2PC (двофазний фіксатор) для примусової послідовності між розділами. Однак оскільки ACID забезпечує послідовність та розподіл, застосовуючи теорему CAP для (розподілених середовищ), це означає, що доступність порушена.

Через це використовується BASE (в основному доступний, м'який стан, зрештою стійкий), який може забезпечити рівні масштабованості, які неможливо отримати за допомогою ACID.

Сподіваюся, це допомагає.


-1

Щодо узгодженості теореми CAP Джуліан Браун пише у своїй статті ( http://www.julianbrowne.com/article/brewers-cap-theorem ):

Послідовна послуга функціонує повністю або зовсім не працює. Гілберт і Лінч використовують слово "атомний" замість послідовного у своєму доказуванні, що має більше сенсу технічно, тому що, строго кажучи, послідовність C в ACID застосовується до ідеальних властивостей транзакцій бази даних і означає, що дані ніколи не будуть зберігатися, що порушує певні заздалегідь встановлені обмеження. Але якщо ви вважаєте це заздалегідь встановленим обмеженням розподілених систем, що декілька значень для однієї частини даних заборонені, то я думаю, що витік у абстракції підключений (плюс, якби Brewer використовував слово атомне, воно називалося б AAP теорема, і всі ми були б у лікарні кожного разу, коли намагалися промовити це).

Таким чином, C у CAP відповідав би A в ACID.

З Гілбертом і Лінчем він посилається на статтю "Сет Гілберт і Ненсі Лінч: здогади пивовара та можливість послідовних, доступних веб-служб, стійких до розділів".


1
Послідовність CAP застосовується до розподіленої системи, тоді як ACID абстрагується від цього рівня архітектури системи. Консистенція CAP може знадобитися для реалізації атомної кислоти, але це не те саме.
мустаччо

Оскільки Брюер сам ставить свою теорему CAP стосовно ACID ( people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf Page 2 & 3), я вважаю, що цілком справедливо заглянути глибше в кореляцію між співвідношенням і те й інше.
white_gecko
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.