Истории наших клиентов: Яндекс.Маркет
Владислав Исмагилов, руководитель службы аналитики Яндекс.Маркет : Как быстро организовать доступ к актуальной статистике для сотрудников — в условиях роста бизнеса
Начало истории
У нас драматически выросла сложность нашего бизнеса. То есть мы запустили несколько новых продуктов, и у нас стало появляться большое количество сотрудников, которым просто необходим в ежедневной работе доступ к актуальной статистике, причем на достаточно детальном уровне. В компании никогда не было принципиальных проблем что-либо посчитать: для этого приходилось достаточно много программировать, писать кучу кода и требовалась много времени аналитика, чтобы вот во всех низкоуровневых сырых логах разобраться и что-то прикинуть и сделать какой-то расчет.
Эволюция аналитики
Мы поняли, что нужно делать все это «кратно быстрее», поэтому мы достаточно логичным образом эволюционировали как по инструментам, так и по подходам, в которых мы работаем. Путь у нас такой достаточно классический: начинали с каких-то Oracle- хранилищ, в которых на том объеме данных проблем никаких не было, — это открытый и понятный способ добывать оттуда данные: аналитики аккуратно писали SQL-запрос, общаясь с большим внешним комьюнити на тему каких-нибудь особенностей, конструкций, как это все дело писать или считать.
Потом с ростом данных и, вообще говоря, просто потребностями от аналитиков, в том числе, мы стали двигаться в сторону распределенных хранилищ. Собственно, здесь мы переехали в Hadoop. И, соответственно, аналитики стали все больше писать разных запросов на HQL.
Здесь мы, в целом, пока по-прежнему писали просто кастомный код и вычисляли на локальных машинках, но потом тоже осознали еще одну потребность, что нам для многих наших проектов нужны данные других сервисов Яндекса. И поэтому мы, недолго думая, переехали в наше текущее, на самом деле, решение, называется Yandex.Tables. И, соответственно, это у нас такое первичное хранилище, в котором мы храним все, что у нас есть, и все самое ключевое и быстро необходимое мы забираем в ClickHouse, к которому мы и подключили Tableau. Тем самым дали доступ достаточно большому количеству сотрудников к самой актуальной, быстрой статистике, которая им необходима.
В этом новом стеке аналитики не просто пишут условно код и что-то считают на локальных машинках, они уже работают с множеством различных репозиториев, пишут код, проходят код-ревью с участием разработчиков. И в общем, и целом это совсем не сравнится с тем, что было буквально несколько лет назад. Это уже похоже на такой серьезный инженерный анализ данных.
О выборе BI-инструмента
Начали мы совсем издалека. Собственно, вместе с одним разработчиком-энтузиастом совсем «на коленке» собрали пару возможных открытых решений: смотрели в сторону Pentaho и Tableau, и выбирали между ними. Собрали пару инстансов, на которых это можно было все развернуть, положили под одинаковые наборы данных и постарались что-то покрутить. Потом за, наверное, неделю постарались по-разному эти все решения «поломать». В общем, Tableau оказалось чуть более удобное и чуть более стойкое, поэтому мы остановились на нём. Ну, после этого мы за, наверное, неделю, может, полторы собрали какую-то «сырейшую» альфу, поставили встречу нашему СТО, обсудили с ним вообще предпосылки такого решения. Показали прототипчики, попросили железо, ответили на все сложные вопросы, зачем вообще все это и почему это сделает нам как-то все попроще работу. И, как следствие, запустились.
Прямо на старте мы поняли, что эта штука (BI-система Tableau) у нас будет достаточно большой, поэтому мы изначально думали про большое количество лицензий и стали искать самого крупного, одного из самых крупных дистрибьюторов, и выбрали АНАЛИТИКУ ПЛЮС. Совместно с другими сервисами Яндекса закупили достаточно большую пачку лицензий.
Пользователи системы — это не технические специалисты, у которых есть острая потребность актуальной статистики за какие-то прошедшие периоды. То есть в основном это e-commerce, категорийные менеджеры, большая часть наших операций, то есть те, кто работают со складом, доставкой и всем вот этим. Ну и множество менеджеров, которые изучают доверенный им кусок сервиса гораздо более подробно. Чтобы большую часть каких-то относительно простых гипотез сотрудники могли проверять самостоятельно в гибком инструменте, таком как Tableau.
Сейчас у нас в целом под Tableau хранится порядка 10 терабайт. Собственно, это прям такие сжатые ключевые данные. Это еще далеко не целевая конфигурация, к которой мы идем. Она еще будет сильно расширяться. Мы в сутки логируем порядка 12 терабайт различных логов. И поэтому, когда мы готовим какую-нибудь новую пачку данных для кубов, мы на самом деле поднимаем почти 50 терабайт, обрабатываем через какое-то «окно назад» и только потом всю итоговую выжимку кладем в хранилище, которое, по сути, и стоит под Tableau.
Владислав Исмагилов, руководитель службы аналитики Яндекс.Маркет : «У нас драматически выросла сложность нашего бизнеса. То есть мы запустили несколько новых продуктов, и у нас стало появляться большое количество сотрудников, которым просто необходим в ежедневной работе доступ к актуальной статистике, причем на достаточно детальном уровне»
