К основному содержимому
#SystemDesign

Распределённые системы без магии: что на самом деле говорят CAP и PACELC (Рубрика SystemDesign)

#SystemDesign #Architecture #Management #Software #Engineering #Database

19 марта я читал студентам Центрального Университета лекцию на широкий набор тем — мы говорили про широко известные в узких кругах теоремы CAP и PACELC, обсудим чем consistency в этих теоремах отличается от consistency в ACID, поговорим про то, как проверяются заявленные гарантии консистентности( на примере проекта от Jepsen), а в конце лекции обсудили Cassandra как пример распределенной базы данных с tunable consistency. Большая часть изложенной теории была взята из статей с моего сайта system-design.space, а после лекции у ребят был еще семинар, где они могли покрутить Cassandra руками и попробовать работу этих теорем на практике.

Мне самому понравилось рассказывать материал, но в этой расшифровке я решил сделать акцент не на теории, а на простой мысли, что в распределённых системах нет волшебства. Хотя мне очень нравится третий закон Артура Кларка

Любая достаточно развитая технология неотличима от магии Но если быть практиком и инженером, то мжно отметить, что нет такой базы данных, такой сетевой топологии или такой архитектурной диаграммы, которая позволит одновременно быть всегда доступными, всегда согласованными и всегда быстрыми без всякой цены. Архитектура распределённой системы начинается в тот момент, когда мы перестаём искать магию и начинаем честно проектировать компромиссы. CAP, PACELC, модели консистентности, Jepsen и Cassandra — это, по сути, разные способы проговорить одну и ту же реальность.

#Architecture #Management #SystemDesign #Software #Engineering #Database