О чём история

Платформа цифровой логистики Monopoly.Online (ГК «Монополия»), объединяющая сервисы для комфортной грузоперевозки — от поиска груза или перевозчика до контроля расходов, — перенесла с помощью BI.Qube процессы сбора и обработки данных в Yandex Cloud.

За 4 месяца организовали приём данных более чем из 10 разнородных источников и их процессинг в Data Lake, а также создали процесс построения и хранения витрин с помощью набора сервисов платформы данных Yandex Cloud и технологий Open Source. С системой работают более 400 пользователей ГК из различных отделов и департаментов, оперативно получая информацию из 50 аналитических отчётов и 150 витрин данных.

Задача компании

Цифровая платформа Monopoly.Online (ГК «Монополия») объединяет сервисы, необходимые для организации грузоперевозки, — от поиска груза или перевозчика до экономии расходов в рейсе на топливе и придорожных услугах. Компания развивает проект «Монополия.Бизнес», в котором водитель становится предпринимателем и владельцем собственного грузового автомобиля без первоначального капитала.

Компания создала несколько сервисов, которые помогают пользователям в ежедневной работе: при поиске и размещении грузов на платформе, организации предпринимательской деятельности, автоматизации АЗС и придорожных сервисов.

Все они генерируют разнородные данные, для получения, хранения и обработки которых используются:

  • базы данных PostgreSQL, Microsoft SQL Server, MySQL;
  • облачное хранилище OneDrive; сервис анализа Google BigQuery;
  • брокер сообщений Apache Kafka®;
  • интерфейс взаимодействия Rest API и другие.

Чтобы исключить лицензионные риски, повысить гибкость и безопасность инструментов доставки и хранения данных в облаке, компания решила локализовать «озеро данных».

Для этого определили следующие цели проекта:

  • Организовать приём данных из всех источников и их процессинг в Data Lake (озере данных).
  • Реализовать бизнес‑ядро хранилища и размещение модели данных в Data Warehouse (DWH).
  • Создать процесс построения и хранения витрин.
  • Настроить сквозное управление метаданными на всех слоях трансформации и определить варианты отчётности для метаданных и дата‑каталогов.

Monopoly.Online искала облачное решение, которое предоставляет Open Source технологии обработки данных. Такой выбор продиктован несколькими факторами. Облачная платформа позволяет быстро масштабировать инфраструктуру и выделять мощности под растущую аналитическую нагрузку. Размещение сервиса в облаке поможет справиться с решением задач по оперативной и управленческой аналитике, построению инструментов сбора и обработки данных, self‑service аналитике в компании.

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

Платформа Monopoly.Online использовала облачные технологии с 2019 года, поэтому выбор облачного размещения для нового проекта был очевиден.

Выбор в пользу Yandex Cloud сделали после анализа пяти аналогичных платформ. Основными критериями для принятия решения стали:

  • Богатый набор сервисов и инструментов для разработки end-to-end решений управления данными — от хранения до анализа и визуализации. В их числе Yandex Object Storage, Yandex Managed Service for Greenplum®, Yandex Compute Cloud, Yandex Managed Service for PostgreSQL.
  • Быстрое и простое масштабирование аппаратных ресурсов.
  • Гибкая партнёрская программа.
  • Дружелюбная и отзывчивая команда и компетентная техническая поддержка.
  • Удобные каналы коммуникаций.

Также Yandex Cloud предлагает высокий уровень отказоустойчивости и надёжности за счёт использования современной геораспределённой инфраструктуры, соответствует высоким требованиям информационной безопасности и российского законодательства.

Озеро данных на Open Source в Yandex Cloud

Сервисы компании получают данные из более чем из 10 различных источников. Данных много и они разнородные, а кроме того, в работе с ними нужно учитывать временные метки. С этой задачей успешно справился набор инструментов BI.Qube, способный работать с распределёнными разнородными источниками и эффективно организовывать оперативную доставку больших объёмов данных в стейджинг‑среду.

Продукт, который создали BI.Qube и Monopoly.Online, можно назвать уникальным, так как это первое решение по доставке больших объёмов данных с помощью Yandex Cloud.

Взаимодействие компонентов BI.Qube

BI.Qube — инструмент для автоматизации разработки корпоративных хранилищ данных (КХД/DWH) в концепции low‑code/no‑code, включает компоненты для эффективной работы с данными на проприетарных и Open Source платформах: MetaStaging для подключения источников, MetaVault для автогенерации модели данных DWH, MetaControl для гибкого управления качеством данных, MetaMasterData для управления мастер‑данными и реализации внесистемного учёта, MetaOrchestrator для выполнения ELT/ETL процессов с глобальной оптимизацией соответствующего графа.

