I got such great feedback on my previous question, I'm going to pose another one.
I have a satellite that is populated in near-real-time (using Change_Data_Capture and Kafka) from two tables in the same source system. They each contribute a number of columns that contain various values of a policy. At any given time, either table may 'push' an update without an accompanying update from the other table. Then again, we may get an update from both tables at the same time. I am reluctant to split these values into two satellites (though I'm thinking that is probably the right approach) because they come from the same source system, and all columns convey policy values. For some reason I have a visceral dislike of the idea of a satellite for each source system table.
The question is about the 'RECORD_SOURCE' and the 'LOAD_DATE'. As Dan mentions in his book, an Overloaded Satellite presents some problems. However, I've been unable to find any recommended solutions to the problems 🙂
Even if I was guaranteed to get an update in each table any time the source system makes a change, how do you recommend handling the Record_Source? Would I have TWO of them? Each, perhaps, positioned after the columns in the row associated with that source? Someone suggested concatenating the two of them but that's always been bad data modeling.
And in the case where updates arrive at wildly different times int the two tables, would I also use two LOAD_DATEs, perhaps positioned in the same manner as the RECORD_SOURCE suggestion above?
Thanks in advance for your input. I really enjoyed reading the responses to my last post 🙂