Статья носит исключительно образовательный/ознакомительный характер. Она не служит цели, рекламировать какой-либо инструмент или ПО. Все наименования программного обеспечения, упомянутые в статье приведены из личного опыта.
Цель любого бизнеса — не просто заработать деньги, а сделать это наиболее эффективным образом (быстро и с минимальными вложениями). Есть множество подходов в принятии управленческих решений, которые позволяют достигать этой цели, но наиболее востребованный на данный момент это data‑driven подход.
Что такое data‑driven подход, подробнее в этой статье описывать нет смысла. На эту тему уже написано множество статей. Мы остановимся на главном. Этот подход заключается в том, что любое управленческое решение должно быть обосновано и подкреплено соответствующими цифрами и данными. И неважно, какое это решение: верстаете ли вы бюджет на рекламу, планируете крупную закупку оборудования или ставите задачу подчиненным — разработать очередной отчет, который так и останется разовой акцией в одинокой папке на диске. Любая задача должна быть выполнена с учетом имеющейся информации и подкреплена аналитикой.
И здесь мы плавно подходим к тому, а как собственно физически это должно быть устроено.
В этой статье мы «на пальцах» рассмотрим ключевой инструмент в управлении данными компании и их использовании — каталог данных.
Что будет в этой статье:
Боли, которые лечит каталог данных
Что такое каталог данных
Как работает каталог данных
Какие функции выполняет каталог данных
Как использовать каталог данных для управления компанией
Примеры каталогов данных - конкретные технические инструменты и ПО (мой личный опыт)
Что необходимо знать перед тем, как внедрять каталог данных
Чего не будет в этой статье:
Пример внедрения конкретного инструмента управления каталогом данных - это тема для отдельной статьи.
Для кого статья:
Средний и крупный бизнес (торговые сети, средние и крупные производства, сетевые предприятия общепита, логистические компании, сетевые компании в сфере услуг, финансовые организации (банки, микрокредитные организации), образовательные учреждения, E-commerce) - словом, для всех, у кого много данных и кто не знает, что с этим всем делать.
Управленцам: владельцы, управляющие, директора IT департаментов, директора по продажам, финансам.
Специалистам информационной безопасности. - спойлер: очень полезный инструмент для классификации секретности данных.
Аналитикам данных и бизнес-аналитикам.
Проблема
Представьте ситуацию. Вы владелец крупного бизнеса. Вам приносят прогноз по продажам на следующий квартал. Красивый такой отчет, с форматированием, с галочками, графиками и прочим интерактивом. Но вот беда — вы не понимаете, как сформировали этот прогноз. На основании какой информации и каких источников нарисованы эти цифры. И вы задаетесь вопросами: а можно ли доверять этим данным, можно ли проводить закупки на основании данных из этого прогноза. И вот вы решаете выяснить у аналитика, на основании чего составлен отчет.
Если компания не крупная, то аналитик, скорее всего, скажет: «это мы взяли из 1С» — и даже может назовет конкретный отчет; «это мы взяли из excel». Вы начинаете выяснять: а как формируется отчет в 1С, кто заносит данные в excel, откуда берутся данные вот в этой цифре, а в этой и так далее
Если компания крупная, то вам скорее всего дадут ответ: «DWH. Такая‑то витрина, такой то отчет». Но как в DWH поступают эти данные? А как данные попадают в систему источник?
Естественно, добиваться от аналитика или, тем более, от директора по продажам правил расчёта каждой цифры в отчете смысла нет. Это неэффективное использование рабочего времени сотрудников.
Что же делать?
Хорошие новости! Вы не один такой. На дворе 26ой год, и человечество уже давно придумало очень классный инструмент для решения подобной проблемы. И нет - это не каталог данных. Это его собрат - база знаний компании. База знаний в данном случае может быть любой. От confluence и obsidian, до простого набора word-овских файликов с описанием методики составления отчета/прогноза и т.д.
И вот вы счастливый бегом внедряете в своей компании базу знаний, назначаете ответственных за её содержание и поддержание в актуальном состоянии и наслаждаетесь результатом.
Вам приносят в следующем квартале свеженький отчет по продажам. Вы начинаете с приятным осознанием собственной компетентности проверять агрегированные суммы за месяц. И цифры не сходятся.
Вы начинаете разбираться, как так произошло. Есть же методология, есть же описание расчёта показателей, источники. Почему? И здесь всплывают недостатки такого подхода. Оказывается, источник данных, который использовался при составлении отчета, был доработан для целей другого департамента. Бизнес-аналитик, который был ответственным за поддержание базы знаний в актуальном состоянии уволился, а времени на то, чтобы проверить отчет на соответствие методологии расчёта у директора по продажам не было. И вообще продажи теперь формируются из другого отчета.
Вы, конечно, можете обвинить в халатности своих подчиненных и уволить всех сразу. Но вспомните про вашу основную цель - максимально эффективно извлекать прибыль.
И здесь на сцену выходит каталог данных.
Что такое каталог данных
Каталог данных — это концепция единого централизованного инструмента (или набора инструментов), который хранит в себе все необходимые метаданные всех необходимых информационных систем компании в актуальном состоянии. Не пугайтесь сложного слова «метаданные». Это просто описание и структура ваших объектов данных (таблиц, отчетов, информационных систем, баз данных и так далее). Например, список названий колонок в таблице, типов этих колонок (дата, время, число, текст), что эти колонки содержат и так далее
Ключевое № 1 — «в актуальном состоянии». Это значит, что кто бы не уволился, как бы источник данных не изменился, вы в любой момент времени сможете увидеть корректное описание ваших дата‑активов. Дата‑активы — это как раз ваши таблички, отчеты, дашборды, базы данных и прочие объекты данных.
Ключевое № 2 — «единого централизованного». Это значит вам не нужно бегать по разным пространствам в базе знаний, по разным папочкам с word‑овскими документами. У вас единая точка входа.
Если очень простым языком: у вас есть одно окно, показывающее все ваши виды отчетности, источники этой отчетности, ответственных за эти источники и отчетность и что в этой отчетности отражено. И самое главное — система построена так, что вся актуализация информации происходит автоматически (ну или почти автоматически).
Звучит как несбыточная мечта, да? То ли еще будет.
Возможности
Каталог данных позволяет:
В реальном времени читать, обсуждать и редактировать описание любого дата‑актива.
Видеть, где и как хранится тот или иной дата‑актив.
Назначать ответственных за дата‑актив (гибкая автоматическая система смены ответственных)
Видеть и понимать как устроены потоки ваших данных. Например, из какой таблички формируется отчет, как данные попадают в эту табличку, и какие еще отчеты/отделы завязаны на эту табличку.
Делить дата‑активы на разные виды, типы, классы, домены, функции, продукты, как вашей душе угодно.
Смотреть примеры данных конкретного дата‑актива без необходимости лезть в систему источник.
Настраивать автоматические проверки данных дата‑актива. Например в столбце «Страна» таблицы «Продажи» могут быть только страны ЕАЭС. Если это не так, система предупредит об ошибке.
Управлять доступами к описанию дата‑активов (гибкая ролевая модель).
Подключать другие инструменты и базы данных к дата‑активу для различных целей. Спойлер — это киллер‑фича. Почему, подробнее узнаете в следующей статье. В этой лишь вскользь затронем эту тему.
Строго контролировать безопасность персональных данных, чувствительных финансовых данных и так далее
Настраивать уведомления на любые действия связанные с дата‑активами.
И многое другое.
Как работает каталог данных
Я буду разбирать на примере инструмента для управления данными, который я сам внедрял не один раз — Openmetadata. Он бесплатный, но сейчас на рынке есть много разных систем, как платных так и бесплатных: DataHub, Amundsen, Collibra, Informatica, Arenadata Catalog. У всех из них есть свои плюсы и минусы, но принцип работы плюс минус одинаковый.
В основе любого дата‑каталога лежит 3 компонента:
База данных (место, где хранится вся необходимая информация, в том числе и описание ваших дата‑активов). Это тот самый backend.
Веб‑интерфейс (окно в браузере, где вы можете увидеть понятную обычному человеку картинку). Это front‑end системы.
Сборщик данных. У Openmetadata он называется ingestion. Это компонент, который будет собирать все ваши метаданные из всех ваших информационных систем (1С, CRM, и так далее) и складывать их в базу данных каталога.
Упрощенно схема работы выглядит так, как показано на рисунке 1:

Сборщик данных собирает метаданные из систем источников (1С, CRM, инструменты потоков данных и так далее)
Сборщик данных складывает метаданные в БД
Пользователь заходит в веб‑интерфейс
Веб‑интерфейс обращается к БД и забирает необходимые данные
Веб‑интерфейс транслирует картинку пользователю на основе собранных данных из БД
С внутренней кухней разобрались, теперь поговорим об устройстве самого каталога, как его видит пользователь.
Каталогизация
Любой дата‑каталог должен быть интуитивно понятным пользователю. А значит, весь тот объем метаданных компании, которые хранит в себе каталог, должен быть как‑то структурирован и поделен по группам.
Разделение метаданных в Openmetadata, к примеру, происходит в нескольких измерениях (разные классификации):
Принадлежность метаданных к конкретному инструменту (например к базе данных или к отчету Power BI). Здесь иерархическая структура.
Верхний уровень — это тип инструмента. Могут быть: База данных (database), Дашборд (dashboard), Хранилище (storage), инструменты потоков данных (pipelines), Инструменты обмена сообщениями (messaging) и так далее
Второй уровень — это конкретный инструмент. Например для базы данных это может быть 1С, CRM, MS SQL, PostgreSQL, ClickHouse и так далее. Для дашборда это может быть Power BI, Tableau, Yandex DataLens и так далее
Третий уровень — это конкретный экземпляр этого инструмента. Например, 1С: Бухгалтерия на моем сервере Server1.
Четвертый уровень — это уже сами объекты конкретного экземпляра: Таблицы, Схемы, Отчеты и так далее
Второй способ классификации — можно разбить все данные компании на домены дынных. Домен данных — это область знаний компании. Здесь, кто во что горазд. Домены можно придумать какие угодно, но чаще всего принято делить домены по функциональному назначению данных. Например, финансы, HR, продажи, маркетинг, производство, логистика, и.д. Здесь также можно построить иерархическую структуру. Т.е. домены могут быть поделены на субдомены и так далее
Третий способ классификации — поделить все данные компании на конкретные дата‑продукты. Дата‑продукт — это объединение разных данных (из разных источников и доменов) по принципу применения для решения конкретной задачи. Например, у меня есть ряд таблиц, отчетов и потоков данных, разработанных специально для верстки бюджета на рекламу. Поэтому я могу объединить все эти данные в 1 дата‑продукт «Бюджетирование рекламы».
Тегизация — любому дата‑активу или его атрибуту можно назначить тег или несколько тегов. Например, я хочу пометить все данные, которые классифицированы как «персональные данные клиентов». И дальше я смогу использовать этот тег для быстрого поиска всех дата‑активов, в которых содержится персональная информация клиентов.
Изюминка каталога данных заключается в том, что все эти различные классификации можно и нужно использовать вместе. Так пользователям легче будет находить конкретный дата‑актив, назначать ответственных за него и так далее
Функции каталога данных
Для того, чтобы перейти к функциям необходимо понять, что мы можем посмотреть в каталоге данных по конкретному дата‑активу.
Если открыть в каталоге данных дата‑актив «Отчет по продажам за месяц», то можно увидеть следующее:
Какие измерения используются в отчете по продажам. Т.е. какова детализация этого отчета. Другими словами, мы можем увидеть «атрибутивный состав» данных. Например, данный вымышленный отчет содержит следующие измерения:
Месяц — отчет строится помесячно
Регион
Менеджер по продажам
Сумма продаж
Сумма скидки
По каждому атрибуту можно посмотреть тип данных, которые он содержит. Например, месяц содержит тип данных «Дата», Сумма продаж — «Число» и так далее
Можем увидеть текстовое описание самого отчета и описание каждого из его атрибутов.
Например, текстовое описание отчета может быть таким: «Отчет по продажам отражает информацию по сумме продаж и объему скидки по каждому менеджеру продаж в разрезе регионов. Детализация — помесячно». А описание атрибута «Регион» может быть таким: «Субъект РФ, за исключением автономных округов и городов федерального значения (они включены в субъекты областей)».Классификация. Можем увидеть все теги, домен(ы), ответственных за дата‑актив (владелец данных), владельцев доменов. Т.е. я хочу спросить детальнее как строиться отчет по продажам. Для этого я могу либо начать обсуждение в каталоге данных с владельцем, либо обратиться к нему напрямую по стандартным каналам связи.
Также в некоторых каталогах, таких как Openmetadata, можно посмотреть lineage дата‑актива. Это происхождение данных. В Openmetadata отражается целиком вся цепочка происхождения. Например, «отчет по продажам» строится на основании 3х таблиц: справочник «Регионы», справочник «Сотрудники» и регистр накоплений «Продажи». Регистр накоплений «Продажи» в свою очередь берет данные из системы CRM. Тогда в lineage мы увидим примерно такую цепочку: CRM (продажи за месяц) → Регистр накопления «Продажи» + справочник «Сотрудники» + справочник «Регионы» → Отчет по продажам. Пример на рисунке 2.

Рисунок 2 — пример Lineage дата‑актива И это одна из важнейших возможностей в управлении данными. Не нужно ковырять код, чтобы понять, откуда берутся данные в этом отчете. Достаточно сделать 2 клика мышкой и я увижу всю цепочку. На мой взгляд, уже только ради этого нужно внедрять дата‑каталог.
Примеры данных. Openmetadata поддерживает сбор части реальных данных из источника для отражения его в каталоге данных. Например, можем видеть первые 10 строк таблицы «Продажи».
Статистику по дата‑активу. Например, я могу посмотреть какой процент строк в регистре «Продажи» содержит отрицательные значения в поле «Сумма скидки», сколько всего строк в таблице, сколько уникальных значений в колонке и так далее. Это открывает массу возможностей для проверки качества данных.
Все созданные задачи для владельца или ответственного за дата‑актив. Да, да! Некоторые каталоги данных, такие как Openmetadata, могут выступать как таск‑менеджер. Т.е. в нем можно заводить задачи на изменение описания дата‑активов и так далее
И вот теперь можно поговорить о функциях и как управлять компанией с помощью каталога данных.
Функции каталога данных
Управление описанием данных. Любой объект данных в идеальной компании, будь то отчет или таблица или просто excel‑файл, должен иметь понятное и актуальное описание. Для этого существуют механизмы редактирования описания в случае изменения самого дата‑актива. Такими механизмами может выступать пошаговая система рецензирования измененного описания, система отслеживания статистики дата‑актива, которая автоматически создает задачу на изменение описания.
Анализ влияния изменений в данных. В самом начале статьи, мы обсуждали кейс, когда источники данных были изменены по запросу другого отдела. Так вот, перед началом работ по изменению источника в Openmetadata можно проследить, на что повлияют эти изменения. Открыв lineage, мы увидели бы, что на данный источник завязан «прогноз по продажам». Соответственно, перед изменением источника, необходимо запустить согласование с отделом продаж. И здесь мы переходим к следующей функции.
Управление изменениями данных. Чтобы процесс согласования изменения с отделом продаж был минимально бюрократизирован и удобен в каталогах данных предусмотрена система задач. Например можно настроить только уведомления по почте о том, что планируются изменения в источнике. Или можно настроить настоящий процесс согласования. Без необходимости постоянно напоминать об изменения самостоятельно можно настроить автоматические напоминания по разным каналам связи (почта, мессенджер, teams и так далее).
Уничтожение сомнений в качестве данных. Я противник того, что допустимо хоть на 1%, чтобы данные были недостоверны или некорректны. Для меня, если данные некорректны хотя бы на пол процента, то данным доверять нельзя совсем. Для этого есть механизмы отражения качества дата‑актива (уровень качества), автоматические проверки данных, тот же lineage и так далее
Контроль безопасности и предотвращение утечки информации. Очень важный пункт и стоило бы его поставить на первое место. Как это работает: я могу автоматически проставить всем дата‑активам, где содержится атрибут «Номер телефона» тег «PII» (Personally Identifiable Information) — персональные данные. Т.к. openmetadata умеет общаться с другими системами, настрою её интеграцию с агентом управления доступами, например, с Open Policy Agent (что это такое, тема для отдельной статьи, если коротко — система контроля и выдачи доступов ко всем источникам информации компании). И если вдруг у меня появиться новый дата‑актив, в котором содержится номер телефона — система автоматически будет блокировать все доступы для всех не ключевых пользователей к этому дата‑активу. Тоже самое можно настроить для любого содержания и любого уровня секретности данных (зарплаты сотрудников, доходы и расходы компании, бюджет, клиентская база и так далее)
Ликвидация неактуальных и не использующихся дата‑активов. В каталоге данных есть функция «Использование» дата актива. Т.е. можно посмотреть кто пользуется этой информацией и если отчет или таблица давно никем не используется, то его можно отключить или удалить совсем, чтобы не тратить ресурсы компании в пустую. Это может помочь сильно сократить расходы компании на поддержание не нужных данных в актуальном состоянии.
Помните, я писал про киллер‑фичу — возможность подключения каталога данных к внешним системам. Так вот, здесь открывается поистине безграничный потенциал для применения каталога данных. Например, можно подключить каталог данных к ИИ‑модели и задавать в чате вопросы по поводу данных. «Найди‑ка мне, где я могу получить сведения о поставщиках сырья в моей компании». ИИ начнет сканировать каталог данных на предмет наличия этих сведений и выдаст результат. Можно пойти еще дальше и подключить ИИ не только к каталогу данных, но и к самим источникам данных. Тогда можно задать вопрос: «какой поставщик сырья поставляет материал1 по наименьшей цене». ИИ сначала узнает из каталога данных где лежит информация о поставщиках, а потом пойдет в этот источник и прочитает сам объект и выдаст ответ. Это же настоящая магия!!!
Я могу еще долго перечислять возможности дата‑каталога, но тогда статья растянется на много страниц текста. Хочется осветить другие аспекты.
Что нужно знать перед внедрением каталога данных
Любая сложная система таит в себе как плюсы, так и минусы. У всех систем есть сильные и слабые стороны. Одна система лучше работает со сбором данных, другая более дружелюбна для пользователей самого каталога, третья настолько сложная, что нуждается в целой команде администраторов для её стабильной работы.
Так как же выбрать конкретный инструмент, который подойдет мне лично и моей компании. Который закроет все мои потребности и даст моей компании невероятный толчок для роста.
Выбрать можно тогда, когда вы ответите себе на вопросы:
Сколько денег вы готовы потратить на само внедрение инструмента. Понятное дело, есть бесплатные open source решения. Но их тоже кто‑то должен развернуть и настроить. А это процесс очень небыстрый, если ты никогда с этим не работал.
Сколько денег вы готовы тратить ежемесячно на его поддержание. Даже бесплатный инструмент по типу Openmetadata нужно обслуживать. Как минимум нужен 1 администратор системы, который знает, как устроена она изнутри, который будет выдавать доступы и контролировать расписание работы системы.
Какие основные боли вы планируете закрыть. И есть ли вообще нужда в этом инструменте или вам достаточно, например, остановиться на стадии «база знаний». Не у всех компаний есть достаточно большой объем данных для того, чтобы было сложно в них разобраться. Например, одинокому магазину игрушек каталог данных не нужен. Это совершенно избыточный инструмент для него. А вот для банка (даже небольшого) этот инструмент будет невероятно полезным. Ведь у банка данных очень много.
Потребуется ли мне консультация экспертов или компетенции моих сотрудников достаточно. Часто само наличие отдела IT в компании недостаточно для успешного внедрения каталога данных. Программист программисту рознь и здесь вам нужно подумать и посоветоваться с начальников вашей it‑службы — хватит ли вам опыта и знаний для этого или потребуется привлекать профессионалов.
После ответов на эти вопросы уже можно подбирать инструмент, который подойдет именно вам.
У каждого инструмента есть возможности, а есть зоны для роста. Как и многое другое полезное ПО, каталоги данных пришли к нам с запада и пока еще не ассимилировались полностью под СНГ реалии. К примеру, если вы западная компания и вам нужно подключить свою ERP к каталогу данных, то вы с легкостью можете это сделать из коробки в Openmetadata. Она поддерживает SAP ERP коннектор (коннектор — это способ связи с конкретным типом источников данных). А вот с 1С стандартного штатного коннектора из коробки в Openmetadata нет. Зато есть возможность использовать свой «кастомный» коннектор. Но для этого вы его должны еще написать. То же самое касается и CRM систем. На западе используют какой‑нибудь Salesforce и к нему коннекторы уже есть. А для Bitrix или AmoCRM их нужно писать самостоятельно.
Если рассматривать open source решения, то вы должны понимать, что они все находятся в постоянном развитии и доработке. Есть проблемные зоны, которые необходимо знать, как лечить. Конечно можно подождать, когда разработчики решения сами исправят какой‑то баг в новом обновлении, но порой ждать приходится очень долго (год, два или три). Но есть хорошие новости. Любую болячку можно вылечить, когда есть API (интерфейс для программного взаимодействия с системой). У Openmetadata, к примеру, он есть и довольно удобный.
Поэтому мой вам совет. Если вы никогда не работали с каталогом данных и у вас в штате нет людей, обладающих соответствующей компетенцией, лучше обратиться за помощью к профессионалам. Здесь не будет конкретных рекомендаций дабы не создавать бесплатной рекламы. Но погуглить можно. Можно почитать статьи знающих авторов. В общем, было бы желание.
Заключение
В заключение хотелось сказать следующее. В последние годы мир технологий стремительно меняется. Если лет 5 назад еще достаточно было того, чтобы вести всю свою отчетность в Excel для успешной конкуренции, то сейчас уже нужны более продвинутые и современные инструменты. Дата‑каталог это лишь ступенька в дальнейшем развитии компании. Это всего лишь инструмент. Это не догма, что нужно обязательно ставить всем Openmetadata или Datahub иначе прогоришь. Любой инструмент полезен, когда он к месту. Но глупо будет не воспользоваться таким почти «магическим» помощником в управлении компанией.
Я хочу пожелать вам найти подходящий именно для вас дата‑каталог. Чтобы внедрился он легко и без заноз в пятой точке и чтобы пользоваться им было одно удовольствие.
В следующих статьях, я сделаю подробный гайд «как поставить дата‑каталог в твою компанию».
Всего наилучшего,

Велисов Антон
технический директор Veloriant, antiony@yandex.ru
