HighLoad++ 2015 завершён! Ждём вас в 2016 году!

Профессиональная конференция разработчиков высоконагруженных систем

2 и 3 ноября 2015 Крокус-Экспо МОСКВА
Профессиональная конференция разработчиков высоконагруженных систем

Как мы считали трафик на Вертике
Базы данных, системы хранения

Доклад принят в Программу конференции
ManyChat

Chief Data Architect в ManyChat, отвечает за все pipeline и платформу данных для аналитики (хранилище, BI, ETL, интеграционные сервисы), все в AWS.

До этого — руководитель Data Platform в Avito. В область ответственности Data Platform входили системы больших данных (сотни Тб), OLTP-базы (PostgreSQL), NoSQL-базы (MongoDB, Redis, Tarantool, VoltDB), а также системы очередей и потоковой обработки данных (RabbitMQ, NSQ, Spark). Все про данные, их движение и обработку.

Помимо работы в ManyChat, Николай преподает в НИУ ВШЭ и занимается научными исследованиями в области современных методологий построения хранилищ данных, таких как Data Vault и Anchor Modeling, а также в области технологий BlockChain.

Видео

Тезисы

"Авито" является одной из крупнейших интернет-компаний РФ. Наш сайт регистрирует сотни миллионов событий в сутки. Руководству необходима развернутая отчетность об интернет-трафике, в том числе о количестве уникальных посетителей и сессий. Отчетность должна быть очень детализированной, точной, допускать разнообразный ad-hoc анализ. Главная проблема в расчете подобной аналитики - количество уникальных посетителей не аддитивно по иерархическим измерениям (география, продуктовый каталог и т.п.).

Вертика отлично справляется с поддержкой аддитивных мер на десятках миллиардов строк исходных данных, но когда возникла необходимость поддерживать не аддитивные меры, считающиеся по иерархическим измерениям, нам пришлось реализовать аналог алгоритма MapReduce поверх SQL-движка HP Vertica.

HP Vertica самостоятельно справляется с горизонтальным партиционированием расчетов на узлы кластера, но для решения нашей задачи нам пришлось "подсказать" ей способ вертикального партиционирования на ядра серверов (многозадачность), а также - способ темпорального партиционирования. Только разбиение задачи по трем измерениям позволило добиться достаточной декомпозиции для эффективного и быстрого расчета.

Другие доклады секции
Базы данных, системы хранения

Rambler's Top100