最近一直在关注商业智能BI,对于其中的建模方面涉及到常见的雪花模式和星型模式,在此简单将两种模式进行说明:
多维数据--由多个多维数据模式--每个多维数据模式都由一个事实表和一组维表组成
1 星型模式--最常见--事实表为中心--多个维表(属性表)分布四周
2 雪花模式--由星型模式发展而来--复杂一些--事实表再分层次,有几个小中心
1 星型模式--中心的实体是实体表--星角小实体是各个维度或属性--与中心表通过pk/fk相连
--1调高查询效率; 2直观--但非如OLTP那样正规化
2 雪花模式--随着事实表和维表的增加变化而来,增加了层次,将某些维表扩展成事实表
--优点1在一定程度上减少了存储空间;2规范化的结构更容易更新和维护。
--缺点1比较复杂,用户不容易理解;2浏览内容相对困难;3额外的连接将使查询性能下降。
--在数据仓库通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视
总结:雪花模式正规化;数据冗余少;有些数据需要连接才能获取,可能效率较低;规范化操作较复杂,导致设计及后期维护复杂;实际应用中,可以采取上述两种模型的混合体:如:中间层使用雪花结构以降低数据冗余度,数据集市部分采用星型以方便数据提取及和分析。