Data Vault 2.0: Graining LINK с определенной версией PIT некоторого HUB

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

  • Алгоритм (с несколькими SAT и таблицей PIT)
  • поставщик
  • потребитель

Это также транзакция, которая связывает их все, представленная в виде LINK Algo_Supplier_Consumer: она имеет SAT с данными результатов, собранными с помощью конкретного алгоритма в паре поставщик-потребитель.

Алгоритм является классическим SCD в этом случае. Но когда данные поступают в цикле ETL, могут быть результаты из разных версий алгоритма. Сырой кортеж выглядит следующим образом:

(временная метка, Algo, Algo_timestamp, поставщик, потребитель, результат)

Где Algo_timestamp может быть значительно старше, чем отметка времени. Я хочу отслеживать это в отчетах, потому что конечный результат зависит от результата и подробностей алгоритма, находящихся в SAT алгоритма.

Поэтому я должен явным образом ввести отдельный HUB, такой как 'Algo_Version' с соответствующей ссылкой LINK to Algorithm, и изменить Algo_Supplier_Consumer LINK, чтобы использовать ссылку на Algo_Version вместо Algorithm ref.

Или, LINK Algo_Supplier_Consumer может быть просто детализирован с помощью ключа PIT алгоритма. Будет ли это Data Vault 2.0?

Кроме того, первый способ заставляет меня переопределить все алгоритмы SAT для Algo_Version. Но это выглядит как накладные расходы, потому что новый Algo_Version создается каждый раз, когда изменяется любой из параметров Algo. Это правильно?

0 ответов

Другие вопросы по тегам