Во время моего первого опыта работы с распределенными системами я постоянно сталкивался с некой CAP-теоремой, пришлось изрядно покопать, чтобы изучить и осознать её со всех сторон. Я не являюсь мастером баз данных, но надеюсь, что мое маленькое исследование мира распределённых систем будет полезно для обычных разработчиков. В статье я расскажу о том, что такое CAP, его проблемы и альтернативы, а также рассмотрим некоторые популярные системы баз данных через CAP призму.
Читать полностью »
Рубрика «распределенные системы» - 20
Всё, что вы не знали о CAP теореме
2017-05-16 в 11:28, admin, рубрики: acid, base, cap, cassandra, mongodb, nosql, pacelc, postgresql, Анализ и проектирование систем, архитектура, базы данных, проектирование, проектирование баз данных, распределенные системыРоссийская система мониторинга RedPine — от проблемы к рождению нового продукта
2017-05-04 в 9:38, admin, рубрики: Блог компании RedPine, диспетчеризация, дистанционное управление, контроль, Производство и разработка электроники, распределенные системы, российское оборудование, Сетевое оборудование, система учета, Софт, удаленный контроль, электроснабжение, энергетика, Энергия и элементы питания, энергоресурсы, энергоснабжение, энергоучет, энергоэффективность, метки: диспетчеризация10 лет назад, компания Хайтед, которая, в числе прочего, предлагает в аренду дизельные генераторы, вплотную занялась эффективностью своего арендного парка, а это более 250 ДГУ, работающих в разных уголках страны. Для эффективной работы такого парка нужна система мониторинга, учета и диспетчеризации, иначе все может выйти из-под контроля. Мы должны видеть местоположение, статистику и режим работы оборудования, удаленно включать и выключать его. И поначалу казалось, что это не очень сложно.

Но на практике оказалось, что имеющиеся на рынке решения не могут предоставить все нужные функции в реальных условиях. Поэтому было решено создать свою собственную систему мониторинга, отвечающую всем нашим требованиям, а в итоге получился продукт, который можно дорабатывать и предлагать другим компаниям для решения различных задач.
Мы назвали его RedPine, и сейчас это уже семейство продуктов, охватывающих не только электроснабжение, но и другие инженерные системы.
Кинетика больших кластеров
2017-04-06 в 9:40, admin, рубрики: big data, Алгоритмы, Анализ и проектирование систем, высокая производительность, кинетика, Промышленное программирование, распределенные системы, репликация, метки: кинетикаКраткое содержание
- Фатальная ошибка Мартина Клеппмана.
- Физико-химическая кинетика уделывает математику.
- Период полураспада кластера.
- Решаем нелинейные дифференциальные уравнения, не решая их.
- Ноды как катализатор.
- Предсказательная сила графиков.
- 100 миллионов лет.
- Синергия.
В предыдущей заметке мы подробно разбирали статью Брюера и его одноименную теорему. На этот раз займемся препарированием поста Мартина Клеппмана «The probability of data loss in large clusters».
В данном посте автор пытается промоделировать следующую задачу. Для обеспечения сохранности данных обычно используется метод репликации данных. При этом, на самом деле, не важно, используется ли erasure кодирование или нет. В оригинальном посте автор задает вероятность выпадения одной ноды, а затем ставит вопрос: а какова вероятность выпадения данных при увеличении числа нод?
Ответ приведен на этой картинке:
Читать полностью »
«Сложную архитектуру очень просто сделать» — интервью с Олегом Анастасьевым из Одноклассников
2017-03-21 в 13:16, admin, рубрики: big data, java, Анализ и проектирование систем, архитектура, Блог компании JUG.ru Group, высокая производительность, одноклассники, отказоустойчивость, распределенные системы
Знакомьтесь, Олег Анастасьев — ведущий разработчик Одноклассников, спикер на конференциях по Java и Cassandra, эксперт в области распределенных и отказоустойчивых систем. С Олегом мы поговорили о следующем:
- Что не так с термином «архитектор»
- Зачем Одноклассникам 11 000 серверов
- Как выглядят учения по ликвидации аварий
- Что такое «Правило большого З»
- Как в Одноклассниках используют Cassandra
- В чём для современной компании сложности с размещением кода в Open Source
- Как в Одноклассниках работают с Big Data
Как всегда, под катом — полная текстовая расшифровка беседы.
Читать полностью »
Страх и ненависть в распределённых системах
2017-02-28 в 15:48, admin, рубрики: jepsen, sql, Анализ и проектирование систем, высокая производительность, нагрузочное тестирование, отказоустойчивость, проектирование систем, распределенные системы, метки: проектирование систем, распределённые системы
Роман Гребенников объясняет сложность построения распределённых систем. Это — доклад Highload++ 2016.
Всем привет, меня зовут Гребенников Роман. Я работаю в компании Findify. Мы делаем поиск для онлайн-магазинов. Но разговор не об этом. В компании Findify я занимаюсь распределенными системами.
Что же такое распределённые системы?
Читать полностью »
Мифы о CAP теореме
2017-02-21 в 6:37, admin, рубрики: big data, CAP теорема, nosql, YT, Алгоритмы, Анализ и проектирование систем, доступность, консистентность, Промышленное программирование, распределенные системыВведение

