无懈可击的数据仓库体系规划及实施流程( 三 )


以上的矩阵、分层、分线、分主题的规划只是从不同的角度来看数据框架,本质都是对数据流图的一种拆解,差异在拆解的数据视角 。

无懈可击的数据仓库体系规划及实施流程

文章插图
三、实施1、需求分析
了解业务过程,每个业务过程的参与实体和各实体可能的分析维度等信息; 了解数据源组成,有哪些数据源、数据的更新周期;预构建指标体系,了解指标的分类,分析维度、时效性要求;了解可能的扩展需求,比如画像宽表 。需求分析阶段是建立数仓的概念模型,明白数仓要支持的大致需求,虽然数仓建设并不要完全满足业务需求,在建设的过程中肯定要有取舍,但第一步进行需求分析能保证在数仓建设过程中不致于偏离目标太多,避免建设烂尾或者好看不好用的绣花枕头 。
2、指标体系
此部分会另外开专题介绍,指标体系一般分为三类:
  • 用户增长体系
  • 流量体系
  • 营收体系
每个体系内分析数据的维度、更新周期等 。指标体系的建立是需求分析环节需要重点完成的一步 。
3、模型选择
模型选择环节要根据需求分析阶段的结论,在ER模型、维度建模等基本的建模思想中选择一种建模思想,比如说选择了维度建模,要进一步根据需求分析中相关的业务过程和维度视角,在星型模型、雪花模型、星座模型中选择一种模式 。这个过程要充分的结合业务的实际状况、开发人力和成本、各模型的优缺点等因素进行综合分析,是关系到建模是否成功的关键环节 。需要说明的是,在快速迭代的互联网行业,业务规则可能经常变化,而对于不同粒度水平进行度量和监控,进而快速响应的需求却基本保持不变,比如层级的时间粒度(年、月、周、日、小时)、层级的地理粒度(大区、省、市、区县、商圈)以及基于产品自身属性的层级粒度(大类、子类) 。基于这种特性,互联网行业中广泛采用维度建模的思想,同时为了使用的方便,又以星型模型和雪花模型较多 。
4、标准规划
标准规划是对数仓建设过程各阶段中涉及的对象、属性、关系、键、交付物等进行规范定义,同时制定标准落地方式或者检查的方式 。比如表命名规范、字段命名规范、任务命名规范、调度依赖规范、代码开发规范等 。需求强调的是,这一步看似无关紧要,也往往直接被忽略跳过,但好的标准规划能为建设高质量数仓的保驾护航,对数仓质量、健康度的保持都大有裨益 。
5、开发部署
包含表设计、代码开发、调度开发和告警开发等,对应本系列的第三节和第四节 。
1)事实表和维表设计
  • 维表设计
2)代码开发
  • 流程、审核机制、回退机制
3)调度开发
  • 依赖任务的配置
  • 回跑机制
  • 任务权限管理
4)告警开发:
  • 数据量异常,某些细分维度、字段值、计算指标异常的告警措施
  • 任务失败、等待超时、执行超时、上下线、上游重跑等告警措施
开发部署阶段完成了数仓建设的逻辑模型和物理模型设计阶段,是数仓建设的主要工作内容 。
6、评估验收
对应的问题包含在相关问题介绍部分,需要进一步思考数仓开发的交付物是什么 。
  • 数据字典
  • 指标口径的定义
  • 核心表和其用途
  • 数据流图和重要指标的出口
  • 业务变动对数仓的影响,比如某些手工维护的维表需要根据业务变动进行相应的更新
四、总结本篇从业务矩阵、分层、分线和分主题等方面对数仓的规划做了简要的描述 。这些方面的差异只在于剖析数仓的角度,其目的是一致的,即为了清晰地梳理数据体系、洞察数据状态、以及更好地规划未来数据地图,从而更好的服务于各个业务需求方(BI报表、数据分析、用户画像等);本节最后简要的介绍了数仓开发的基本流程 。
进一步思考:
  • 数仓规划带来的好处,方便传承和交流,便于快速洞察数仓的健康状态;
  • 数仓健康度的概念和计算方式 。
>>>>参考资料
  • 《一种通用的数仓分层方法》——数据茶水间
  • 《业务数据矩阵的设计》——数据茶水间
作者丨水大人
来源丨木东居士(ID:Data_Engineering)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
2020年9月11日,北京,Gdevops全球敏捷运维峰会将开启年度首站!重点围绕数据库、智慧运维、Fintech金融科技领域,携手阿里、腾讯、蚂蚁金服、中国银行、平安银行、中邮消费金融、建设银行、工商银行、农业银行、民生银行、58到家、中国联通大数据、浙江移动、新炬网络等技术代表,展望云时代下数据库发展趋势、破解运维转型困局 。


推荐阅读