Кто-нибудь занимался задачей загрузки версионных данных из MDM в Data Vault или Anchor Modelling модель хранилища?
Поясню: есть справочник, ключи которого находятся во временных интервалах с разными значениями.
| key | value_1 | value_2 | value_3 | effective_from_dttm | effective_to_dttm | tstamp |
|-----|---------|---------|---------|---------------------|-------------------|------------|
| 1 | 1 | 1 | 1 | 01.01.2019 | 01.01.2020 | 01.01.2019 |
| 1 | 1 | 2 | 1 | 01.03.2021 | 31.05.2021 | 01.01.2020 |
| 1 | 1 | 2 | 4 | 01.06.2021 | 31.12.2021 | 01.01.2021 |
| 1 | 1 | 2 | 3 | 01.06.2021 | 31.12.2021 | 01.02.2021 |
С одной стороны казалось бы что можно просто взять и считать дату effective_from_dttm как SCD2 историчность для хранилища,
но что если в MDM системе ошибутся и для существующего интервала изменят какое-то значение атрибута (тогда те же интервалы из MDM придут с новыми значениями и новым tstamp).
Получается что ключем хаба будет поле "key" (дату нельзя добавлять в ключ, т.к. дат MDM системы нет на источниках + на интервалы хочется смотреть под разными бизнес датами), а как уложить саттелиты, когда у них формально может изменяться история что-то ума не приложу.
Историчность по tstamp сделать можно, но тогда PK саллетитов будет ключ + дата (но я что-то таких паттернов при проектировании нигде не видел).
Может кто-то сталкивался с таким?