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

Почему стандартные подходы к разработке не работают в аналитике: взгляд изнутри

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.7K

Когда владельцы бизнеса просят команду IT «добавить аналитику» в продукт, часто это заканчивается болью — и для разработчиков и для самого бизнеса. За последние несколько лет я участвовал в построении аналитических решений более чем в 10 компаниях — от стартапов до крупных корпораций. Почти во всех компаниях среднего уровня, только начинающих выстраивать BI-аналитику, я видел одну и ту же ошибку: попытку встроить аналитику в архитектуру приложения как обычный модуль. Это не работает, и вот почему.

Стандартная разработка ≠ аналитика

Разработчики мыслят фичами, модулями, интерфейсами. Они привыкли, что пользователь кликает — что-то происходит — и можно это зафиксировать. Поэтому когда поступает запрос «сделайте аналитику», часто реализуется нечто вроде:

  • Аналитический модуль в приложении

  • Сбор и агрегация данных внутри боевой БД

  • Набор фиксированных отчётов по заранее прописанным правилам

Выглядит как нормальное решение. Пока бизнес не попросит «а теперь добавьте ещё один разрез», «а можно посмотреть не по дням, а по неделям?», «а сколько таких событий было за последние 7 дней, но только по пользователям, у которых был чек больше 5000?».

И тут наступает реальность.

Что идёт не так

  1. Отчёты жёстко закодированы. Любая новая метрика или разрез — это доработка.

  2. Нагрузка на боевую БД. Когда отчёты дергают боевую базу — ждите проблем.

  3. Никакой гибкости. Бизнесу нужна живая, подстраиваемая аналитика, а не фиксированные отчеты раз в день/неделю.

  4. Отсутствие масштабируемости. Такой подход не выдерживает роста данных и запросов.

    Аналитика — это не отчёты. Это среда для поиска инсайтов. И она требует гибкости. Метрик много. Разрезов — ещё больше. Сегодня хотят одно, завтра — другое. Аппетиты растут. Если архитектура не готова к такому сценарию, бизнес остаётся в слепой зоне.

Как должно быть на самом деле

Вот минимальный набор принципов, если вы хотите, чтобы аналитика работала по-взрослому:

  1. Отделяйте аналитику от приложения. Никаких аналитических модулей внутри боевого кода.

  2. Снимайте нагрузку с основной БД. Используйте реплику. При небольших объёмах (до 100 млн строк) — подойдет даже реплика боевой БД.

  3. Переходите на аналитические СУБД. При росте объёма данных переходите на СУБД, специально созданные для агрегации больших объемов данных — ClickHouse, GreenPlum и т.п.

  4. Позвольте аналитикам самим забирать данные. Лучше всего — передавайте данные в виде, не мешающем работе основного приложения.

Самое главное: аналитика — это не фича, это отдельная подсистема. И она требует своих инструментов, подходов и приоритетов. IT-команда не обязана строить все расчёты и метрики. Наоборот — она должна помочь передать данные туда, где аналитики сами смогут строить любые отчёты и дашборды. Тогда и разработка не будет забита тасками по “ещё одному отчёту”, и аналитика будет действительно полезной.

Вместо вывода

Если вы владелец бизнеса и хотите, чтобы аналитика реально работала — не просите разработчиков “сделать пару отчётов”. Постройте архитектуру, в которой аналитика живёт отдельно. Тогда у вас будет шанс действительно понимать, что происходит в бизнесе.

Теги:
Хабы:
+4
Комментарии7

Публикации

Ближайшие события