Всем привет! Я Слава Жуков, CDO в eCommerce-агентстве Aero. Сегодня расскажу, как мы сделали облачное хранилище понятным и структурированным источником информации для Hoff.
Предыстория
В октябре 2021 года Hoff обратились за корректировкой разметки web-аналитики, но после нескольких консультаций стало ясно, что истинный запрос гораздо шире — в области работы с большими данными.
В компании существует два хранилища, на основе которых работает глобальная аналитическая система Hoff:
-
Внутреннее, в котором лежат ключевые данные ритейлера (продажи по товарам, регионам и др)
-
Облачное
Было обнаружено, что:
-
Из 93 ТБ данных в BigQuery почти треть — ненужные или устаревшие.
-
Объем еженедельных запросов к хранилищу из PowerBI составляет 29 ТБ.
-
Обработка запросов данных стоит компании порядка 3000$ в месяц.
В общем, всё работало долго, дорого и сложно. Стало ясно, что нужно не только оптимизировать облачное хранилище, но и выстроить универсальный регламентированный процесс сбора, очистки и обработки данных для масштабирования аналитики.
Спасение данных и переезд
Сразу после аудита мы предложили перейти из BigQuery на open-source решения в Yandex Cloud, так как на текущем этапе развития платить за каждое обращение к данным было нерационально. Это казалось рискованным предложением на фоне привычных сервисов Google, но в феврале картина мира резко изменилась — риск отключения стал стимулом к локализации хранилища.
Как без паники выгрузить 93 ТБ данных ASAP, пока Google рассылает «письма счастья»? В этом помог аудит. С коллегами из Hoff оперативно решили, какие данные можем не забирать, прописали скрипты для разных сценариев выгрузки в s3 и подняли 3 виртуальные машины для синхронизации хранилища.
Благодаря проактивности всех участников процесса и помощи аналитиков из Hoff, уже спустя месяц у нас был доступ к историческим данным на случай отключения инфраструктуры Google.
Новое хранилище на базе open-source
Мы выбрали Clickhouse и Greenplum — это бесплатные сервисы с открытым исходным кодом, над которыми работает большое количество разработчиков. Из-за этого они, как правило, содержат меньше дефектов, быстрее обновляются и в целом обеспечивают гибкий рабочий процесс. При желании, текущую архитектуру Hoff можно быстро перенести из облака на локальные сервера без потери данных, в то время как BigQuery заставляет буквально с нуля пересобирать все хранилище.
В то же время open-source — это про стабильность. Блокировка сервисов поставила под сомнение существование экосистемы данных множества компаний, а открытые решения снимают подобные риски.
Разработка архитектуры

Мы решили послойно развернуть хранилище в разных системах управления Clickhouse хорошо работает с сырыми данными: за счет высокого сжатия хранилище занимает меньше места, но при этом даже единичные ad hoc запросы выполняются оперативно. Для ядра DWH выбрали Greenplum. Благодаря распределенной обработке, в нем можно быстро джойнить, изменять и фильтровать данные. В BigQuery аналитики Hoff работали только с raw data level, то есть с сырыми данными, которые мы перенесли в Clickhouse вместе с коннекторами. Предобработанные данные упорядочили в Greenplum в виде Data Vault 2.0.
Это гибридная модель, суть которой — дробление массива данных на логические сегменты. В таком формате удобнее работать с хранилищем: все сотрудники от менеджеров до аналитиков могут компилировать информацию в зависимости от своих потребностей.
В Data Vault переносятся только обработанные с помощью фреймворка DBT данные. Такой подход позволяет доверять информации в хранилище на 100%, не переживая об актуальности и достоверности. С помощью пайплайнов в Airflow мы настроили автоматическое обновление по заданному расписанию.
Благодаря выстроенным процессам и описанным регламентам сотрудники Hoff могут поддерживать эту систему самостоятельно.
Алертинг
Надежность хранилища определяется качеством системы оповещений, то есть алертингом. Когда пользователь обращается к данным, он должен понимать их текущее состояние: корректность выгрузки, точность расчетов, последнюю дату обновления. Именно в нашей зоне ответственности сказать бизнесу, если что-то идет не так, предупредить возможные ошибки и принятие неверных решений.
Для новой архитектуры мы с нуля создали полноценную систему оповещений. Теперь при обнаружении ошибки уведомления будут появляться на всех этапах работы с ними — от загрузки сырых данных до дашбордов.
А при просмотре любого отчета сотрудники могут оценить его актуальность по трехцветной системе маркировки Витрины данных
Еще один важный этап работы — создание аналитических витрин или data mart. Это части хранилища в виде агрегированных таблиц, которые содержат данные по разным направлениям деятельности компании. Как правило, это ключевые метрики, которые можно комбинировать различными способами для дальнейшего анализа.
На основе витрин данных строится визуализация: один data mart может быть источником для 600 дашбордов. Ранее они делались из сырых данных, которые перед формированием отчета обрабатывал тот или иной отдел на основе своей экспертизы, а теперь — из предобработанной по единому стандарту информации.
Что в итоге
За год удалось с нуля пересобрать хранилище на облачной платформе и оптимизировать все данные: из 93 ТБ в ядро уложили 51 ТБ регулярно используемой информации. Сейчас ежедневный прирост сырых данных — около 15 ГБ, а в Data Vault — 3 ГБ единообразно обработанных.
За счет алгоритмов и разделения хранилища на слои, аналитики обращаются только к необходимому, подготовленному для работы объему информации. У специалистов стало уходить меньше времени на рутинные отчеты, что открыло возможности для новых проектов по развитию компании.
-
ссылка на оригинал статьи https://habr.com/ru/post/721230/

Добавить комментарий