什么时候用雪花模型
什么时候使用雪花模型?
Ralph Kimball,数据仓库大师,讲述了三个例子。对于三个例子,使用雪花模型不仅仅是可接受的,而且是可能是一个成功设计的关键。
2,例如一个金融产品维度表,且这些金融产品有银行类的,保险类等等区别。
因此不同种类的产品有自己一系列的特殊属性,且这些属性并非是所有产品共享的。
3,多个企业共用的日历维度表。但每个企业的财政周期不同,节假日不同等等。
In snowflake schema, you further normalize the dimensions. Ex: a typical Date Dim in a star schema can further be normalized by storing Quarter Dim, Year dim in separate dimensions.
Snowflake schema is generally used if:
1) You have a requirement where you don't need to frequently query a certain set of dimension data but still need it for information purposes. By storing this data in a separate dimension, you are reducing redundancy in main dimensions.
2) You have a reporting or cube architecture that needs hierarchies or slicing feature.
3) You have fact tables that have different level of granularity . Ex: You have sales fact table where you are tracking sales at product level. Then you also have budget fact table where you are tracking budgeting by product category.
补充一条, 在数据仓库的环境中用雪花模型,降低储存的空间,到了具体某个主题的数据集市再用星型模型。