Евгений Поляков - Насколько надёжным должно быть ваше...
DESCRIPTION
Насколько надёжным должно быть надёжное хранилище данных? Готова ли ваша система к выходу из строя дисков, серверов, целых дата-центров? Или это маловероятные события? В 2007 году вероятность глобального экономического кризиса была меньше 8 %. А через год в США произошла экономическая катастрофа, которая повлекла за собой проблемы мирового масштаба. Как подготовить систему к неожиданностям такого уровня? В докладе представлено хранилище данных Elliptics, которое решает подобные проблемы архитектурно. Помимо надёжности, рассмотрены такие его возможности, как асинхронная запись, географическая балансировка запросов, создание CDN, p2p-стриминг данных клиентам, вторичные индексы, распределённый кэш, server-side-обработка данных. Вы узнаете, как Elliptics используют в Яндексе и чем эта открытая система хранения данных может быть полезна вам.TRANSCRIPT
Elliptics
Safe… and the really safe
Elliptics
Надежность или “это маловероятно”?
Elliptics
Вероятность некоторых событий ОЧЕНЬ мала
Что будет с вами, если такое событие все же произойдет?
Elliptics
В 21 веке с проблемами дисков бороться научились
RAID, репликация, Reed-Solomon, LDPC и много чего еще
Elliptics
Что будет, если выйдет из строя сервер?
А если это какой-нибудь “мастер-сервер”?
Elliptics
А если отключили датацентр?Авария, пожар, наводнение, электричество, сантехник?Или это снова “маловероятное” событие?
Elliptics
Причины потерь серверов, датацентров, связности (*)
* ураган, пожар, наводнение, землятресение * техподдержка ошиблась стойкой * ошибка NOC (должно быть на первом месте?) * сгоревший в трансформаторной котик * к кластеру виртуалок “подселили” кого-то очень злого * облачный провайдер “внезапно” вышел из бизнеса * …
(*) все примеры из реальной жизни
Elliptics
Исправить можно всё
Если у вас достаточно времени, денег...и больше нечем заняться
Elliptics
Eventual consistencyСовсем не плохо, а даже хорошо
Elliptics
The ultimate performance guide: * parallel write * asynchronous IO
Elliptics
* IO balancing* weighted replica selection* zero storage host lookup
Elliptics
Cache everything~2.000.000 rps from 10 nodesComplex queries
Elliptics
Secondary indexes
Elliptics
* O(1) lookup time* Redirect & CDN* Data streaming