为了解决多数据源导致的口径不一致、数据无关联、数据质量差、缺少历史数据、开发效率低等问题,企业需要构建企业级数据仓库,对数据进行规整和高效利用。除此以外,由于直连业务系统支撑多方报表导致读写交叉性能降低,影响正常业务系统使用的问题也可解决。
构建企业级数据仓库的步骤分为调研、数仓设计、数仓实施和测试上线四个主要环节。
(资料图片仅供参考)
1 需求调研
调研前期,需要明确本次项目在此阶段成功的要素,其次是划分责任矩阵,收集相关资料并制定合适的调研策略。与用户需求相关的信息应该足够的详细。最终要交付给最终用户项目计划及需求说明,需要的情况下需要制定灾备计划,以便数据仓库可以从事故中恢复。
调研责任矩阵
调研执行分为四步骤:
第一步对本次项目的目标,整体平台的范围和当前IT的技术架构进行调研与整理;第二步针对本期项目涉及业务部门进行单独访谈,明确指标,确认口径,梳理前端样式与功能并确定相应的数据标准;第三步可根据上一轮调研结果所设计的蓝图进行确认和修改并在数据侧对底层数据进行探源;最后将调研结果与方案蓝图进行最终的多方确认并审核签字。这一阶段的交付物为系统蓝图框架与当前数据基础和质量情况表等,具体的执行过程见下图:
指标确认框架
2 数仓设计
数仓构建的核心工作是分层及建模,分层架构设计是为应用数据资源采集、存储、处理和交换提供建设性依据,而数据模型将决定数据仓库系统的增长性和性能,数仓一般分为 ODS(贴源层)层、DW 层(数据仓储层)、DM 层(数据集市层)三层架构,依据企业实际情况会有所调整,而数仓模型大多采用维度建模和范式建模。
数据分层:
每一个数据层都有它的作用域,在使用表的时候能更方便地定位和理解,因此需要针对数据进行分层建设,且数据分层也利于数据血缘追踪、屏蔽原始数据的异常,通过开发一些中间层,还可以起到减少重复开发的作用。
数仓通用技术框架
数仓建模的流程:
数仓模型的设计,按照概念模型(主题域模型)——逻辑模型——物理模型的流程进行,逻辑模型和物理模型通常采用维度建模的办法,以星型和雪花型模型来组织数据,维度建模的两个基本元素是事实表和维度表。而维度建模也分为确定业务主题、定义粒度、确定维度和确认事实表四个步骤。该阶段的交付物为针对数据源的概念模型、逻辑模型和物理模型。
数仓建模一般流程
DWD层维度建模步骤
3 数仓实施开发——ETL
ETL过程常常需要最长的项目时长,可能会占用数仓开发的50%及以上,因为获取源数据、理解业务规则、逻辑和物理数据模型需要花费大量时间。ETL 通过从源系统数据库实时同步数据至数据仓库贴源层,基础层、通用层、应用层基于贴源层的增量数据以实时指标加工的规则进行定时(T+1 天)加工处理。
ETL过程
4 测试上线及规范建设
测试上线
测试上线的主要目的是为了测试当前数仓开发完毕后数据是否准确,数据相应的速度是否及时,包括 ETL 任务的各环节是否出现异常等,测试完毕通过业务确认后即可上线。
数据规范
数仓建设的规范是为了后续开发人员可以遵从规范,培养良好的习惯,也可以提升数仓开发的可维护性,便于用户的沟通及交流。数据规范的内容包括数仓设计规范、命名规范、ETL 规范、报表规范等,数据规范建设为后续的数据治理及数据资产的管理建立了良好的基础。
数仓规范文档