Фэшн-бренд BAON проверил концепцию построения аналитического хранилища данных на основе open source решений и облачных сервисов Яндекс. Как показал пилот, инфраструктура Yandex Cloud обеспечивает гибкость работы с данными о продажах в мультиканальной сети — собственных магазинах, интернет-сайте, мобильном приложении и на маркетплейсах. Проект продемонстрировал возможности сервисов Yandex Cloud, преимущества использования фреймворка BI.Qube для извлечения данных из 1С и API маркетплейсов, а также подтвердил экспертизу команды BI.Qube в реализации подобных решений.
BAON – крупный российский фэшн-ритейлер с обширным ассортиментом повседневной одежды и аксессуаров. Компания активно реализует товары через маркетплейсы – Wildberries, Озон, Lamoda, Мегамаркет и Яндекс Маркет. Особенностью бизнеса является необходимость оперативной и достоверной оценки эффективности движения товаров и выручки по многочисленным каналам.
Информация о продажах в BAON поступает из 1С и API маркетплейсов. Ввиду распределённости и разнородности источников данных, различий в форматах загружаемых сводок, присутствию внесистемного документооборота –формирование отчётов по принятой в компании методике происходило долго и трудозатратно.
Чтобы ускорить процесс формирования отчётов и повысить эффективность анализа продаж, компания искала возможность объединения в едином аналитическом DWH данных из документов в учётных системах компании и оперативных данных маркетплейсов, доступных по API.
Для этого были определены следующие цели проекта:
В пилоте BAON хотел опробовать open source в виде управляемых сервисов Yandex Cloud, и оценить совокупную стоимость владения при работе с managed DB. Такой выбор позволяет получить ряд преимуществ:
Для реализации проекта была выбрана команда BI.Qube, обладающая экспертизой в fashion retail, необходимым опытом и подтвержденными компетенциями в open source. Исходя из целей проекта, эксперты BI.Qube сформировали задачи в области работы с данными:
Команда BI.Qube определила для реализации проекта следующий технологический стек:
Это позволило создать решение, которое сочетает в себе гибкость, масштабируемость и надежность. Кроме того, дает доступ к мощным и безопасным сервисам для работы с большими данными, которые обеспечивают высокую производительность и удобство использования.

