工业数据分析 | 范式建模和维度建模,你pick谁?
来源: | 作者:pmod6d781 | 发布时间: 2022-03-04 | 4155 次浏览 | 分享到:



上图是设备时序数据的雪花模型组织。点位号和时间戳两个维度的处理方式与星型模型相同,这里不再赘述。不同之处在于,如果我们要增加一个新的分析维度“设备”,并且经过业务分析我们知道多个点位是属于同一个设备的,也就是说,设备和点位之间存在一个一对多的关系,那么我们就按照范式建模的思维在点位和设备实体类型事件建立一个新的关系,时序数据需要在设备维度进行聚合时,要通过关联点位再关联设备的方式进行。


对于两种模型,我们不难发现雪花模型其实是星型模型的维度部分用范式建模处理的结果。星型模型的好处是维度数据和事实表永远直接关联,因此数据库访问的效率相对较高,但是缺点是间接维度在事实表中存在数据冗余,如果维度数据进行更新,或者业务上提出新的分析需求需要增加维度,那么事实数据就需要重新进行清洗处理,因此星型模型比较适合处理“预先定义的,需求相对确定的”数据分析课题。


相比之下,雪花模型的维度部分用范式建模处理,在关联查询,尤其是多层次的维度关联查询时,效率略低,但是换来的好处是数据模型相对稳定,维度的更新、增加等操作代价较小,对分析需求的变更有一定的自适应性,因此雪花模型适合解决“探索性的、随时有可能变化的、临时的”数据分析课题。


工业领域的数据仓库建模体系选择


表:范式建模对比维度建模


上表对比了数据仓库范式建模和维度建模体系的优缺点。在工业领域应用时,企业应该结合自身的数据智能应用成熟度和具体建设项目目标来确定数据仓库的建模和实施思路。


对于数据智能的尝鲜者,可以采用维度建模针对单个课题进行数据组织建模,这样项目的建设启动时间短,数据建模的难度也相对较低,能够快速完成数据分析课题,获得价值,这样可以帮助团队和企业建立对数据智能应用的信心。


对于开始有规划的建设跨课题、跨部门统一数据底座的企业,建议开始采用范式建模的思路,通过有意识的组织业务专家、IT专家、数据分析专家进行协作,对一个给定的业务范围的基本业务对象、规则进行辨析,规范命名,构建统一范式数据模型;对于事实数据的部分,建议采用维度建模中的雪花模型进行组织,即维度部分也尽量采用范式建模的方式处理。这样可以获得相对稳定,维护代价较小的数据模型,虽然启动的成本增加,但是从长期维护和应用,是总体效率较高的方式。更重要的是,范式建模可以促进团队乃至组织对业务概念、规则、知识进行沟通交流,构建统一语言。


实施范式建模的一大误区就是一开始就陷入大而全的境地。例如以工业设备为核心的生产运行领域,基本生产要素包括设备、工艺方法、物料、人、环境等几大模块,每个模块分解后,其包含的实体类型数量都会有几个到几十个不等,试图一次性把范围如此庞大业务领域梳理清楚是几乎不可能,也没有必要的。建议按照主题的方式进行业务划分,每个主题的范围不宜过大,但是要尽量做透,以业务场景驱动完成底层基础数据建模。如此迭代几次,以拼图的方式完成更大业务范围的基础数据建模工作。