Paul Hernández (7/22/2013)
I`m facing a Situation, in which the reference data of our data warehouse is changing.
Basically a new System is implemented by our external Provider and there is a new hierarchy of the product Dimension.
The current fact table has the old hierarchy.
My question is, what is the best or more appropriated way to proceed?
The data Provider has offered a Translation table of the old product tables and the new ones.
- An Option is to extend the Fact Details table with the new fields, update them and finally store the new incoming fact Details and leave the value of the old columns to NULL.
- My favorite Option is to create a new fact Details table with the new structure. Migrate the historic records to the new table using the Translation table and then Import the new Transactions.
What do you think of?
I think the two options are just different ways to get to the same result which is, add to Fact Details the new columns coming from the source system.
If columns are added on the original table chances are table would get fragmented and a full reorganization would be needed.
If a fresh Fact Details table is created and data gets migrated then the fragmentation issue would be avoided.
It all depends on the Business, if you have the disk space and are allowed to have the downtime needed to migrate your data from the old table - I would do it this way.
Pablo (Paul) Berzukov
Author of Understanding Database Administration
available at Amazon and other bookstores.Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.