Как стать автором
Обновить

Комментарии 6

Спасибо, очень кстати!

А потом начинается хайлоад и выясняется что терабайты данных в день дорого по 10 раз записывать в промежуточные хранилища. И сеть и хранилища в никуда уходят и стоят много денег.


И начинается слияние всех маленьких этапов обработки в один большой.

Я точно не знаю, что означает термин "хайлоад", но событий в Badoo/Bumble для хранения поступает несколько миллионов в секунду. Это именно что терабайты в день.


Обычно такой объем данных означает, что фирма уже может себе позволить некоторое резервирование данных.

Допустим 100 терабайт в день. Если у нас в конвеере 10 стадий это хранение и передача по сети лишнего петабайта. Петабайт это дорого. Позволить можно, но оптимизация в этом месте просто напрашивается. Эффект в деньгах будет очень заметный.

Можно посчитать для любых цифр. Почем оно выходит в месяц.
Гигабайты в день точно нет.
100 терабайт в день точно да.
1 терабайт — вопрос.

Никто никуда петабайты не двигает :-)


Суточные данные приходят и обрабатываются большими пакетами. Каждый пакет оказывается в 3-5 хранилищах. В разных хранилищах этот пакет занимает разный объем места. Сырые и неэффективно сжатые данные перепаковываются под эффективные колоночные форматы, и дальше по конвейеру занимают уже меньше места.


Опять же, у разных данных разная политика удаления. Какие-то данные сохраняются до конца обработки пакета — минуты, другие защищаются в конце дня и т.д.


И, кстати, именно место на медленных дисках в наши дни необычайно дёшево, дороже стали лишние вычисления.

Я про поток данных. Сотня терабайт это в сумме за сутки. Без резервирования, это чистый входящий поток в каком-нибудь джейсоне или что там у вас.
Понятно что он идет пакетами, но это поток и пакеты сравнительно небольшие.

Далеко не все эффективно жмется. Раза в 2 конечно. Но это как раз покрывает необходимость записи и хранения двух копий данных. То на то и выходит.

Хранить на обычных дисках дешево. А вот писать и читать уже проблема. Иопсов мало. В них все и упирается как правило в сценарии поэтапной обработки и быстрых оперативных хранилищ. ssd еще и дешевле могут выйти, за счет уменьшения количества необходимых дисков.

дороже стали лишние вычисления.

При красивом слиянии всех этапов обработки вычислений особо больше не становится. Делаем то тоже самое. С чего бы там сильно больше ЦПУ тратить?
Некий оверхед есть, но он вполне покрывается за счет уменьшения ожидания io, все уже в памяти.
А оперативку так и вообще сэкономить можно. Когда все в одном месте в сумме выходит меньше копий одних и тех данных в памяти на весь конвеер. Тут уже думать надо, в среднем получается.

Опять же, у разных данных разная политика удаления. Какие-то данные сохраняются до конца обработки пакета — минуты, другие защищаются в конце дня и т.д.

Запас минимум на день в любом случае нужен во всех местах.
Факапы бывают. Надо иметь возмжность сохранить данные и не останавливать еще работающую обработку.
Можно смело и делать хранение минимум 24 часа везде, будет гарантия что места и производительности хранилищ хватит на любой типовой факап.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий