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

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

Необходимость внедрения каталога данных зависит от размера и сложности бизнеса. Крупные компании предпочитают внедрять какое-то дорогое вендорское ПО (список можно найти Здесь), либо разработать собственное решение (как, например, это было сделано в Магниты И Тинькофф).

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

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

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

  • автоматическое обнаружение наборов данных из различных источников;

  • понятный пользовательский интерфейс;

  • визуализировать происхождение данных;

  • возможность поиска по ключевым словам, бизнес-терминам;

  • отображение структуры данных;

  • просмотреть владельца данных;

  • возможность интеграции с другими инструментами управления данными (airflow, большие ожидания, dbt и т.д.);

  • контроль доступа.

Добро пожаловать в ДатаХаб!

Расширенная архитектура Дата центр представлено ниже:

Дата центр имеет гибкую архитектуру приема метаданных, которая позволяет поддерживать как модели интеграции push, так и pull.

ЧИТАТЬ   Роспотребнадзор назвал ягоду, намного полезнее для зрения, чем чернику

Интеграция на основе извлечения обеспечивается расширяемой библиотекой Python для извлечения метаданных из внешних систем (Postgres, Snowflake, MySQL и т. д.).

Push позволяет обновлять метаданные по мере их изменения (например, AirFlow, Большие надежды). Мы можем отправлять изменения с помощью Kafka, REST или Python.

Метаданные поступают на так называемый сервисный уровень. Центральным компонентом этого уровня является служба метаданных.

Изображение взято с https://datahubproject.io/

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

Любые изменения метаданных фиксируются в постоянном хранилище. Событие об этом отправляется в журнал изменений метаданных (Kafka), который создается службой метаданных. Канал этих событий — это общедоступный API, на который могут подписаться внешние системы, что позволяет вам реагировать на изменения метаданных (например, через уведомления в Slack).

Журнал изменений метаданных используется заданием Spring для внесения соответствующих изменений в граф поиска и индексы.

Настройка концентратора данных

Развивать Дата центр Это не сложно, достаточно установить необходимые библиотеки:

pip install ‘acryl-datahub’

и развернуть экземпляр Дата центр в Докере:

datahub docker quickstart

Интерфейс доступен через браузер (http://локальный:9002).

3abec74c3ac9f7b13770bffbe2b80baa

Пользователь root создается по умолчанию. Дата центр с паролем Дата центр. Как вы меняете пользователя по умолчанию, зависит от того, как вы развернули Дата центр. Вы можете прочитать об этом подробнее Здесь.

О поддержке концепции Data Mesh

Сетка данных представляет собой децентрализованный подход к управлению данными. Данные хранятся в разных доменах и управляются экспертами в предметной области. Однако данные должны быть в открытом доступе.

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

ЧИТАТЬ   В Хмельницком УПЦ лишили права пользования захваченной ПЦУ соборной землей

Кроме того, команды или бизнес-группы могут связать свои данные со стандартными отраслевыми бизнес-терминами, используя бизнес-глоссарий.

Рассмотрим эти понятия на примере.

PS Пример отражает мое понимание, и если я где-то ошибаюсь, поправьте меня, пожалуйста)

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

3ad15f2618bb4a3bc931b0bdef255950

Чтобы создать домен, нажмите + New Domain:

99081d567f5aa6cfd8c857478a180884

Добавьте описание к нашему домену и зарегистрируйтесь:

bdac5fc3fae2c467e77b60ff7df5771e

Мы можем добавить продукты данных в домен. Обычно название соответствует логическому назначению информационного продукта, например, «Кредитные операции», «Платежные операции» и т. д., а также связано с информационным активом или набором информационных активов:

a6e4399079efe450d827e50d2b509c72

Далее мы хотим завершить наше понимание данных и определить группу релевантных бизнес-терминов для нашего домена. Откройте вкладку Глоссарий:

df505a17c603bbace66518fdce51510d

Давайте создадим группу финансовых терминов и добавим в эту группу несколько других терминов:

b8ce84841df1c01308279591e84d5b02

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

Давайте создадим еще несколько терминов и свяжем их вместе:

da7b6cd53b462a57613b4d1a89984a0e

Мы можем убедиться, что подтермины правильно отображают родительский термин:

b3800a485bb3cad8fbc8ee3a293d1d53

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

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

Теперь мы можем легко связать наш ресурс данных с созданным доменом и деловыми терминами.

Добавление источника данных

Здесь нет ничего сложного, DataHub поддерживает множество готовых интеграций. На вкладке Ingest видим доступные источники получения данных:

1f7f9cff7e468fceaf98f5bc26dae7aa

Мы также можем добавить метаданные с помощью рецепта — это основной файл конфигурации, который сообщает принимающим скриптам, откуда брать данные и куда их помещать.

Давайте развернем локальную базу данных Postgres с небольшим набором данных (отсюда) и подключите его к DataHub. Клонирование репозитория Здесь.

docker compose -f "simple-postgres-container/docker-compose.yaml" up -d --build

Наша база данных доступна по адресу localhost:5432. Теперь нам нужно подключить наш контейнер к сети datahub_network и познакомься с ним IPAddress(иначе я не мог подключиться):

docker network connect datahub_network postgresdb
docker inspect -f '{{ .NetworkSettings.Networks.datahub_network.IPAddress }}' postgresdb

Выберите источник данных Postgres и следуйте инструкциям по подключению:

ЧИТАТЬ   CI/CD в науке о данных, MLOps в финтехе и тенденции потоковой передачи данных
4c738343483cf9853a2a85000a234c3c

Наша база данных успешно подключена:

e2cf628f449818ea565d6a60bc80f849

И если мы вернемся на стартовую страницу, то увидим, что к нашим данным добавилась информация о платформе:

8d68abf1f33424001d3d702366d0f4b9

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

ca300f2330eba308fbab9ea1e48bd438

Следует отметить, что в настоящее время актив данных может принадлежать только одному домену.

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

Заключение

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

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

В следующей части мы немного поговорим о политиках доступа, происхождении данных и о том, как можно отслеживать изменения метаданных на платформе)

Source

От admin