Xora Цифровизация
бизнеса
Обсудить задачу
01Услуги02Отрасли03Кейсы04О компании05Контакты
Обсудить задачу
Информационные технологииРитейлИмпортозамещение

Миграция аналитического контура с зарубежного стека

Срок
9 месяцев
Команда
7 человек
Стек
PostgreSQL, ClickHouse, Airflow, dbt, Superset

Контекст

Задача

Отчётность на зарубежных BI и СУБД, лицензии недоступны, риск остановки управленческой отчётности.

Работа

Решение

Инвентаризация витрин и отчётов, перенос хранилища на PostgreSQL и ClickHouse, перестройка ETL на Airflow и dbt, воспроизведение отчётности на российском BI. Два контура работали параллельно на период перехода.

Проблема бизнеса

Что происходило до проекта

Управленческая отчётность ритейлера жила на зарубежном стеке: хранилище на проприетарной СУБД и BI-платформа, лицензии на которые перестали продлеваться. Каждый месяц работы на неподдерживаемом стеке увеличивал риск: без вендорских обновлений и поддержки любой сбой мог остановить отчётность, на которой держатся закупки, ценообразование и планирование.

При этом просто «выключить старое и включить новое» было нельзя: бизнес принимает решения по этим витринам ежедневно, а расхождение цифр в переходный период подорвало бы доверие к новой платформе быстрее, чем любой технический сбой.

Сдвиг

Как было — как стало

Как было

Зарубежные BI и СУБДлицензии не продлитьОтчётностьпод риском остановкиКАЖДЫЙ МЕСЯЦ — РОСТ РИСКА БЕЗ ПОДДЕРЖКИ

Как стало

ОткрытыйстекPostgreSQL ·ClickHouseВитрины и BISuperset · dbtКомандазаказчикаведёт самаБЕЗ ЛИЦЕНЗИОННЫХ РИСКОВ И ПРИВЯЗКИ К ВЕНДОРУ

Ход работы

Как решали

Инвентаризация витрин и отчётов

Собрали полный реестр: какие витрины существуют, кто ими пользуется, какие устарели. Часть отчётов не переносили осознанно — ими давно никто не пользовался.

Целевая архитектура на открытом стеке

Хранилище — PostgreSQL и ClickHouse под аналитические нагрузки, ETL — Airflow и dbt, BI — Superset. Стек без лицензионных рисков, под который есть специалисты на рынке.

Перенос слоями

Сначала слой сырых данных, затем витрины, затем отчёты — с автоматическими сверками между старым и новым контуром на каждом слое.

Параллельная эксплуатация

Оба контура работали одновременно: бизнес продолжал смотреть привычные отчёты, пока новые не показали идентичные цифры на исторических и текущих данных.

Передача команде заказчика

Аналитики заказчика начали вести витрины сами ещё до завершения проекта — дорабатывать отчётность без подрядчика было условием приёмки.

Решение

Как устроено архитектурно

ЗАРУБЕЖНЫЙ СТЕК · ВЫВОДИТСЯНОВЫЙ КОНТУРИсточникикассы · ERP · e-comСтарое DWH + BIлицензии недоступныETLAirflow · dbtStagingсырой слойCorePostgreSQLВитриныClickHouseBISupersetАвтосверкавитрина ↔ витринаотчёт расхожденийАналитикизаказчикаведут витрины самиСВЕРКА ПОЛУЧАЕТ ДАННЫЕ ИЗ ОБОИХ КОНТУРОВ И ОТДАЁТ РАСХОЖДЕНИЯ ЛЮДЯМ · ПЕРЕНОС СЛОЯМИ: STAGING → CORE → ВИТРИНЫ

Слои, не «куча таблиц»

Staging, core и витрины разделены: сырые данные не смешиваются с бизнес-логикой, ClickHouse держит аналитические нагрузки.

Сверка — узел, не стрелка

Автосверка читает обе стороны и выдаёт отчёт расхождений — переключение только при пустом отчёте.

Передача внутрь

Витрины дорабатывают аналитики заказчика: зависимость от подрядчика снята до конца проекта.

Продукт

Как это выглядит в работе

ВИТРИНА ПРОДАЖ · SUPERSET▲выручка за период▲средний чек▬маржа▼возвратыПРОДАЖИ ПО РЕГИОНАМ · СВЕРЕНО СО СТАРЫМ КОНТУРОМЦентрСеверо-ЗападУралСибирьЮгВостокВитрина воспроизведена 1:1 — цифры сходятся со старым контуром

Бизнес получил те же витрины на новом стеке: раскладка и логика показателей воспроизведены, каждая цифра прошла автосверку со старым контуром до переключения.

Макет иллюстрирует механику интерфейса; данные на экране условные.

Границы решения

Что делает — и чего не делает

Честные рамки — часть архитектуры: они защищают результат не хуже кода.

Делает

  • полный реестр витрин: что переносим, что списываем
  • автосверка каждой витрины со старым контуром
  • параллельная эксплуатация до совпадения цифр
  • ETL, который поддерживают аналитики заказчика
  • стек без лицензионных платежей и рисков

Не делает

  • переноса «всего как было» — мёртвые отчёты не мигрируют
  • простоя отчётности — бизнес не заметил переключения
  • нового вендор-лока: весь стек открытый

Итог

Результат

  • Полный отказ от зарубежных лицензий
  • Витрины и отчёты перенесены
  • Отчётность без простоя

Числовые показатели публикуются после сверки с заказчиком.

Передача

Что осталось у клиента

  • Исходный код, модели и конфигурации — вместе с правами.
  • Документация и описание архитектуры.
  • Возможность развивать решение своей командой или любым другим подрядчиком.
Наши принципы →

Следующий шаг

Расскажите про задачу

Разберём, оценим сроки и стоимость. Если задача не наша — скажем прямо и подскажем, к кому обратиться.

Обсудить задачу →