There are a few ways this can be avoided:
- Create virtual views to abstract any underlying table changes
. Changing the data warehouse
won't affect the views. Also, you avoid traditional issues with dimensional warehouses like surrogate keys and history maintenance issues.
- When new Hubs
are added, just create additional dimensional views. That way, you avoid duplicating data or using more space.
- Avoid grain changes
or adding systems if possible. This will result in fewer downstream changes
- Avoid using source-specific attributes and use conformed dimensions. Conformed dimensions use one copy of a shared dimension across different subject areas, which helps to reduce complexity.
- Recreate the dimensional views with intelligent business logic. This is more complicated, but if designe
d well it can support existing requirements as well as new requirements down the road.