Dimension Normalization
Dimensional normalization or snowflaking removes redundant attributes, which are known in the normal flatten de-normalized dimensions. Dimensions are strictly joined together in sub dimensions.
Snowflaking has an influence on the data structure that differs from many philosophies of data warehouses. Single data (fact) table surrounded by multiple descriptive (dimension) tables
Developers often don't normalize dimensions due to several facts:
- Normalization makes the data structure more complex
- Performance can be slower, due to the many joins between tables
- The space savings are minimal
- The use of bitmap indexes can't be done
- Query Performance, 3NF databases suffer from performance problems when aggregating or retrieving many dimensional values that may require analysis. If you are only going to do operational reports then you may be able to get by with 3NF because your operational user will be looking for very fine grain data.
There are some arguments on why normalization can be useful. It can be an advantage when part of hierarchy is common to more than one dimension. For example, a geographic dimension may be reusable because both the customer and supplier dimensions use it.
Read more about this topic: Dimensional Modeling
Famous quotes containing the word dimension:
“God cannot be seen: he is too bright for sight; nor grasped: he is too pure for touch; nor measured: for he is beyond all sense, infinite, measureless, his dimension known to himself alone.”
—Marcus Minucius Felix (2nd or 3rd cen. A.D.)