Для настройки продвинутых систем аналитики часто нужно объединять несколько массивов данных в одну базу. Такие обогащенные данные позволяют лучше видеть всю картину и принимать решения о развитии продуктов и настройке performance-маркетинга.
ClickHouse — оптимальный инструмент для таких целей. В этом материале digital-стратег JetStyle Евгений Кузнецов подробно разобрал, как с ним работать и чем ClickHouse удобен для аналитиков.
Зачем мне понадобилась база данных?
Дело в том, как устроена Яндекс Метрика и коннекторы к ней из Yandex DataLens.
В Logs API Яндекс Метрики данные о достижении целей собраны в несколько массивов:
- ym:s:goalsID — номера целей, достигнутых за данный визит;
- ym:s:goalsSerialNumber — порядковые номера достижений цели с конкретным идентификатором;
- ym:s:goalsDateTime — время достижения каждой цели (в часовом поясе UTC+3).
А в коннекторе DataLens к Яндекс Метрике доступны только:
- общее количество достижений любой цели,
- конверсия в достижение любой цели,
- текстовое поле с названием достигнутой цели.
И если при построении чарта сделать фильтрацию по этому тексту (т. е. попытаться вывести количество достижений цели и отфильтровать их по названию достигнутой цели) — то данные с метрикой разойдутся, причем значительно.
Также не получится посчитать и производные метрики вроде конверсии. Данные по отдельным целям доступны только в Logs Api Яндекс Метрики.
Есть лайфхак, как обойти это, не выгружая данные, но он работает, только если нужно отслеживать какую-то одну макроконверсию.
Почему ClickHouse?
ClickHouse — это высокопроизводительная аналитическая система управления базами данных (СУБД) с открытым исходным кодом. Яндекс разработал ее для решения задач веб-аналитики в Яндекс Метрике.
Что важно, на мой взгляд:
- система быстрая и заточена под работу с большими массивами данных,
- используется в крупных продуктовых командах, поэтому уметь в ней работать — плюс к резюме,
- она опенсорсная.
К тому же ClickHouse использует собственный диалект SQL, близкий к стандартному, но содержащий различные расширения: массивы и вложенные структуры данных, функции высшего порядка, вероятностные структуры, функции для работы с URI.
Подробнее про особенности ClickHouse можно почитать в официальной документации.
Способы установки ClickHouse
Итак, есть проблема, мы выбрали инструмент. Осталось только разобраться, как им пользоваться. И тут нам доступны варианты:
- Простой: развернуть ClickHouse в Yandex Cloud. За простоту придется платить, причем около 5 тысяч рублей в месяц в минимальной конфигурации. Но зато все можно сделать в простом и наглядном веб-интерфейсе.
- Продвинутый: развернуть ClickHouse на собственной виртуальной машине (VDS). Этот путь делится на два шага: покупку VDS и собственно установку ClickHouse.
Мне в работе нужно обращаться к базе извне, поэтому я, в первую очередь, рассматриваю работу с облаком.
ClickHouse в облаке
Кратко процедура создания ClickHouse в облаке описана в кейсе «Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики», но там не хватает скриншотов — поэтому кратко пробегусь по процессу настройки.
1. Переходим в Managed Service for ClickHouse и выбираем «Создать кластер ClickHouse».
2. Выбираем конфигурацию сервера. Под простенькие задачи хватит и минимальной.
3. Важно сделать кластер публичным — в блоке «Хосты» нажимаем на карандаш и включаем опцию «Публичный доступ».
4. В блоке «Настройки СУБД» можно выключить управление пользователями через SQL, указать имя пользователя, пароль и имя базы данных.
5. В блоке «Сервисные настройки» нужно включить опции: «Доступ из DataLens», «Доступ из консоли управления», «Доступ из Метрики и AppMetrica», «Доступ из Serverless».
В течение нескольких минут кластер ClickHouse будет создан.
В результате с помощью ClickHouse мы:
- строим дашборды на данных Метрики, рекламных систем и CRM (для нас и для заказчиков),
- визуализируем спрос (про это читайте отдельный материал Как быстро собрать и визуализировать данные о спросе?),
- собираем SEO-дашборды на данных API панелей вебмастеров,
- исследуем модели атрибуции (строим отчет в разных срезах).
А как установить ClickHouse на собственном сервере, создать пользователей: администратора и других, активировать подключение по сети и веб-интерфейса Tabix — читайте в инструкции со скриншотами на Хабре.
Также есть мини-курсы Яндекса:
Хотите получать инсайты из данных? Приходите к нам в JetStyle. Вместе придумаем, как решить вашу задачу.