多维分析中的数据模型之雪花模型
什么是雪花模型
在《多维分析中的数据模型之星型模型》中介绍到了星型模型的概念,星型模型中所有维表都直接和事实表关联,当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展,它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次" 区域,这些被分解的表都连接到主维度表而不是事实表。如下图所示:
那么和星型模型相比,雪花模型有什么优点和缺点:
优点
-
相比于星型模型,雪花模型数据结构更新较为方便,更新维度成员时,有时只需要更新雪花维度中的一层数据即可,无需更改庞大的事实表。
-
雪花模型能降低维度表的数据冗余,将星型模型中数据量大、数据冗余高的维度表拆分成多个数据量小的维表,能有效的提升查询效率。
-
雪花模型结构扩展更加灵活,比如原型设计时只需要按照地区维度进行分析,但随着业务的发展,地区维度需要扩展,需要按照国家、省、市等不同维度分析数据,那么雪花模型中只需要增加不同的维度表和原来的地区维度进行关联就行,原有的事实表数据不需要更改,能快速扩展结构,适应灵活多变的分析需求。
缺点
1. 雪花模型中将星型中的冗余的维度表拆分成多个数据量小的维度表,数据表个数增加,维度表间的关联增多,业务复杂时,数据结构设计、维护、业务理解相对星型模型会复杂些,当然,对于一些专业的技术人员,这个应该问题不大。
2. 虽然雪花模型结构扩展灵活,能较为灵活的扩展维度,但是对于一些复杂业务需求处理起来还是有些问题,比如机构维度,在一些大型、复杂的业务系统中,有可能机构维度的层级并不固定,比如省、市、县、不同层级的下属公司…….,那么维度的层级不确定会导致维度表个数或者结构无法固定,需要随时根据业务需求调整结构,实时性较差。那么针对此种问题,有的基于雪花模型产品也提出了自己的解决方案,可以参考下《由DQL支持的多维分析》
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅
嗯,还不太了解好多乾?