I'm creating a data vault that tracks a business key where it's possible that an instance can be present in one load, removed from another load, then reappear in a third load down the line. From what I can tell from existing DV (especially DV 2.0) documentation is that this scenario isn't accommodated in the architecture - I've sometimes seen hubs where keys have end dates but not where they can be repeated at a later point.
I can imagine that capturing the timeline of a key that behaves like this may be considered an anti-pattern - in order to create a unique hash we would need to include the load date in the hashing algorithm, which would be difficult to return for satellite and link rows that weren't included in the same load as the hub row.
My question is, what would be the best approach to capturing this information?
what you're looking for is already defined in the DV 2.0, this is the "Status tracking satellite".
Basically, it keep track where a BK was create, update and deleted.
Please watch https://www.scalefree.com/knowledge/webinars/data-vault-friday/cdc-status-tracking-satellite-and-delta-lake/ for more information.