deшка
Урок 6.8

Data Vault и Anchor Modeling

Как отделять идентичность, связи и историю атрибутов в интеграционной модели.

Когда источников много и они меняются, одна широкая интеграционная таблица становится неудобной: новый источник приносит другие поля, описания обновляются с разной частотой, а для аудита нужно знать происхождение значения. Data Vault и Anchor Modeling предлагают разделять устойчивую идентичность, связи и изменяющиеся атрибуты. Это способы организовать детальный интеграционный слой; для аналитиков поверх него часто готовят более простые витрины.

Hub хранит бизнес-ключ объекта. Например, hub_product содержит код товара с указанием его области уникальности. Название и категория не входят в идентичность: они могут изменяться при сохранении того же товара.

Link хранит связь бизнес-объектов. Например, link_sale_product связывает факт продажи с товаром. Связь может иметь собственную историю появления и источник, поэтому её не приходится прятать в одной колонке большого объекта.

Satellite хранит описательные атрибуты и их изменения. Для товара это может быть название и категория с временем получения и указанием источника. Чтобы получить категорию на дату продажи, нужно выбрать подходящую версию. Обычное соединение только с текущим значением изменит прошлый разрез отчёта.

Hub хранит ключ, Link связь, Satellite описания и их версии

ЧастьОсновной смыслЧто нужно проверить
HubУстойчивая идентичность по бизнес-ключуОбласть уникальности и правило сопоставления источников
LinkОтношение между идентичностямиКратность, смысл связи, время её появления
SatelliteОписание и измененияИсточник, время, способ выбора версии

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

Data Vault 2.0 включает договорённости об архитектуре, автоматизации и поставке изменений наряду с Hub/Link/Satellite. Hash-ключи используют для независимой загрузки, hash diff — для обнаружения изменений атрибутов. Правила идентичности и обработки конфликтов остаются частью проекта.

За счёт чего модель расширяется

Если новый источник добавил характеристики существующего товара, можно создать новый Satellite у прежнего Hub, сохранив источник и собственную историю этих полей. Новый вид связи объектов получает Link и, при необходимости, Satellite с описанием связи. Добавление таких частей не требует переписывать все прежние описания в одну широкую строку. В этом состоит одна из причин гибкости Vault.

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

Почему Vault не является готовой витриной

Для обычного отчёта часто нужно соединить Hub, Link и несколько Satellite, выбрать версии и применить предметное правило. Это сложнее одной звезды. Поэтому Vault удобно использовать как сохраняющий происхождение интеграционный слой, а для частых вопросов строить отдельные факты и измерения.

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

Anchor Modeling: независимая история атрибутов

Anchor представляет устойчивую идентичность объекта. Отдельные attributes хранят его свойства; ties — связи объектов; knots могут задавать повторно используемые значения или справочники. В отличие от широкой таблицы описаний, историю названия и историю категории можно вести независимо: смена категории не требует новой строки названия.

Anchor сохраняет идентичность объекта, а истории названия и категории ведёт отдельно

Это удобно при независимых изменениях и подробной истории атрибутов, но чтение текущего или исторического объекта требует собрать несколько таблиц по времени. Если интервалы атрибутов не согласованы, запрос может получить противоречивый снимок. Как и в Vault, для массового аналитического чтения часто строят удобное представление или витрину.

В обеих моделях задают правила доверия источникам и исправления истории. Выбор структуры зависит от идентичности объектов, требуемой истории и вопросов потребителя.

Войти, чтобы отмечатьдальше →
6.9 →Ошибки моделирования, которые искажают отчёт