SCD2 vs Bitemporal Modeling
Choose the simplest historical model that still satisfies the reporting, correction and audit requirements.
SCD2 preserves business-valid history. Bitemporal modeling also preserves when each version became known to the platform.
Version history alone does not always preserve historical knowledge.
SCD Type 2 is often enough when reports only need to resolve which business state was valid on a reporting date.
It becomes insufficient when historical records can be corrected, backdated or delivered late and reports must still be reproduced exactly as they were originally known.
The modeling decision therefore depends on whether the requirement is only business-valid history or also knowledge history.
A March report changes after a later correction unless knowledge time is preserved.
Compare the original report, an SCD2 rebuild and two bitemporal query perspectives.
In March, the platform only knew the customer segment as Standard. The correction to Premium had not arrived yet.
If you only need historical business state, SCD2 is usually enough. If you must reproduce historical knowledge, use bitemporal modeling.
SCD2 and bitemporal modeling answer different historical questions.
SCD2 creates a new version whenever a tracked attribute changes and uses valid-time intervals to resolve the row for a reporting date.
Bitemporal modeling adds a second axis that records when each version became visible to the system. This separates corrected business truth from historical system knowledge.
The practical difference between SCD2 and bitemporal modeling.
Corrections change the difference between current truth and past knowledge.
A customer segment may be corrected from Standard to Premium after the original report was produced.
SCD2 typically resolves the corrected valid-time version. That is useful for current historical truth, but it can change a rebuilt report that originally showed Standard.
Bitemporal modeling preserves both answers by storing when the correction became visible.
Choose SCD2 unless the reporting requirement needs historical knowledge.
Validate that the chosen model matches the reporting semantics.
The wrong model can either lose auditability or add unnecessary complexity.
Using SCD2 for an as-known requirement can silently rewrite past reports after corrections arrive.
Using bitemporal modeling for a simple valid-time requirement can add storage, query and maintenance complexity without delivering additional business value.
The best design is the simplest one that preserves the historical perspective the business actually needs.
How this decision connects to other historical modeling patterns
The SCD2-versus-bitemporal decision influences correction, reporting and snapshot behavior across the entire historical architecture.
Choose the right historical model for your reporting requirement.
Use the Historical Data Assistant to decide whether SCD2 or bitemporal modeling better fits your correction, audit and reproducibility needs.
Open Historical Data Assistant →