Архитектура проекта на BI.Qube состоит из пяти функциональных блоков, каждый из которых играет свою роль в процессе обработки данных.

Блок извлечения и загрузки данных

Создан на платформе .NET и развёрнут на виртуальных машинах Compute Cloud. Поддерживает реляционные базы данных (PostgreSQL, SQL Server, MySQL), таблицы Microsoft Excel (в том числе из внешних хранилищ OneDrive, Яндекс Диск), сервис Google BigQuery, а также другие источники данных Rest API. Загрузка сырых данных осуществляется в Data Lake: объектное S3‑хранилище Yandex Object Storage с файлами формата Apache Parquet, управляемые базы данных PostgreSQL и Greenplum.

Блок оркестрации

В качестве оркестратора для запуска и планирования задач интеграции используется Open Source инструмент Apache Airflow 2.0, который предоставляется в Yandex Cloud Marketplace.

Блок шифрования

Доступно шифрование любых данных, связанных с системами источников и назначения. Для этого используется асимметричный алгоритм RSA с длиной ключа в 4096 бит. Он отличается высокой криптостойкостью и зарекомендовал себя в промышленных решениях.

База данных для хранения настроечной информации

Информация об источниках данных и целях их загрузки в Data Lake хранится в СУБД PostgreSQL, развёрнутой на виртуальной машине в Yandex Compute Cloud.

Блок формирования параметров запуска интеграции

Данный модуль также разработан на платформе .NET. Он опрашивает настроечную БД и формирует запросы к источникам, чтобы загрузить их в целевую систему и отправить на вход в блок извлечения и загрузки данных. Для взаимодействия с БД используется технология доступа к данным Entity Framework, а быстрая параллельная загрузка данных реализована с помощью инструмента Apache NiFi.

Архитектура решения с применением BI.Qube и Yandex Cloud

Проект реализовали и запустили всего за 4 месяца.

Результаты

Monopoly.Online мигрировала с зарубежных решений, что позволяет избегать лицензионных рисков. Автоматизированная миграция в новое хранилище данных заняла 4 месяца. Хранилище включает в себя кластеры Greenplum для оперативного получения информации, использования сценариев быстрой фильтрации, обогащения данных. Технологии приёма и обработки данных в виде сервисов упростили и ускорили процессы решения поставленных задач.

Использование нового стека и сбор данных из нескольких различных систем сократили время подготовки регулярной отчётности в 5 раз. Управляемая СУБД Greenplum позволила ускорить обработку больших объёмов (более 1 ТБ) данных при выполнении сложных SQL‑запросов за счёт распараллеливания операций и концепции Shared Nothing. Отказоустойчивость всей системы стала выше благодаря зеркалированию и резервированию.

Система позволяет генерировать более 50 BI‑отчётов по 300 метрикам в модели данных (EDM). Более 400 пользователей регулярно обращаются к данным из хранилища, из них 200 ежедневно выполняют запросы для построения отчётов в режиме самообслуживания.

Оплата арендованных ресурсов Yandex Cloud — прозрачная, с ней легко прогнозировать затраты и улучшать производительность. Гибкая система управления ресурсами позволила быстрее запускать аналитические продукты, требующие больших вычислений. Теперь не нужно ждать покупки дополнительных серверных мощностей.

В результате сервисы компании регулярно получают данные из всех источников в простую файловую структуру каталогов и имеют к ним удобный доступ непосредственно из СУБД. В ближайших планах — применение методологии Data Vault, улучшение бизнес‑логики, использование систем управления метаданными, а также внедрение инструментов визуализации Yandex DataLens, машинного обучения и БД ClickHouse® для повышения производительности витрин данных.

Это решение может быть использовано другими клиентами и партнёрами Yandex Cloud для быстрой миграции данных и базируется исключительно на ПО, зарегистрированном в Росреестре.

Мнение

Дмитрий Власкин,
руководитель направления аналитики данных Monopoly.Online
Дмитрий Власкин,
руководитель направления аналитики данных Monopoly.Online

Понравился инструментарий BI.Qube и экспертиза команды разработчиков, подход к выбору и внедрению архитектурного решения. Платформа данных Yandex Cloud позволяет быстро тестировать новые концепции и легко масштабировать полученные решения. Мы устранили риски, связанные с иностранными вендорами, и получили возможность развития с использованием сервисов машинного обучения Yandex Cloud.