2016-10-24 2 views
-2

CAP определение теоремы взята из Википедии: https://en.wikipedia.org/wiki/CAP_theoremНеправильная теорема CAP?

Это невозможно для распределенной компьютерной системы, чтобы одновременно обеспечить все три следующие гарантии:

  • Консистенции (каждое чтение получает самый последнюю запись или ошибка)
  • Доступность (каждый запрос получает ответ, без гарантии, что он содержит самую последнюю версию информации)
  • толерантность Partition (система продолжает работать, несмотря на произвольное разбиение из-за сбоев в работе сети)

Моя мысль:

Для любой системы с СА, они могут нормально работать без раздела. Когда существует раздел, система может вернуться к CP или AP, которая может продолжать работать. Так как система может продолжать работать, она также выполняет P. Поэтому любая система CA также является системой CAP. Таким образом, утверждение, что невозможно, чтобы все CAP сосуществовали в системе, неверно.

+0

Не знаете, в чем проблема с этим вопросом? Общая действительная, хотя и ложная, теория. – usr

ответ

1

C и A означают, что система предоставляет эти гарантии перед перегородками. Поэтому отказ от этих свойств во время раздела делает свойство недействительным.

Компромисс ЦА применим только во время раздела (потому что без разделов мы можем отказаться от P и получить ЦС). Тогда вам нужно решить.

Практически значимый выбор - это CP против AP, так как разделы всегда могут произойти.

+0

Спасибо за ваш ответ. Вы имеете в виду CAP - это состояние, так как вы сказали «без перерывов мы можем отказаться от P и получить CA»? – netok

+1

CAP - это свойство системы, и для хранения одного объекта оно должно быть всегда. Лучшей фразой будет «Если мы предположим, что нет разделов, мы должны построить систему, которая является CA, потому что нам не нужно свойство P.» – usr

+0

Итак, теорема CAP на самом деле касается выбора 1 из CA, а не 2 из CAP. Если CAP - это свойство, которое должно быть истинным во все времена, то при наличии разделов система CA не смогла бы сохранить свои гарантии. Спасибо, что разобрался с моей путаницей. – netok