Как мы научились управлять данными глобального масштаба: кейс разработки Супермаркета Данных

image-loader.svg

Мария Юшанова, Управление распространения данных Департамента SberData

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

Однако может возникнуть проблема, когда данные разрознены и нет единого механизма обмена информацией владельцев данных с их потребителями. Например, в Фабрике Данных Сбера более 350 источников данных, 90 аналитических приложений, 270 лабораторий данных, где работают боле 1300 пользователей и обращается около 15 Пб разной информации. Важно было создать решение, которое автоматизирует процессы по работе с данными и позволит пользоваться им в формате self-service.

Именно за эту амбициозную задачу, которую до этого никто не решал, взялась объединенная команда Сбера и ADV/web-engineering, и в этой статье расскажем, что у нас получилось.

image-loader.svg

Задача

Стандартный сценарий поиска информации представлял собой поход по начальникам департаментов, формирование договоренностей и согласование получения доступов. При этом владельцы данных могли не знать о том, что кому-то вообще нужны данные, тем более в определенном формате, с определенной регулярностью, что их данные могут быть недостаточно качественными и тп. Даже после того, как данные были найдены и доступ был получен, для каждого такого потока данных должно было быть спроектировано и согласовано технологическое решение. Time-to-market мог составлять до полугода.

Среди потребителей данных мы выделяем две большие группы:

  • Data scientists, Data-инженеры, аналитики данных, разработчики витрин данных, DataOps — для исследования данных и построения моделей

  • Представители бизнес-подразделений Сбера — от построения автоматизированных процессов решения бизнес-задач до формирования управленческой отчетности в режиме реального времени.

В организациях масштаба Сбера невозможно построить работу с данными в масштабе всей компании без выстраивания процессов управления данным. Обязательно должен быть data governance. И в связи с этим появляются такие роли, как владелец данных, менеджер данных, бизнес-пользователь данных.

Чтобы воспользоваться необходимыми данными потенциальный пользователь данных должен:

  1. Найти нужные данные

  2. Объяснить, зачем ему эти данные и получить к ним доступ

  3. Поддержать техническую составляющую процесса получения данных

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

Поэтому мы сформировали требования к решению, которое позволит:

  • Легко и быстро искать необходимые данные

  • Получать данные по нужным условиям (формат / фильтры / условие поставки данных / периодичность и продолжительность поставки)

  • Получать данные там, где это необходимо получателю (здесь и далее будет использован термин «площадка получения данных»)

  • Поддерживать различные сопровождающие процессы, которые будут возникать при работе с данными (например, согласования, переходы пользователей между отделами и т.п.)

  • Соответствовать требованиям безопасности по работе с данными

  • В целом, удовлетворять нужды разных групп пользователей и стать единым механизмом распространения данных внутри Сбера.

Концепция и старт проекта

Как упоминалось в лиде, основная идея — создать целевое решение, которое соберет в себе рутинные процессы по работе с данными, автоматизирует их и позволит пользоваться им в формате self-service. Чтобы радикально сократить time-to-data, упростить доступ к данным пользователей Сбера и при этом повысить контроль за доступом к данным и data governance.

Рассматривалась идея «Супермаркета данных», которая есть у других компаний, в том числе коробочные решения, которые предоставляют интеграторы. Однако проанализировав рынок, мы поняли, что коробочное решение не приживется в контуре Сбера, где на момент принятия решения уже существовала Фабрика данных со своими процессами, реализованными сервисами и гигантскими объемами колоссального разнообразия данных (один лишь каталог данных сейчас составляет более полутора миллионов элементов). Исходя из этого было принято единственное и правильное решение — разрабатывать Супермаркет данным самим.

Нужно было собственное решение, которое станет единой точкой входа и фронтом для всех сервисов SberData, решит не только технические задачи, но и будет понятным относительно широкой аудитории пользователей.

Среди компаний-подрядчиков мы выбрали команду ADV/web-engineering.co, показавшую сильную экспертизу и предложившую концепт, максимально приближенный к тому, что мы хотели. Мы стартовали в 2019 году, и вот уже на протяжении двух лет вместе с коллегами из ADV постепенно развиваем уровень зрелости продукта и регулярно улучшаем внутренние процессы разработки, внедрения и сопровождения. Список решённых бизнес-задач исчисляется сотнями, а количество релизов — десятками.