Таким образом архитектура аналитического DWH выстроена по следующей схеме:
Слой источников данных. Это слой, где находятся разные системы-источники, которые генерируют и хранят данные о бизнесе. В проекте BAON было три основные группы источников –
Слой загрузки данных. Это слой, где происходит загрузка данных из разных источников в хранилище.
Данные о продажах из маркетплейса и информационных баз 1С поступают в промежуточный слой, управляемый метакомпонентом MetaStaging, после чего направляются в Yandex Managed Service for PostgreSQL.
Data Transfer для извлечения и загрузки данных был исключён из стека ввиду того, что он не умеет брать данные из 1С и не умеет грузить данные на регулярной основе. Также проблематично организовать правильное его взаимодействие с Airflow. Коннектор 1С и метакомпоненты BI.Qube в полной мере обеспечивают выполнение этих задач с высоким качеством.
Слой обработки данных. Это слой, где происходит обработка структурированных и полуструктурированных данных, загруженных в промежуточный слой и в озеро данных Yandex Object Storage, для их подготовки к аналитике. Для этого используется флагманское на российском рынке решение – Yandex Managed Service for PostgreSQL, облачный PaaS сервис для создания и управления кластерами баз данных PostgreSQL. PostgreSQL – это объектно-реляционная система управления базами данных с открытым исходным кодом, которая поддерживает множество типов данных, функций и расширений. PostgreSQL подходит для хранения и обработки структурированных и полуструктурированных данных, позволяет масштабировать базы данных как вертикально, так и горизонтально, использовать язык SQL, хранить и обрабатывать данные в нормализованном и стандартизованном виде, с учетом всех бизнес-правил и логики. В PostgreSQL создаются специальные схемы и таблицы, отвечающие за хранение и обработку данных, а также модели хранилища данных, которые преобразуют исходные данные из различных источников.
Для создания и управления этими схемами и таблицами используется фреймворк BI.Qube, связующее звено между различными компонентами архитектуры. Он обеспечивает согласованность данных, упрощает и оптимизирует процесс построения, управления и поддержки аналитического DWH, позволяя автоматически генерировать SQL-код, в визуальном интерфейсе создавать и обновлять схемы и таблицы, проверять и контролировать данные. В частности, в проекте используются следующие метакомпоненты BI.Qube: MetaStaging, MetaVault, MetaControl
Слой витрины данных. Это слой, в котором данные уже агрегированы и содержат метрики, которые считаются по определенным алгоритмам. В проекте BAON первоначально витрины данных были реализованы с помощью Yandex Managed Service for ClickHouse, который предоставил готовую инфраструктуру и управление кластерами ClickHouse. Здесь хранятся агрегированные и предварительно обработанные данные, которые оптимизированы для быстрого выполнения аналитических запросов. Для переноса данных из хранилища в витрину используются возможности интеграционной платформы Apache Airflow, скрипты на SQL и Python. В ходе работы над проектом выяснилось, что мощности Yandex Managed Service for ClickHouse избыточны для текущего объема данных и потребностей компании в оперативности получения аналитики. Поэтому для экономии ресурсов заказчика витрины были временно организованы в среде PostgreSQL.
Слой визуализации данных. Для визуализации данных и создания отчетов был использован инструмент PowerBI, который подключается к витрине данных в PostgreSQL и ClickHouse. С помощью PowerBI создано порядка 15 отчетов, которые отражают различные аспекты бизнеса, такие как продажи по магазинам, продажи по каждому маркетплейсу, воронка продаж, анализ ассортимента, динамика цен и скидок и т.д. Отчеты представляют собой интерактивные дашборды, которые позволяют фильтровать, сортировать и сравнивать данные по разным параметрам.
Оркестрация. Для автоматизации и оркестрации рабочих процессов с данными используется платформа Airflow, которая позволяет автоматизировать и мониторить различные задачи, такие как загрузка, обработка, анализ и визуализация данных.
Инструменты, не доступные как готовые сервисы в Yandex Cloud на момент реализации пилота, развёрнуты в виртуальной среде Yandex Compute Cloud – фреймворк BI.Qube, Airflow и PowerBI. Виртуальные машины Yandex Compute Cloud предоставляют масштабируемые и гибкие вычислительные ресурсы, позволяют быстро создавать и управлять своими собственными серверами в облаке, на которых можно устанавливать и запускать любые программы. Виртуальные машины также дают больше контроля и гибкости над облачной инфраструктурой, так как пользователь может выбирать подходящие параметры, такие как зона доступности, количество и производительность ядер процессора, количество памяти, диски, сетевые настройки и другие.
Подход к построению аналитического DWH команды BI.Qube выгодно отличается применением собственных инструментов. Помимо автоматизации извлечения данных из любых источников, эксперты BI.Qube могут настроить весь регулярный ETL-процесс всего за один день.
Для этого должны быть выполнены подготовительные операции в инструментах BI.Qube, а именно сформированы запросы к источникам данных и определены методы загрузки данных (полная загрузка данных, инкрементальная загрузка данных или секционированная загрузка). После чего настраивается ETL на Airflow, который просто вызывает необходимые для выполнения команды. А эти команды с использованием инструментов формируются в полуавтоматическом режиме с использованием визуального интерфейса.
Сделать это полностью на «чистом» Airflow, без MetaStaging, потребует много времени. Необходимо писать код на языке Python по извлечению данных из источников, использовать драйвера DBC, организовывать подключения конкретно к таблице и описывать правила многочисленных загрузок.
Одной из ключевых технологических особенностей решения является использование собственного коннектора 1С, который значительно упрощает и ускоряет процесс интеграции данных из 1С в DWH. Коннектор 1С позволяет автоматизировать выгрузку данных из баз данных 1С любых конфигураций, включая кастомные, без необходимости писать запросы на языке 1С и использовать промежуточную SQL-базу данных. Коннектор 1С также исключает из процесса специалистов 1С, что экономит время и ресурсы, а также уменьшает риски и ошибки. Кроме того, коннектор 1С не нарушает лицензионное соглашение на 1С, так как не вносит изменений в базу данных, а только читает ее. Благодаря этому решению, команда разработчиков смогла обеспечить высокое качество и актуальность данных из 1С в DWH.
В ходе проекта также были выявлены и устранены некоторые технологические излишества, которые не приносили дополнительной пользы для аналитики. В частности, было решено отказаться от использования ClickHouse в качестве промежуточного звена между PostgreSQL и PowerBI, так как ClickHouse не мог отдавать данные PowerBI в режиме DirectQuery, который позволяет обновлять данные в реальном времени. Вместо этого все данные грузятся прямо в PowerBI в режиме импорта, что не влияет на производительность, так как данные ETL-процессом отдаются в нерабочее время. Таким образом, преимущества ClickHouse, заключающиеся в быстрой передаче данных и быстрых ответах на запросы, в этом проекте не потребовались, так как данные уже живут в PowerBI, и поэтому достаточно, чтобы витрина была на том же PostgreSQL. Это позволило сократить количество компонентов системы и упростить ее архитектуру.
Также для извлечения и загрузки данных был исключён из стека Data Transfer ввиду того, что он не умеет брать данные из 1С и не предназначен для загрузки данных в пакетном режиме. Также проблематично организовать правильное его взаимодействие с Airflow. Коннектор 1С и метакомпоненты BI.Qube в полной мере обеспечивают выполнение этих задач с высоким качеством.
Пилот по созданию аналитического хранилища данных (DWH) для fashion retail компании был успешно реализован командой BI.Qube за три месяца. Он показал высокую эффективность и качество решения на российских и open source технологиях. Аналитическая система обладает следующими преимуществами:
Проект позволил заказчику не только проверить концепцию построения аналитики на основе имеющихся в компании учётных систем и отечественных технологий, но и выявить некоторые недоработки в организации учёта, которые снижали качество данных и аналитики. Проект показал, что текущий подход к учёту не подходит для решения задач бизнеса, так как различные центры финансовой ответственности в компании ведут учёт по-разному и не могут считать показатели по одним и тем же алгоритмам. Это знание позволило компании начать работы по усовершенствованию учёта.
Реализация аналитического DWH в инфраструктуре Yandex Cloud позволила в кратчайшие сроки развернуть и настроить все необходимые инструменты и приступить непосредственно к задачам проекта. Залогом успеха по быстроте, безошибочности и корректности формирования кода DWH было использование фреймворка BI.Qube и его low code/no code инструментов. С помощью BI.Qube быстрее и легче решаются задачи в open source проектах, снижается трудоемкость и стоимость решения для конечного заказчика.