Давно хотел написать про мифы о CAP теореме, но как-то все не доходили руки. Однако, почитав очередной опус, схватился за голову и решил разложить все по полочкам, чтобы в мозгах возникла стройная картина.
Событие, когда какая-то статья вызывает бурю эмоций, — крайне редкое. Первый раз такое возникло, когда я прочитал про chained replication. Меня пытались убедить, что это мощный подход и что это лучшее, что могло произойти с консистентной репликацией. Я сейчас не буду приводить доводы, почему это плохо работает, а просто приведу говорящую цитату из статьи Chain Replication metadata management:
Split brain management is a thorny problem. The method presented here is one based on pragmatics. If it doesn’t work, there isn’t a serious worry, because Machi’s first serious use case all require only AP Mode. If we end up falling back to “use Riak Ensemble” or “use ZooKeeper”, then perhaps that’s fine enough.
В моем вольном пересказе это означает примерно следующее: "У нас тут есть некий алгоритм. Мы не знаем, будет ли он работать правильно или нет. Да нам это и не важно". Хотя бы честно, сэкономило кучу времени, спасибо авторам.
И тут, значит, попадается на глаза статья: Spanner, TrueTime & The CAP Theorem. Её мы разберем по полочкам ближе к концу, вооружившись понятиями и знаниями. А перед этим разберем самые распространенные мифы, связанные с CAP теоремой.
Визуализация интеграционных приложений
2016-12-20 в 17:11, admin, рубрики: devops, SSD-диаграммы, UML, UML Design, Блог компании ICL Services, визуализация данных, Программное обеспечение, распределенные системы, Системы обмена сообщениями, экстремальное программирование
С тех пор как я начал выполнять обязанности системного архитектора, мне чаще приходится рисовать прямоугольники и стрелки, чем писать программный код. С этим можно было бы бороться, например, бессонными ночами участвовать в проектах с открытым исходным кодом, создавать подтверждения осуществимости концепции и демонстрационный код, но и там тоже нужно рисовать прямоугольники, чтобы продемонстрировать архитектуру. Эта статья посвящена визуализации обмена сообщениями в распределенных системах, сервис-ориентированной архитектуре (SOA) и микросервисным приложениям при использовании методологии разработки agile (этот термин потерял свое значение, но более подходящего в данном случае нет).
Читать полностью »
Тестирование распределенных систем, — интервью с Андреем Сатариным, Яндекс
2016-11-01 в 8:00, admin, рубрики: Анализ и проектирование систем, Блог компании JUG.ru Group, обмен опытом, отладка, распределенные системы, тестирование, Тестирование IT-систем, Тестирование веб-сервисов
Тестирование распределенных систем существенно отличается от тестирования централизованных. Немногие тестировщики могут похвастаться серьезными знаниями и опытом в этой области.
Я пообщался со спикером конференции Heisenbug 2016 Moscow Андреем Сатариным (twitter.com/asatarin). Андрей участвовал в проектах по тестированию в Mail.ru, в Лаборатории Касперского, в Deutsche Bank, а сейчас тестирует распределенные системы в Яндексе. Статья будет полезна не только людям, которые занимаются тестированием, но и разработчикам. Если вы ни разу не касались вопроса тестирования распределенных систем, добро пожаловать под капот.
Андрей Сатарин:
… они убивают ноды прямо в рабочее время и разработчики наблюдают за...
Будущее компьютерных технологий: обзор современных трендов
2016-06-15 в 13:16, admin, рубрики: AR, VR, Блог компании Plarium, будущее компьютерных технологий, виртуализация, виртуальная реальность, дополненная реальность, Интернет вещей, искусственный интеллект, компьютерные технологии, компьютеры, компьютеры тренды, машинное обучение, поисковые технологии, распределенные системы, тренды, тренды будущего, метки: будущее компьютерных технологий
Сфера информационных технологий развивается в двух преимущественно независимых циклах: продуктовом и финансовом. В последнее время не утихают споры о том, на каком этапе финансового цикла мы находимся; очень много внимания уделяется финансовым рынкам, которые подчас ведут себя непредсказуемо и сильно колеблются. С другой стороны, продуктовым циклам достается относительно мало внимания, хотя именно они двигают информационные технологии вперед. Но, анализируя опыт прошлого, можно попытаться понять текущий продуктовый цикл и предугадать дальнейшее развитие технологий.
[The Methanum project] Создание инструментария для построения распределенных систем с топологией “Звезда”
2016-04-01 в 6:43, admin, рубрики: .net, C#, c#.net, wcf, Блог компании Тинькофф Банк, ненормальное программирование, Программирование, распределенные системы, событийное программирование![[The Methanum project] Создание инструментария для построения распределенных систем с топологией “Звезда” - 1 [The Methanum project] Создание инструментария для построения распределенных систем с топологией “Звезда” - 1](https://www.pvsm.ru/images/2016/04/01/The-Methanum-project-sozdanie-instrumentariya-dlya-postroeniya-raspredelennyh-sistem-s-topologiei-zvezda.png)
Звезда — на сегодняшний день самая распространенная топология компьютерных сетей. Такая структура обладает рядом преимуществ: легкостью масштабирования, надежностью (выход из строя одной машины не сказывается на других) и простота администрирования. Конечно это решение из физического уровня давно реализовано и на программном уровне. Тем не менее, представляю на суд читателей свою версию инструментария .Net для построения распределенных систем с топологией звезда. Читать полностью »
