Евгений Поляков - Насколько надёжным должно быть ваше...

15
Elliptics Safe… and the really safe

Upload: yandex

Post on 02-Jul-2015

1.439 views

Category:

Technology


2 download

DESCRIPTION

Насколько надёжным должно быть надёжное хранилище данных? Готова ли ваша система к выходу из строя дисков, серверов, целых дата-центров? Или это маловероятные события? В 2007 году вероятность глобального экономического кризиса была меньше 8 %. А через год в США произошла экономическая катастрофа, которая повлекла за собой проблемы мирового масштаба. Как подготовить систему к неожиданностям такого уровня? В докладе представлено хранилище данных Elliptics, которое решает подобные проблемы архитектурно. Помимо надёжности, рассмотрены такие его возможности, как асинхронная запись, географическая балансировка запросов, создание CDN, p2p-стриминг данных клиентам, вторичные индексы, распределённый кэш, server-side-обработка данных. Вы узнаете, как Elliptics используют в Яндексе и чем эта открытая система хранения данных может быть полезна вам.

TRANSCRIPT

Page 1: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Safe… and the really safe

Page 2: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Надежность или “это маловероятно”?

Page 3: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Вероятность некоторых событий ОЧЕНЬ мала

Что будет с вами, если такое событие все же произойдет?

Page 4: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

В 21 веке с проблемами дисков бороться научились

RAID, репликация, Reed-Solomon, LDPC и много чего еще

Page 5: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Что будет, если выйдет из строя сервер?

А если это какой-нибудь “мастер-сервер”?

Page 6: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

А если отключили датацентр?Авария, пожар, наводнение, электричество, сантехник?Или это снова “маловероятное” событие?

Page 7: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Причины потерь серверов, датацентров, связности (*)

* ураган, пожар, наводнение, землятресение * техподдержка ошиблась стойкой * ошибка NOC (должно быть на первом месте?) * сгоревший в трансформаторной котик * к кластеру виртуалок “подселили” кого-то очень злого * облачный провайдер “внезапно” вышел из бизнеса * …

(*) все примеры из реальной жизни

Page 8: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Исправить можно всё

Если у вас достаточно времени, денег...и больше нечем заняться

Page 9: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Eventual consistencyСовсем не плохо, а даже хорошо

Page 10: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

The ultimate performance guide: * parallel write * asynchronous IO

Page 11: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

* IO balancing* weighted replica selection* zero storage host lookup

Page 12: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Cache everything~2.000.000 rps from 10 nodesComplex queries

Page 13: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

Secondary indexes

Page 14: Евгений Поляков - Насколько надёжным должно быть ваше хранилище данных

Elliptics

* O(1) lookup time* Redirect & CDN* Data streaming