Сегодня без маркетплейсов почти невозможно представить стратегию какого-либо бренда в e-commerce. И аналогичные задачи по консолидации разнородных данных и построению аналитики на open source платформах есть у многих компаний на российском рынке.
Разработанное аналитическое DWH подходит для любого фэшн ритейла. Как модель данных для ритейла – это готовое решение. На основании предыдущих проектов эксперты команды BI.Qube отметили, что как минимум 90% показателей BAON пересекаются с другими крупными ретейлерами.
Бизнесу нужна единая правда в данных и формирование отчетности и дашбордов в любое время. Мы поставили [задачами проверки концепции] масштабируемость решения, применение open-source технологий, проверку работы стека технологий Yandex Cloud и его сочетания с Microsoft Power BI. Важным критерием был опыт подрядчика и понимание отраслевой специфики fashion-ритейла — с размерами, размерными сетками и ассортиментом по моделям и цветам
Дмитрий Захаров, CIO BAON,
конференция «Практический опыт миграции платформы данных на российское ПО» (26.10.2023)
Проект реализован с использованием продукта BI.Qube командой интегратора IT Pro, которая отвечала за разработку хранилища, настройку репликации и ETL, создание витрин для высокопроизводительной аналитики. Экспертиза IT Pro помогла устранить проблемы с интеграцией данных из множества источников, задержками при работе с рассчитываемыми «на лету» данными и недостаточной производительностью аналитических запросов.