Физический слой данных¶
Тип актива, атрибут и связь относятся к физическому слою, если для них задан тег layer:physical
.
Тег проставляется автоматически в процессе работы системных сканеров Юниверс DG, если данные приходят из краулера PostgreSQL.
Также тег может быть проставлен вручную.
Отображение тегов на 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);
Ограничения физического слоя¶
Физический слой представляет собой таблицы из базы данных, которые описывают физическую структуру данных, поэтому физический слой имеет ряд ограничений:
Запрещено создавать/удалять активы и связи, которые принадлежат к физическому слою.
Запрещено редактировать атрибуты активов, которые принадлежат к физическому слою.
Разрешено добавлять новые атрибуты в активы, которые принадлежат к физическому слою. Атрибуты будут доступны для удаления и редактирования.
Запрещено удаление типов активов и связей из модели, принадлежащих к физическому слою.