I have a new requirement to track history (not just dimension attributes through slowly changing dimensions) but also, fact attributes. Rather than inserting a new record into the fact table as data changes, I was thinking about creating a daily snapshots. This results in huge increase in the disk storage.
Another option: rather than creating a daily snapshot, I was thinking about inserting a new row into the fact table when there is a change. In order to figure out which record is the latest changed record, I would have to do Max() on each record to figure this out.
Any other options?
Also, is there any standards or benchmark that determines whether it's better to use snapshots versus fact tables (with histories)? Storage versus CPU (performance)?
Another option: rather than creating a daily snapshot, I was thinking about inserting a new row into the fact table when there is a change. In order to figure out which record is the latest changed record, I would have to do Max() on each record to figure this out.
Any other options?
Also, is there any standards or benchmark that determines whether it's better to use snapshots versus fact tables (with histories)? Storage versus CPU (performance)?