Сегодня СМД используется для ряда промышленных трактов и снабжает данными из более чем 300 источников витрины и аналитические решения бизнес блоков Сбера. Ежедневно через СМД проходит около 3Пб данных, включающих более 70 тыс таблиц и миллиона атрибутов. И эти цифры продолжают расти.

О том, какие шаги мы прошли за эти два года, от лица совместной команды ADV и SberData расскажет Виктор Колдаев @vkoldaev, ведущий аналитик компании ADV/web-engineering:

Сильные e-commerce и data-подразделения позволили ADV собрать команду, использующую опыт построения больших каталогов, работу с дистрибуцией данных и большими нагрузками, экспертизу в области обеспечения безопасности данных для реализации cовместно с сильной командой SberData удобного и интуитивного self-сервиса для поиска и получения данных в контуре Сбера.

Разработку концепта мы с аналитиками команды Сбера начали с представления всего многообразия данных. Здесь используются метаданные — данные о данных, содержащие информацию о списке данных, структуре, показателях качества, актуальности, data governance информации. Метаданные могут обогащаться и использоваться, например, для поиска нужных данных.

Второе — это получение данных с учетом различных критериев и с определенной регулярностью. Пришли к формату заказа данных по типу подписки.

Добавляем пользователей, которые со всем этим могут работать, и получаем верхнеуровневую концептуальную модель сущностей, содержащую:

  • Ассортимент

  • Подписки

  • Пользователи

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

  • Каталог, построенный на основании метаданных и содержащий доступный ассортимент, с инструментами поиска и фильтрации

  • Корзина, позволяющая оформить «заказ на данные» — подписку

  • Реестр подписок (заказов пользователей)

  • Карточка подписки

  • Стартовая разводящая страница, содержащая базовый дашборд

image-loader.svg

Вот и получился Супермаркет данных. Бонусом в концепции закладывался сопроводительный функционал, типа общего поиска, глобальных справочников, систем рекомендации и административного интерфейса.

Параллельно архитекторами Сбербанка прорабатывается базовая архитектура решения, фиксируется:

  • Портал Супермаркета данных — интерфейсная часть, с которой работает пользователь и которая сама по себе работает не с данными, а только с метаданными

  • Технический компонент, отвечающий непосредственно за работу с данными и их поставку согласно требованиям подписок — Ядро Супермаркета данных

  • Источники данных — условное обозначение всех точек, метаданные которых опубликованы в ассортименте Супермаркета данных и доступных для заказа

  • Получатели данных — условное обозначение потребителя данных независимо от технологического стека

Использование единого технологического решения позволяет пользователям не заниматься проработкой нового технологического канала обмена данными для каждого инфопотока, а лишь раз настроить свой приёмник для получения данных из Супермаркета.

image-loader.svg

MVP и развитие решения

Супермаркет данных — довольно сложное архитектурное решение, которое на начальных этапах отличалось от того, что мы имеем сейчас. Внутри него огромное количество интеграций с системами Сбера. Релиз формируется из работы нескольких команд, каждая из которых решает свой пул задач и реализует свой бэклог.

MVP включал в себя базовый функционал:

  • Ограниченный набор данных в ассортименте

  • Ограниченная аудитория в рамках работы с MVP продукта

  • Из всех вариантов поставки данных — только снепшот (полный объем таблицы источника, без возможности наложить фильтр или получить дельту изменений данных за период) по расписанию не чаще раза в день

  • Запрошенные данные можно получить только после процесса их подготовки и из специализированного hadoop-кластера под именем DDA — data distribution area, область распространения данных

  • Многие опции подписок (например, сложные фильтры на данные) и прочие полезные бантики были пущены под нож

Очень много идей из концепции также были перенаправлены в бэклог для дальнейшей приоритезации.

После запуска MVP первым делом:

  1. Обеспечили поддержку сервиса централизованного управления пользователями и их ролями,

  2. Запустили процесс регулярного получения метаданных для построения актуального ассортимента из сервиса управления метаданными Фабрики данных Сбера

  • Реализован базовый функционал уведомлений пользователей о различных событиях, связанных с их подписками, на портале и через почту

  • Добавлен поиск по объектам ассортимента

В рамках первой вехи развития решения наша совместная команда:

  • Предоставила возможность построения промышленных трактов, которым требуется повышенная надёжность и безопасность. Здесь добавили поддержку выделенных технических учётных записей. Их использование позволяет оформлять специальные «промышленные» подписки, которые не зависят от конкретного человека, предполагают двойной контроль изменений и отдельные условия поддержки.

  • Расширила возможность использования СМД внутри контура Сбера. Начали поддерживать больше платформ-приемников, расширяя список бизнес-задач, которые можно решить.

  • Добавила полноценную фильтрацию запрошенных данных при оформлении подписок

  • Расширила доступный для заказа ассортимент. Из важного — добавили возможность заказа данных с использованием Единого Семантического Слоя (ЕСС) Сбера.

