О чём история
Платформа цифровой логистики 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 — инструмент для автоматизации разработки корпоративных хранилищ данных (КХД/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.
Проект реализовали и запустили всего за 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 для быстрой миграции данных и базируется исключительно на ПО, зарегистрированном в Росреестре.
Мнение
Понравился инструментарий BI.Qube и экспертиза команды разработчиков, подход к выбору и внедрению архитектурного решения. Платформа данных Yandex Cloud позволяет быстро тестировать новые концепции и легко масштабировать полученные решения. Мы устранили риски, связанные с иностранными вендорами, и получили возможность развития с использованием сервисов машинного обучения Yandex Cloud.