Теория инф-ии vs теория распределенных систем. CAP
От: Sharov Россия  
Дата: 15.08.19 20:36
Оценка:
Здравствуйте.

У нас тут
Автор: Sharov
Дата: 13.08.19
с Синклером вышла интересная дисскуссия по поводу теории распределенных систем, где был затронут ряд вопросов на счет матиматического обеспечения данной теории, и о теореме CAP в частности. Итак:

1) Вот у нас имеются отдельные ненадежные(шумящие) компоненты и ненадежный(шумящий) канал. И вот с помощью целой теории,
в основе которой лежат теорема Котельниова-Шеннона и просто Шеннона, суть которых в том, что из ненадежных
отдельных компонентов и ненадежного канала мы можем построить надежную систему до каких-то там девяток -- 99.999(9). Рассмотрим теперь компьютер, который в своих
физических возможностях ограничен -- мы можем одной машиной обработать исключительно конченое число запросов в ед. времени. Если нам нужно обрабатывать сущ. большее кол-во запросов, чем способна обработать одна машина, мы добавляем еще машин и т.д. И у нас также имеется ненадежный канал, сеть. И... вот все, никаких формализмов, никаких мат. формул, да и вообще никакой существенной математики нет. Хотя аналогия с приемом\передачей сигналов и ненадежных компонентов самая прямая. Т.е. из отдельных компонентов с помощью неких законов мы получаем работающую систему. В одном случае разработана целая теория с подробным мат. аппаратом, типа кодирования и восстановления инф-ии, сжатие и т.д. А в другом, кроме CAP, по сути, ничего нет. Нету каких-либо формул, количественных показателей и т.д Т.е. руководства типа если <100 req/sec делай так, > 10000 req/sec то уже так. Построение распределенных систем в некоторой мере искусство, где каждый справляется как может.

Вопрос -- почему отсутствуют математические основания в теории распр. систем? Т.е. по сути аналогом теорем К.-Ш. является CAP, в которой отсутствует какие-либо
количественных характеристики или формулы. Ну да, есть некий компромисс между C,A и P, выберите 2 из 3. Ну чего-то как-то не густо. Есть фундаментальные работы Лэмпорта по консенсусу еще в 70-80-х годах, но как-то единой теории с соотв. мат. аппаратом не появилось? Почему?

2) Отдельно хотелось бы обсудить теорему CAP. В дискуссии, на которую я ссылаюсь выше, Синклер считает, что данная теорема как минимум бесполезна, ибо не дает
каких-либо количественных характеристик, а как максимум -- вредна. Я же считаю, что данная теорема крайне полезна, т.к. четко проговаривает ключевых абстракции и формулирует некий закон -- 2 из 3. Огромному кол-ву разработчиков всяческих распределенных систем типа соц. сетей, бложиков и т.д. сэкономила кучу времени на разработку костылей, четко определив абстракции, на которые необходимо уделить внимание и предоставив некоторый формализм. Что уже по сути не мало.

Предлагаю поднятые выше два вопроса обсудить.
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.