
Как мы помогли аптечной сети запустить масштабируемую аналитику и навести порядок в данных
К нашей команде обратилась компания, работающая в фармацевтическом сегменте. Она столкнулась с накопившимися проблемами в области аналитики, инфраструктуры и управления данными. Мы провели аудит, предложили новый архитектурный подход и внедрили систему, которая сделала аналитику доступной, быстрой и масштабируемой.
Агенда
К нашей команде обратилась компания, работающая в фармацевтическом сегменте. Она столкнулась с накопившимися проблемами в области аналитики, инфраструктуры и управления данными. Мы провели аудит, предложили новый архитектурный подход и внедрили систему, которая сделала аналитику доступной, быстрой и масштабируемой.
Проблемы, с которыми пришёл клиент
- Отсутствие аналитической команды. Никто не отвечал за архитектуру данных, витрины или аналитические дашборды.
- Доступ к данным только через разработчиков. Пользователи не могли самостоятельно анализировать данные — любые отчёты шли через задачи программистам.
- Источники из 1С. Продажи, остатки, приходы и другие данные загружались из 1С и XML-файлов аптек.
- Нагрузка на 1С. Отчёты, строящиеся в 1С, замедляли всю систему и мешали её основным функциям.
- Несогласованность данных. Менеджеры не доверяли отчётам — регулярно приходилось перепроверять цифры вручную.
- Аналитика с задержкой в недели. От запроса до получения нужного отчёта проходили недели, а иногда — месяцы.
- Дорогое и неэффективное BI-решение. Был куплен Qlik Sense, но:
- стоимость внедрения и поддержки оказалась чрезмерной;
- отчёты работали медленно — из-за выгрузки всех данных из PostgreSQL;
- память сервера (64 ГБ) всегда была на пределе т.к. каждая сессия запускала все данные в память;
- каждое изменение отчёта требовало доплаты;
- документация к отчётам отсутствовала.
- Полное отсутствие документации по данным. Никто не знал, какие таблицы актуальны, какие устарели, и какие поля используются.
- «Грязные» данные. Много дублирующих записей, пустых значений, неочевидных названий и тяжелых для хранения типов данных.
- Проблемы с отказоустойчивостью. PostgreSQL и MySQL регулярно падали под нагрузкой.
Что мы сделали
🧠 Архитектура и аналитическая платформа
- Разработали архитектуру аналитической платформы: разделение на сырые (
raw_data
) и аналитические (analytics
) данные. - Выбрали ClickHouse как основную аналитическую СУБД — благодаря её скорости и стабильности под большими нагрузками.
- Развернули Docker-окружение с ClickHouse, Metabase и Airflow.
- Настроили роли, доступы, мониторинг и логирование.
🔄 Автоматизация ETL и миграции
- Настроили автоматическую загрузку и парсинг XML-файлов аптек: продажи, приходы, остатки, отказы, обороты и др.
- Автоматизировали миграцию в ClickHouse исторических данных из PostgreSQL и MySQL.
- Для каждого источника описали структуру, выявили грязные участки и провели нормализацию.
📊 Аналитика и BI
- Построили витрины в ClickHouse, разделив по доменным направлениям: продажи, склады, ассортимент, маркетинг.
- Настроили Metabase и сделали доступной аналитику для менеджеров без обращения к разработчикам.
- Перевели тяжёлые отчёты из QlikSense в в витрины ClickHouse + Metabase: скорость выросла в 60–80 раз, оперативная память перестала быть узким местом.
Примеры эффективности
- Миграция по примеру витрины с 7 млн строк заняла 3–5 минут.
- Запрос
COUNT(*)
в PostgreSQL — 5 сек. В ClickHouse — 0.01 сек. - RAM больше не перегружается — сервер работает стабильно.
- Время получения отчёта — секунды, а не недели.
Результат
- Пользователи впервые получили прямой доступ к BI, без разработчиков и без задержек.
- Отчёты стали понятными, быстрыми и точными.
- Команда получила документацию, контроль над данными и понимание, как масштабировать аналитику в будущем.
- Решение стало в 5–7 раз дешевле, чем предыдущее, и в разы эффективнее.
Вывод
За 2 недели мы помогли компании перестроить всю архитектуру данных, вернуть доверие к аналитике и создать современную платформу, на которую можно опереться в принятии решений.
Заинтересованы в этой услуге?
Свяжитесь с нами, чтобы получить индивидуальное предложение.
Запросить предложение