Привет! В этом разделе мы поговорим о сателлитах (Satellites), которые являются неотъемлемой частью модели Data Vault. Сателлиты хранят бизнес-атрибуты и временные изменения, обеспечивая историчность данных.


Что такое сателлит?

Сателлит — это таблица, связанная с хабом или линком, которая хранит описательные данные (атрибуты) или метаданные, связанные с сущностью или связью.
Сателлиты позволяют фиксировать изменения атрибутов со временем и обеспечивать их историчность.


Основные принципы работы с сателлитами

  1. Связь с хабом или линком:
    Каждый сателлит связан с хабом (для атрибутов сущности) или линком (для атрибутов связи).
  2. Историчность:
    Сателлит фиксирует все изменения атрибутов, сохраняя дату начала и окончания актуальности данных.
  3. Версионность:
    Каждая запись в сателлите уникальна и отражает состояние атрибутов в конкретный момент времени.
  4. Группировка атрибутов:
    Атрибуты с разной частотой изменений или источниками данных рекомендуется группировать в разные сателлиты.

Пример: Сателлит для пассажиров

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

Структура Sat_PassengerAttributes

Hub Key Surname Date of Birth Phone Number Load Date End Date Source System
1 Smith 1990-05-10 1234567890 2025-01-03 NULL BookingSystem
2 Johnson 1985-07-20 0987654321 2025-01-03 NULL CRMSystem
1 Smith 1990-05-10 1122334455 2025-01-10 NULL FlightSystem
  • Hub Key: Ссылка на запись в хабе Hub_Passengers.
  • Surname: Фамилия пассажира.
  • Date of Birth: Дата рождения пассажира.
  • Phone Number: Телефонный номер пассажира.
  • Load Date: Дата загрузки записи.
  • End Date: Дата окончания актуальности записи (NULL означает, что запись актуальна).
  • Source System: Источник данных.

Использование

Поддержка изменений:

Если номер телефона пассажира изменился, новая версия будет добавлена в сателлит:

Hub Key Surname Date of Birth Phone Number Load Date End Date Source System
1 Smith 1990-05-10 1234567890 2025-01-03 2025-01-10 BookingSystem
1 Smith 1990-05-10 1122334455 2025-01-10 NULL FlightSystem

Группировка атрибутов:

Атрибуты, которые меняются редко (например, Date of Birth), можно разместить в отдельном сателлите для оптимизации хранения данных.


Преимущества сателлитов

  1. Историчность:
    Каждое изменение фиксируется, что позволяет анализировать данные на любую дату в прошлом.
  2. Гибкость:
    Добавление новых атрибутов не влияет на хабы или линки.
  3. Масштабируемость:
    Сателлиты можно разбивать на несколько таблиц в зависимости от источников данных или частоты изменений.

Заключение

Сателлиты делают модель Data Vault гибкой, устойчивой к изменениям и готовой к долгосрочному хранению данных. Они обеспечивают полный контроль над историей изменений и позволяют легко добавлять новые атрибуты, сохраняя целостность модели.