Комплексный Digital-маркетинг для B2B и B2C

ClickHouse как инструмент аналитика: зачем нужен и способы установки

Для настройки продвинутых систем аналитики часто нужно объединять несколько массивов данных в одну базу. Такие обогащенные данные позволяют лучше видеть всю картину и принимать решения о развитии продуктов и настройке 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

Итак, есть проблема, мы выбрали инструмент. Осталось только разобраться, как им пользоваться. И тут нам доступны варианты:

  1. Простой: развернуть ClickHouse в Yandex Cloud. За простоту придется платить, причем около 5 тысяч рублей в месяц в минимальной конфигурации. Но зато все можно сделать в простом и наглядном веб-интерфейсе.
  2. Продвинутый: развернуть 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. Вместе придумаем, как решить вашу задачу.

Евгений Кузнецов

Digital-стратег в компании JetStyle. Нахожу инсайты в данных и придумываю, что с этим делать.

Заявка

Оставьте телефон и почту, и мы свяжемся с вами!

Нажимая эту кнопку, я даю согласие на обработку персональных данных