Российский ретейлер HOFF договорился о переносе части своих данных на мощности облачного провайдера Yandex Cloud, рассказали информационной службе Хабра в пресс-службе Yandex Cloud. В новом облаке HOFF запустила глобальную аналитическую систему. Система должна помочь ретейлеру справляться с пиковыми нагрузками, повысить эффективность работы команд продуктовой и маркетинговой аналитики и оперативно устранять неточности в данных.
Hoff представляет собой сеть гипермаркетов мебели и товаров для дома с 61 магазинами по всей России и около 6,5 тысяч сотрудников. Для проведения продуктового и маркетингового анализа компания аккумулирует информацию в облачном Data Warehouse (DWH): звонки, визиты, обращения, оплаты, действия клиентов на сайте. За 5 лет в хранилище накопилось 93 ТБ данных, собранных из более чем 10 различных источников.
Существующее хранилище решало текущие задачи компании, но у него было несколько проблем. Например, данные иногда противоречили друг другу, а структура хранилища была запутанной. Совместно с AERO компания Hoff расширила задачи, предъявляемые к хранилищу.
Целями проекта стали рефакторинг хранилища, его перенос на новую масштабируемую архитектуру и выстраивание алертинга. Изначально DWH Hoff было развёрнуто на облачной платформе, предусматривавшей плату за каждое обращение к данным, что существенно ограничивало возможности компании. AERO предложили использовать opensource-решения, лишённые этого недостатка.
Компании планировали локализовать хранилище данных, поэтому подыскивали облачного провайдера в России, для этого подошла платформа Yandex Cloud. Основным преимуществом платформы для Hoff стало наличие управляемых сервисов для opensource-продуктов, таких как ClickHouse, Greenplum®, Managed Service for ClickHouse, Managed Service for Greenplum®.
Создание послойной инфраструктуры хранилища AERO и Hoff начали с анализа старой архитектуры. Этот этап оказался довольно сложным. Данные из более чем 10 источников использовались для 155 различных дашбордов и 42 отчётов, содержащих 1938 расчётных полей. Команда провела реверсинжиниринг: начиная с дашбордов отслеживался путь данных к источникам, выявлялись последовательности и правила преобразования. В начале проекта общая схема потоков данных выглядела как на рисунке 1.
После обработки полученного графа, последовательной отработки скриптов и разбивки данных по источникам удалось получить упорядоченный граф, как на рисунке 2.
В результате анализа команда проекта определила, что почти треть накопленной за 5 лет информации устарела или не используется. Кроме того, выяснилось, что еженедельно из Power BI запрашивается 29 ТБ данных. При схеме платы за каждый запрос затраты составляли порядка $3 тысяч в месяц.
После аудита компании занялись переносом данных. AERO и Hoff определили, какие данные можно не забирать из старого хранилища, и совместно со специалистами Yandex Cloud приступили к проектированию новой облачной архитектуры. В качестве хранилища выбрали Yandex Object Storage, создав скрипты для различных вариантов выгрузки данных. Затем подняли 3 виртуальные машины для синхронизации хранилища. Чтобы сфокусироваться на проекте, а не на отказоустойчивости и обслуживании инфраструктуры, было решено использовать управляемые сервисы баз данных ClickHouse и Greenplum®. Плюс использования opensource-продуктов — возможность переноса DWH на любую инфраструктуру без необходимости полной пересборки.
Далее команда проекта создала послойную инфраструктуру. В старом хранилище аналитики Hoff могли работать только с сырыми данными. В новом хранилище эти данные перенесли в ClickHouse, подходящий для их хранения, а все новые сырые данные поступают в эту базу. Ядром DWH стала база Greenplum®, позволяющая быстро изменять, фильтровать и связывать данные. С помощью пайплайнов в Airflow команда настроила автоматическое обновление данных по расписанию.
Далее компании приступили к созданию витрин данных, на основе которых строится визуализация. Для визуализации выбрали сервис Yandex DataLens. Сейчас сформированы все основные витрины данных, и команда продолжает работу над новыми. Одна витрина данных может быть источником для множества дашбордов. Раньше каждый отдел компании обрабатывал сырые данные из хранилища на основании собственной экспертизы и формировал из данных отчёт. Этого было достаточно для текущих задач компании, но предварительная обработка информации помогла ускорить формирование отчётов. В новом хранилище для аналитики используются предобработанные по единому стандарту данные из Data Vault Greenplum®.
Как уже говорилось, специалистами компании AERO была создана с нуля система алертинга специально для этого проекта. После команда проекта пересобрала хранилище данных за 1 год, объём данных сократися с 93 ТБ до 51 ТБ. Теперь ежедневно в новое хранилище поступает 15 ГБ сырых данных, из которых в Data Vault Greenplum® попадает 3 ГБ единообразно обработанной информации.
Создание аналитического отчёта в различных компаниях занимает несколько дней, а в Hoff этот процесс сократился до 20 минут. Созданная многоуровневая архитектура и использование управляемых облачных сервисов позволяют легко масштабировать проект. При регулярно растущем объёме данных DWH можно трансформировать в Data Lake без потери качества структуры. Сырые данные, в том числе и из новых источников, обрабатываются единообразно и поступают в Data Vault уже в стандартном виде. Разработанная система алертинга позволяет оперативно оповещать аналитиков: скорость реагирования на ошибки увеличилась в 3 раза. Удалось локализовать хранилище, выбрав отказоустойчивую инфраструктуру Yandex Cloud, отвечающую высшим стандартам безопасности. Кроме того, Hoff оптимизировал затраты на DWH: теперь не нужно платить за каждое обращение к данным.