最近参与了公司的数据治理,回顾总结一下。
公司产品线众多,数仓建设并不规范,同一条产品线的不同版本就有多种数据库,以及各种建模方法,同时由于多版本的统计口径不一致,医院对于产品的数据质量存疑,数据治理被提上日程。
我把数据治理暂且分为三步走,如有不一致欢迎多交流:
1. 数仓规划建设
2. 数据质量评估
3. 数据应用支持
在第一步中,应该根据公司的业务形态选择是建数据集市还是搭建数仓。
在数仓规范建设中不得不提几个概念:
数仓模型可以被当做书就是数据的图书馆管理系统,建模就是数据组织和存储的方法。
维度建模
范式建模
在实际应用场景中,一个表中含有大量的记录,同时业务系统的变化也很迅速,维度建模支持快速迭代,并且建表中能够冗余使得维度建模变得更符合企业的发展需求(减少表关联获取所需要数据)。
说完两个大的领域之后,维度建模明显会更适合大部分企业,在国内有两个主流的方法论,一个是Kimball的维度建模方法论,一个是基于Kimball发展的阿里OneData方法论。Kimball维度建模理论的步骤分别是:
- 收集业务需求与数据实现情况
- 协作维度建模探讨
- 维度模型设计:
a. 选择业务过程
b. 声明粒度
c. 确认维度
d. 确认事实 阿里的建模理论步骤则是: - 数仓规划
a. 数据调研
b. 数据域划分
c. 构建总线矩阵
d. 明确统计指标 - 数据标准
a. 规范定义 - 模型设计
a. 明细模型设计
b. 汇总模型设计 Kimball维度建模方法比阿里的更为通用,为此选词上有时也更为抽象,故推荐新人涉猎时可以先读阿里的再看Kimball的。步骤上,Kimball每次建模可以只围绕单个业务过程建模,正如他的步骤介绍里所说,选择主要活动流程里回报最高、最好做的业务过程开始建模,因而支持时间紧迫情况下迭代式地开发和产出,正如阿里的书中评价的,“它重点关注用户如何更快速地完成需求分析”。而阿里的建模方法论通常应用于整合整个业务主题建数仓,但又不像E-R模型般以整个企业角度去整合全部主题,在此基础上还加上了统一化的集团数据整合及管理方法体系(即OneData),因为对阿里这种体量和拥有如此繁多BU的公司而言,统一整合管理的效益是非常高的。
参考链接:https://juejin.cn/post/6966042581121646605