Полноценное описание ЕСС заслуживает отдельной статьи. Если коротко, то это изначально общая логическая модель данных всего Сбера, структурированная по предметным областям и наполненная данными из разных источников. Использование ЕСС дает пользователю возможность оперировать бизнес-данными без необходимости разбираться в какой-то конкретной структуре хранения данных какого-то конкретного источника.

Следующая веха была заточена под развитие условий поставки данных. Продукт стал доставлять данные:

  • Не только по расписанию, но и по факту обновления данных в источнике

  • Не только снепшоты, но и инкременты, чтобы позволить экономить время и вычислительные ресурсы

  • Не только пакетным способом, но и потоковым, в режиме около реального времени

  • Не только поставлять данные (перекладка данных, ETL), но и управлять доступом к данным по подписке через сервисы проксирования. Так получатель обращается к запрошенным данным напрямую, без ETL-процесса подготовки данных и размещения их в DDA. Подобная оптимизация особенно актуальна для гигантских объемов информации, так как, по сути, получение данных выполняется в два раза быстрее и с экономией места на дисках.

Следующая важная задача — поддержка обновленных требований кибербезопасности по поставке чувствительных данных через Супермаркет данных. Это был отдельный большой проект нескольких команд Сбера, начиная от проработки процесса и архитектуры и заканчивая доработкой нескольких систем, включая Супермаркет. В рамках этого проекта команда:

  • Реализовала механизм доступа к данным через теги доступа. Теги доступа представляют собой своего рода ярлыки, которые устанавливаются на данные любого уровня атомарности: от целой схемы до конкретного атрибута. Это позволяет владельцу данных гибче определять ценность и защиту для своих данных

  • Внедрила защиту данных с использованием технологии токенизации и шифрования.

Дополненная концептуальная архитектура с высоким уровнем абстракции теперь выглядит так:

image-loader.svg

Что сейчас

На данный момент объединенная команда ADV и SberData совершенствует сервис, повышая его стабильность и производительность, а также продолжает развивать функционал, расширяя список решаемых бизнес-задач:

  • Сейчас автоматизированная система находится на уровне Business operational и развивается в сторону Business critical: начинаем с отдельных подписок, целимся в повышение стабильности всего решения.

  • Занимаемся оптимизацией затрачиваемых ресурсов, позволяя, например, переиспользовать одни и те же поставленные данные для решения однотипных задач

  • Расширяем поддержку новых типов источников данных

  • Расширяем список получателей данных, в том числе активно реализуем поддержку возможности поставки данных в отдельный внутренний сервис Сбера, предназначенный для обмена данными с дочерними и зависимыми организациями

Мария Юшанова, Управление распространения данных Департамента SberData

Что в итоге

Эксперты департамента управления данными Сбера (SberData) вместе с коллегами из ADV проделали большой путь по разработке и внедрению уникального продукта. Организовывали команды и выстраивали взаимодействие как внутри, так и между ними, продумывали процессы, выбирали инструменты работы и т.д. Это полноценная совместная работа двух профессиональных команд — Сбера и ADV.

За 2 года объединенная продуктовая команда запустила сервис, позволяющий оптимизировать и стандартизировать процессы получения данных для решения различных бизнес-задач компании с учетом централизованного контроля доступа к разным типам информации.

Интерфейс сервиса реализован в формате интерактивного каталога, где пользователи могут заказывать данные и оформлять на них подписку для выполнения различных бизнес-задач, от использования данных для построения решений промышленного уровня до обучения моделей для персонализации услуг и построения скоринговых моделей на основе транзакционного поведения потребителей. Многие процессы, без которых работа такого монстра невозможна, автоматизированы и скрыты от пользователя.

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

У нас получилась отличная слаженная команда с коллегами из ADV, где их умение думать по-продуктовому и большой опыт в реализации сложных проектов сочетается с высоким профессионализмом и экспертизой в области больших данных специалистов SberData. И будем дальше развивать данный проект, выводя работу с данными в Сбере на качественно новый уровень. О чем поделимся в следующих статьях!

© Habrahabr.ru