Физический слой данных¶
Объекты, загруженные в систему из внешних источников с помощью системных краулеров DG (например, краулера БД PostgreSQL), считаются объектами физического слоя.
Для таких объектов в процессе работы краулеров автоматически проставляется тег layer:physical
. Тег также может быть проставлен вручную.
Теги проставляются для типов активов, записей активов, атрибутов, связей и их типов, а также вложенных объектов, принадлежащих к физическому слою.
Объекты могут загружаться в систему вручную из библиотек в разделе "Управление активами" или автоматически при запуске сканеров.
Теги объектов физического слоя¶
Отображение тегов на UI¶
Визуально теги физического слоя отображаются в интерфейсе пользователя в виде индикатора (кружочка) или лейбла зеленого цвета в зависимости от открытого раздела/вкладки (Рисунок 1, 2).
Рисунок 1 – Пример отображения атрибутов, принадлежащих к физическому слою
Рисунок 2 – Пример отображения связей, принадлежащих к физическому слою
Проставление тегов вручную¶
Для проставления тегов вручную в .xml-файле модели типов активов необходимо указать <tags name="layer" value="physical"/>
. Пример разметки .xml указан ниже. Далее файл модели типов активов импортируется в систему через интерфейс пользователя.
Также предусмотрены теги category:attribute
и category:table
. Теги используются в графе "Поток данных"; тег category:attribute
также позволяет отображать краткие результаты профилирования в связях (колонка "Профилирование").
Теги атрибутов и таблицы добавляются только вручную. Для этого в xml-файле модели типов активов разметьте их как <tags name="category" value="attribute"/>
и <tags name="category" value="table"/>
.
При реализации кастомного краулера можно определить автоматическое добавление тегов layer:physical
, category:attribute
и category:table
. Для этого:
Используйте интерфейс
org.unidata.dg.meta.type.crawler.DataGovernanceCrawler
.В методе
model()
укажите модель данных типов активов с добавленными тегами.Во время сканирования модель из
model()
вмерживается в существующую модель в системе. Все, что будет указано в модели, включая теги, будет добавлено в систему.
Пример разметки .xml модели типов данных:
<assetType version="152" name="PgSchema" displayName="Postgres schema" order="0">
<simpleAttribute name="PgSchemaName" displayName="Name" readOnly="false" ...>
<tags name="layer" value="physical"/>
</simpleAttribute>
<tags name="layer" value="physical"/>
</assetType>
<relation relationType="Consist" fromAssetType="PgSchema" toAssetType="PgTable" fromCardinality="1" toCardinality="0" required="false">
<tags name="layer" value="physical"/>
</relation>
Пример разметки Java:
AssetTypeSource INFORMATION_SYSTEM = new AssetTypeSource()
.withName("InformationSystemAsset")
.withDisplayName("Информационная система")
.withSimpleAttribute(new SimpleDataGovernanceAttributeSource()
.withName("name")
.withDisplayName("Наименование")
.withSimpleDataType(SimpleDataType.STRING)
.withDisplayable(true)
.withMainDisplayable(true)
.withSearchable(true)
.withBase(true)
.withTags(DataGovernanceModelTags.TAG_PHYSICAL))
.withVersion(1)
.withTags(DataGovernanceModelTags.TAG_PHYSICAL);
RelationSource PG_FOREIGN_KEY_RELATION = new RelationSource()
.withFromAssetType("PgColumn")
.withToAssetType("PgColumn")
.withRelationType("PgForeignKey")
.withTags(DataGovernanceModelTags.TAG_PHYSICAL);
Ограничения физического слоя¶
Физический слой представляет собой таблицы из базы данных, которые описывают физическую структуру данных.
Поэтому физический слой имеет ряд ограничений:
Запрещено создавать/удалять активы и связи, которые принадлежат к физическому слою.
Запрещено создавать дочерние типы активов бизнес-слоя для типов активов физического слоя.
Запрещено редактировать атрибуты активов, которые принадлежат к физическому слою.
Разрешено добавлять новые атрибуты в активы, которые принадлежат к физическому слою. Атрибуты будут доступны для удаления и редактирования.
Запрещено удаление типов активов и связей из модели, принадлежащих к физическому слою.