Изменения документа CAP теорема

Редактировал(а) Alexandr Fokin 2026/08/20 16:31

От версии 2.2
отредактировано Alexandr Fokin
на 2021/11/11 12:58
Изменить комментарий: Добавлен комментарий
К версии 2.10
отредактировано Alexandr Fokin
на 2026/08/20 16:31
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.Базы данных.WebHome
1 +Разработка.Базы данных.Концепции.WebHome
Содержимое
... ... @@ -1,15 +1,45 @@
1 -CAP теорема
1 +|(% style="width:77px" %) |(% style="width:1408px" %)CAP теорема
2 +|(% style="width:77px" %) |(% style="width:1408px" %)[[Кластер>>doc:Разработка.Базы данных.Механизмы.Кластер.WebHome]]
3 +|(% style="width:77px" %) |(% style="width:1408px" %)Всё, что вы не знали о CAP теореме
4 +https://habr.com/ru/post/328792
5 +|(% style="width:77px" %) |(% style="width:1408px" %)(((
6 +Понятие Split Brain
2 2  
3 -Consistency (согласованность данных) - в каждый момент времени все узлы возвращают одинаковые наборы данных по одним и тем-же агрегатам. Отсутствие рассинхронизации данных.
4 -Availability (доступность) - каждый работающий узел возвращает данные, возможно несинхронизированные с другими нодами.
5 -Partition tolerance (устойчивость к разделению) - ноды приложения продолжают работать, даже если связь между ними нарушена и синхронизация невозможна. В таком случае при запросе данных с разных нод мы можем получить различные агрегаты.
8 +Ситуация распада кластера узлов на несколько сегментов, в следствии нарушения связи (сети) между сегментами. Каждый сегмент становиться автономным и не может обмениваться данными с другими сегментами. Каждый сегмент принимает решение о продолжение работы.
9 +)))
10 +|(% style="width:77px" %) |(% style="width:1408px" %)(((
11 +|(% style="width:99px" %)Consistency|(% style="width:141px" %)Согласованность данных|(% style="width:1107px" %)В каждый момент времени все узлы возвращают одинаковые наборы данных по одним и тем-же агрегатам. Отсутствие рассинхронизации данных.
12 +|(% style="width:99px" %)Availability|(% style="width:141px" %)Доступность|(% style="width:1107px" %) Каждый узел (не упавший) всегда успешно выполняет запросы (на чтение и запись)
13 +|(% style="width:99px" %)Partition tolerance|(% style="width:141px" %)Устойчивость к разделению|(% style="width:1107px" %)Узлы приложения продолжают работать, даже если связь между ними нарушена и синхронизация невозможна. В таком случае при запросе данных с разных узлов мы можем получить различные агрегаты.
14 +)))
15 +|(% style="width:77px" %) |(% style="width:1408px" %)(((
16 +|(% colspan="2" %)Невозможно в полной мере выполнять все 3 условия.
17 +|(% style="width:69px" %)AP|(% style="width:1413px" %)В случае невозможности синхронизации данных (Split Brain), все узлы продолжают работу, даже с учетом рассинхронизации данных.
18 +|(% style="width:69px" %)CP|(% style="width:1413px" %)Все узлы системы перестают работать, если не могу синхронизировать данные между собой.
19 +|(% style="width:69px" %) |(% style="width:1413px" %)Возможно ситуация, когда разрозненные сегменты имеет механизм принятия решения о том, стоит ли продолжать обрабатывать запросы.
20 +Например: в случае если исходный кластер состоял из нечетного кол-ва узлов и распался на 2 сегмента, то сегмент, содержащий наибольшую кол-во узлов (относительно исходного кол-ва в кластере), продолжит работу.
21 +)))
6 6  
7 -Невозможно в полной мере выполнять все 3 условия.
8 -AP - в случае невозможности синхронизации данных, все узлы продолжают работу, даже с учетом рассинронизации данных.
9 -CP - все узлы системы перестают работать, если не могу синхронизировать данные между собой.
23 +----
10 10  
11 -Всё, что вы не знали о CAP теореме
12 -https://habr.com/ru/post/328792
25 +==== Внутренние ссылки: ====
13 13  
27 +====== Дочерние страницы: ======
14 14  
15 -Понятие Split brain
29 +{{children/}}
30 +
31 +====== Обратные ссылки: ======
32 +
33 +{{velocity}}
34 +#set ($links = $doc.getBacklinks())
35 +#if ($links.size() > 0)
36 + #foreach ($docname in $links)
37 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
38 + * [[$escapetool.xml($rdoc.fullName)]]
39 + #end
40 +#else
41 + No back links for this page!
42 +#end
43 +{{/velocity}}
44 +
45 +----
XWiki.XWikiComments[0]
Дата
... ... @@ -1,1 +1,1 @@
1 -2021-11-11 12:58:43.711
1 +2021-11-11 12:58:43.710