CAP-дилеммa. Быстро, качественно или дешево::Журнал СА 12.2013
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
1001 и 1 книга  
19.03.2018г.
Просмотров: 6828
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7359
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4609
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3159
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3964
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3966
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6469
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3311
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3591
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7450
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10814
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12525
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14231
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9263
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7210
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5518
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4749
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3567
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3275
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3507
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3160
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 CAP-дилеммa. Быстро, качественно или дешево

Архив номеров / 2013 / Выпуск №12 (133) / CAP-дилеммa. Быстро, качественно или дешево

Рубрика: Разработка /  Веб-технологии

Александр Календарев АЛЕКСАНДР КАЛЕНДАРЕВ, программист в РБК Медиа, akalend@mail.ru

CAP-дилеммa
Быстро, качественно или дешево

Продолжая серию статей о NoSQL-хранилищах, нельзя не упомянуть теорему Брюера (утверждение о том, что в любой реализации распределенных вычислений возможно обеспечить не более двух из трех свойств: Согласованность, Доступность и Устойчивость)

В 2000 году профессор Калифорнийского университета Эрик Брюер выдвинул тезис, касающийся ключевых свойств распределенных систем, который затем доказали в Массачусетском технологическом институте. С тех пор он называется теоремой Брюера или теоремой CAP (по первым буквам: Consistency-Availability-Partition tolerance).

Рассмотрим составляющие CAP:

  • Согласованность данных (англ. Consistency) – во всех вычислительных узлах в один момент времени данные не противоречат друг другу. Иными словами, как только мы успешно записали данные в наше распределенное хранилище, любой клиент при запросе получит эти последние данные.
  • Доступность (англ. Availability) – любой запрос к распределенной системе завершается корректно при наличии операций обновления; на любой запрос к системе мы получаем наши данные или информацию об их отсутствии, если их не сохраняли.
  • Устойчивость к разделению (англ. Partition tolerance) – расщепление распределенной системы на несколько изолированных секций не приводит к некорректности отклика от каждой из секций. Или, другими словами, если какие-то компоненты выходят из строя, то можно считать, что данные компоненты просто теряют связь со всей остальной системой, а система в целом остается работоспособной.

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

Нарушение принципа Cогласованности данных может возникнуть там, где имеется распределенное хранение данных.

Пусть ваше хранилище имеет пять узлов, и оно спроектировано так, что все данные дублируются на соседних узлах. При приходе данных на Узел_2 они будут скопированы на Узел_1 и Узел_3. И для передачи данных (репликации) с узла на узел понадобится какое-то время. В случае выхода из строя одного из узлов системы, данные должны отдаваться с соседнего узла распределенного хранилища.

К примеру: на Узел_3 пришли некоторые данные по ключу KEY_***, они не успели передаться на соседние Узлы 2 и 4, и в это время Узел_3 вышел из строя. При запросе данных по ключу KEY_*** система отдаст старую версию данных с узла Узел_2 или Узел_4.

На этом примере мы видим, что в некоторый момент в распределенной системе на каждом узле может возникнуть ситуация, что может существовать несколько разных копий одних и тех же данных, значит, возможно нарушение тезиса Согласованности.

Доказательство самой CAP-теоремы строится эмпирически – сначала доказываем на двух узлах, далее в соответствии с принципом математической индукции распространяем на n- узлов.

Первоначально рассматривается сеть из двух узлов G1 и G2, между которыми пропала связь. В узел G1 идет запрос на запись, а затем в G2 на чтение. Если выполняется доступность, то будет получен ответ на запрос чтения, но получены будут старые данные, так как между узлами нет связи (несогласованные данные). То есть либо свойство доступности не выполняется либо согласованности.

Доказательство теоремы избавляет нас от иллюзии иметь «идеальную» систему, которая выдает все актуальные данные и никогда не ломается. Мы имеем известное предложение менеджера: «быстро, дешево, качественно – выбирайте любые два».

Говоря о CAP-теореме, принято рассматривать ребра CAP-треугольника. Так что же собой представляют CAP-ребра (см. рис.1)?

Рисунок 1. CAP-треугольник

Рисунок 1. CAP-треугольник

Статью целиком читайте в журнале «Системный администратор», №12 за 2013 г. на страницах 44-45.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru