Page 1 of 1

SCD Why need to check the changes in non key columns?

Posted: Mon May 23, 2011 10:37 pm
by SURA
Hello All

Just a common question relates to SCD Type 2.

To find and implement (SCD type 2) we are using different stages like Change Capture, CDC, JOIN etc.

Question:
If the source provided a record (delta) means, there is some changes in the existing record. In that case why should not we close the existing record based on the SK and insert the new record irrespective of what ever the changes it may / may not have?

Why need to check the change values for the rest of the column?

Is there is any good reason to compare the non key columns (change values columns) to identify the changes and then do Insert / Update.

I need more clarity in this approach.

Thanks
DS User

Posted: Tue May 24, 2011 1:19 am
by ray.wurlod
Why aren't you using SCD stage that does all that work for you?

Re: SCD Why need to check the changes in non key columns?

Posted: Tue May 24, 2011 6:39 am
by chulett
SURA wrote:Question:
If the source provided a record (delta) means, there is some changes in the existing record. In that case why should not we close the existing record based on the SK and insert the new record irrespective of what ever the changes it may / may not have?
That's an Architectural question in my mind. Some people get really irked by a "change record" that shows no changes. Some source systems can send false changes, so how much checking you do can depend on how much you trust the source. There's also a "subset" issue, if you are processing only a subset of the source columns and the only change is in a column you "don't care about" you probably don't want to process it.