【数据模型系列_03】星型&雪花模型

楼主
我是社区第525317位番薯,欢迎点我头像关注我哦~

维度建模是数据仓库大师Ralph Kimball提出的一种用于数据仓库的建模技术。用于设计数据仓库和BI系统。它以事实表(记录交易事实的表,比如订单明细表)和维度表(提供分析维度的表,比如门店表、商品表)为中心,用于分析和报告业务指标。

维度建模流程,在《数据模型(一):基础概念篇》一文中第三部分有做框架介绍。

本篇重点探讨建模技术:星型模型和雪花模型

星 型 模 型 

 

 

星型模型的名称来源于它的物理结构形状,通常用一颗中心的事实表连接着多个辐射状的维度表,这种结构形状非常类似于一颗星星,因此就被称为星型模型。

在星型模型中,事实表是数据模型中最为关键和核心的表,存储了具体的业务事实数据,如订单明细表,含销售额、订购数量等。维度表则包含了与业务事实相关的属性信息,如商品、门店、客户等。事实表与维度表之间通过共享的主键进行连接,构成了一个类似于星星的模型结构,从而方便进行多维分析。

如下图:

 

订单表为事实表,会员、商品、门店、渠道等均为维度表,维度表与事实表1:N建立关系;

 

雪 花 模 型

 

雪花模型的名称也来源于它的物理结构形状,可以认为是星型模型的扩展。它在星型模型的基础上进行了维度表的规范化拆分,从而使维度表也出现了层次化。在雪花模型中,维度表被拆分成更多的表,当有一个或多个维度表没有直接连接到事实表上,而是通过主维度表连接到事实表上时,就形成了类似于雪花的模型外观,因此得名为雪花模型。

如下图:

订单表为事实表,除第一层直接与事实表建立1:N关系的会员、商品、门店、渠道等主维度表外,还存在城市、付费会员、品牌、品类等第二层维度表,与第一层的主维度表存在1:N的关系;

 

星型模型 

VS

雪花模型

1

星型模型 / 优劣势&适用场景

优点1

可读性较好

结构简单,易于理解和使用,很容易组合出各种查询,对非计算机专业人员也比较友好,不用考虑很多正规化的因素(比如各种范式),设计与实现都比较简单

优点2

查询性能高

由于一些维度表已经预先进行了合并,因此不需要过多的join操作,那么关联查询效率就会更高

缺点 

数据冗余较高

由于一些维度表已经预先进行了合并,就会造成数据的冗余存储,占用了更多的空间(如在门店维度表中,存在省份江苏 的城市 南京、苏州 两条记录,那么省份 的信息就存储了两次,即存在冗余)

适用场景

指标分析

销售分析:假设公司想要进行销售数据的分析,包括按产品、地区、时间等维度进行销售额和销售数量的统计。使用星型模型,可以将事实表和维度表以星型结构组织,以快速查询和分析销售数据。

 

客户关系管理(CRM):在CRM系统中,需要跟踪和分析客户相关的信息,如客户信息、订单历史、服务记录等。通过使用星型模型,将事实表与客户、产品、订单等维度表连接,可以轻松地进行客户分析和个性化的客户关系管理。

 

库存管理:对于具有复杂库存结构的企业,星型模型可以帮助跟踪和分析库存数据。将事实表与产品、仓库、供应商等维度表连接,可以快速了解各个维度上的库存状况,以便进行库存优化和供应链管理。

2

雪花模型 / 优劣势&适用场景

优点1

数据冗余低

规范化拆分&存储,减少了冗余数据,提高数据一致性和准确性,且节省存储空间

优点2

灵活性和扩展性高

更大的灵活性和扩展性,可处理更复杂的层次结构和多级关系

缺点1

查询性能相对较低

需要更多的join来执行查询(join操作在数据量大的时候很耗时),性能较差

缺点2

可读性

高度结构化的数据,建模时有一定的复杂度,可理解性差。正规化也是一种比较复杂的过程,相应的数据库结构设计、数据的ETL、以及后期模型的维护和管理相对复杂

适用场景

维度分析

组织架构分析:在大型组织中,雇员的层次结构和关系可能非常复杂。通过使用雪花模型,可以将雇员信息按照部门、职位、层级等维度进行规范化拆分,以支持组织架构的深入分析和人力资源管理。

 

财务报表分析:财务报表通常涉及多个维度,如时间、地区、账目等。使用雪花模型,可以将维度表进行规范化拆分,以支持复杂的财务分析和报表生成,更好地了解公司的财务状况和趋势。

 

产品分类分析:在零售行业或其他需要对产品进行分类和分析的场景中,使用雪花模型可以将产品维度表进行规范化拆分,以支持更灵活的产品分类和分析需求,帮助企业进行市场细分和销售策略制定。

 

小结

以上列出的是一些典型的优劣势,实际应用中应根据具体情况进行评估和选择。根据业务需求和数据特点,可以综合考虑这些因素,选择最适合的模型进行数据建模。

无论选择星型模型还是雪花模型,最重要的是将模型与实际业务需求相匹配,并根据具体情况进行调整和优化。

 

模型的选择,没有最好,只有合适~

 

 

好了,今天就酱紫,回见~

分享扩散:
参与人数 +1 F币 +40 理由
苏瑞 + 40 【2024原创内容激励奖励】给你32个赞!

查看全部评分

沙发
发表于 2024-6-28 10:05:08
您好,感谢您对于本次原创内容激励计划的大力支持。您此篇文章内容是基于数据模型系列下星型&雪花模型进行介绍。整篇文章的内容结构十分完善,从两类模型的基础介绍和图片解释到两类模型的对比分析,具体介绍出不同模型的优劣势和适用场景,格式规范,为读者理解相关知识提供了有力支撑。
板凳
发表于 2024-7-2 10:22:46
描述的很细节,赞一个
地板
发表于 2024-7-4 10:17:41
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表