Привет, Хабр!
Справочные данные — неотъемлемая часть бизнеса. Информация о клиентах, продуктах, сотрудниках накапливается в компании годами и требует систематической актуализации и структурирования. В решении этих задач не обойтись без системы управления мастер-данными.
Меня зовут Иван Фролов, я ведущий руководитель IT-направления в СберТехе — компании, которая строит Platform V, цифровую платформу Сбера для разработки бизнес-приложений.
Мы развиваем Platform V Dictionaries — продукт для централизованной работы с критичными для бизнеса справочными данными. В статье расскажу, как и зачем мы создали этот инструмент и какие задачи он помогает нам решать.
Что такое MDM-системы и зачем они нужны
Но вначале вспомним, что такое мастер-данные и почему наличие MDM-системы в крупной организации — это важно.
Мастер-данные содержат ключевую информацию о бизнесе: клиентах, продуктах, сотрудниках, технологиях. Чтобы с мастер-данными можно было корректно работать, они должны представлять собой единый источник полной и достоверной справочной информации — так называемую «золотую запись». Желательно, чтобы такие данные находились в централизованном хранилище, где они не дублировались бы и не противоречили друг другу.
Поэтому крупные компании всё чаще прибегают к использованию специальных систем для хранения и управления мастер-данными — MDM-систем (от англ. «Master Data Management»).
MDM-система — важнейший элемент в архитектуре бизнеса, который даёт единое представление о мастер-данных в компании. Такая система помогает собирать, консолидировать и управлять мастер-данными, проверять их качество, контролировать использование и распространение в компании.
Как появился Platform V Dictionaries
Справочные данные — фундамент работы почти каждого бизнес-приложения. Качественные справочные данные позволяют системам разных классов — CRM, ERP, BI и так далее — выполнять свои функции и исключать ошибки.
Естественно, в такой крупной организации, как Сбер, объём мастер-данных и количество систем-потребителей этой информации достаточно большие. К тому же у банка есть особые требования к реализации интеграционных взаимодействий. Плюс в Сбере используется сервис-ориентированная архитектура, а на рынке MDM-решений в основном главенствуют монолиты.
Поэтому для управления справочными данными мы создали собственный продукт — Platform V Dictionaries. Это система класса MDM для совместного использования и централизованной работы с важнейшей справочной и бизнес-информацией. Продукт представлен в виде набора компонентов, которые в полной мере решают задачи по управлению большим объёмом мастер-данных.
Platform V Dictionaries позволяет работать с быстрорастущим объёмом разнообразных данных из информационных систем, снижать расходы на ведение справочников в разных системах и сокращать время на сбор и актуализацию информации.
Продукт может использоваться не только в Сбере: он поставляется на рынок и может применяться для решения аналогичных задач в любых отраслях.
Как работает продукт
Архитектура Platform V Dictionaries состоит из трех компонентов:
Первый компонент — это Сервисы управления. Они позволяют создавать новые и редактировать существующие справочники в runtime. Что имеется в виду под runtime, расскажу дальше в статье.
Данные создаются и изменяются согласно определенному жизненному циклу с выполнением их версионирования. Конечно же, управление невозможно без проверки качества данных. Для этого предусмотрена функциональность проверки данных по модели, ссылочной целостности данных, дедубликация и очистка данных.
У пользователей есть разграниченный доступ к данным по ролям. Для более быстрой работы с контентом есть возможность экспорта и импорта мастер-данных.
Второй компонент — Сервисы интеграции. Он позволяет выполнять мониторинг и управлять распространением данных. Стандартный маршрут распространения проходит от сервиса управления до сервиса предоставления данных.
В рамках этого маршрута передаются как модели, так и сами данные. Передача модели позволяет создавать и изменять справочники в runtime. Также есть возможность распространять данные в стороннюю БД.
Третий компонент — это Сервисы предоставления. Он предоставляет API на чтение данных с возможностью фильтрации, разграничения доступа на чтение по справочникам.
Это масштабируемый компонент, его можно развернуть на несколько экземпляров, что позволяет распространять разные справочники в разные изолированные блоки. Такая масштабируемость также помогает решать высоконагруженные задачи при большом количестве запросов к сервису предоставления.
Таким образом, совместная работа трех компонентов продукта Platform V Dictionaries функционально закрывает такой сквозной бизнес-процесс, как управление и распространение мастер-данных.
Killer feature: динамическое создание справочников
Начну с реального примера, который встречается во многих организациях.
Представим, что нужно создать новый справочник. Для этого необходимо внести изменения в систему-источник — в нашем случае это был бы сервис управления данными. Далее нужно выполнить доработки, связанные с интеграцией, чтобы передать новый справочник потребителям. В разных организациях эти доработки могут касаться различных интеграционных решений: брокер сообщений, шина данных, ETL-инструмент или самописное решение. В нашем случае это был бы сервис интеграции данных. И, наконец, после выполнения всех доработок решение нужно перепоставить с прохождением всех циклов вывода нового релиза в ПРОМ.
Аналогично дело обстоит и с сервисами предоставления, если они используются в организации.
Получается, что добавление или изменение состава управляемых справочников — сложная трудоёмкая работа, которая влечёт за собой длительный цикл поставки доработок до ПРОМ в организации. А это сказывается на скорости решения задач систем-потребителей и, соответственно, задач бизнеса.
Platform V Dictionaries решает эту проблему. Продукт позволяет без перепоставки мастер-системы создать или изменить модель данных справочника. Информация по модели данных также будет сразу транслироваться в сервис интеграции и далее в сервис предоставления данных.
То есть, все компоненты продукта синхронизируются в части метаданных справочников и позволяют в runtime сразу после внесения изменений в модель данных и наполнения справочника предоставить данные потребителям.
Это важное свойство позволяет командам эксплуатации и сопровождения продукта быстро реагировать на требования потребителей к справочникам и помогать этим системам решать бизнес-задачи наиболее эффективно.
И ещё одна killer feature
А именно — масштабируемый, отдельно выделенный сервис предоставления данных, который позволяет системам-потребителям быстро приступить к использованию продукта.
Допустим, вы строите сервис-ориентированную архитектуру, при этом у многих ваших сервисов нет отдельно выделенного слоя хранения. Наш сервис легко встраивается в такую архитектуру и дает возможность всем сервисам организации получать данные справочников через API и использовать в своих функциях.
Сервис также будет полезен, если у вас территориально распределенный контур с системами и/или систем достаточно много. В таких ситуациях есть возможность развернуть необходимое количество экземпляров сервиса и бесперебойно предоставлять данные потребителям.
Большие объёмы TPS будут распределены по необходимому количеству экземпляров. А если системы-потребители находятся в разных сегментах, то отдельно установленные экземпляры повысят надежность, исключив лишние межсетевые взаимодействия.
Заключение
Цифровизация бизнеса стимулирует компании предъявлять все более высокие требования к качеству корпоративных данных. Повышение качества данных позволяет минимизировать ошибки бизнеса и снизить издержки предприятия. Поэтому системы управления данными вызывают все больший спрос.
Platform V Dictionaries помогает обрабатывать, консолидировать и централизованно хранить корпоративные данные, упрощает процесс формирования отчетности, уменьшает издержки и трудозатраты. А значит, позволяет ускорить бизнес-процессы и повысить продуктивность компании.