数仓项目建设方案——维度建模式
信息收集
-
项目背景
阐述公司当前的行业,涉及的主要业务,相关数据的大小、分布、更新情况描述,需要解决的相关问题。 -
公司当前数据建设现状
使用的数据库、数据来源系统与方式、现有数据分析组织,所使用的 BI 工具与数仓工具、为什么建立以及当前存在的问题。 -
部门架构与相关业务流程
描述该公司的部门架构,以及相关部门的业务。 -
部门相关详情业务说明
本次作业范围中的部门的业务过程,描述其业务的需要经过的节点、与业务节点相关的系统的数据表,单次业务对数据表行数的影响。 -
上层管理与下级部门的诉求与期望
上层管理者在数据分析大方向上的诉求与期望、管理者在具体的业务中的诉求与期望。 -
文本报表与 BI 报表信息
对现有报表信息进行简单说明,如在什么样的业务中以什么维度对分析了哪些数据。 -
相关数据源 PDM 和 ER 图信息
提供客户现在的数据关系图。
维度建模
-
整理业务过程
确认不同部门下的业务过程、以及其业务节点、绘制业务的价值链(节点链)。 -
确认数据粒度
根据单次业务操作对数据的影响,确认数据的所需使用的颗粒度,确认数据的原子性。 -
确定维度
分析该业务过程中所生成的数据,区分出其中所有的维度,建立维度表,同时根据维度的更新方式和实际情况,确定具体的维度表类型。 -
确实事实
分析该业务过程中所生成的数据,区分其中所有的事实,建立事实表,同时根据事实的产生方式与实际情况,确定具体的事实表类型。 -
绘制事实维度模型图
根据确认的事实与维度绘制模型图,通常以星型模型、雪花模型、星座模型形式呈现。 -
绘制数据仓库总线架构
仓库总线架构、仓库总线矩阵、仓库总线细节矩阵、利益相关矩阵、高层模型等其他相关矩阵模型。 -
确认交付模型
将模型交付给客户进行确认,确认在当前设计的维度下能满足相关部门的数据分析要求,在确认之后,交付给实施开发进行开发作业。
实施开发
-
相关数据入仓 ETL
对数据进行入仓和简单的数据清洗,保存至 ODS 层。 -
模型的物理设计与开发
根据建模提供的各种矩阵模型、确认的事实与维度来建立数据表,根据业务过程来创建作业流,同时进行相应的数据治理工作,该层保存至 DWD 层。 -
数据市场搭建
该层主要通过事实与维度两层次进行连接产生,保存至 DM 层或 DWS 层。 -
数据的应用
将已完成的数据通过 API 或直连的方式提供给 BI 或是其他数据消费端。
数据维护
- 修复错误数据
修复在ETL之后依旧没有清楚的错误数据、或汇总之后导致错误聚合数据等错误数据 - 依据反馈迭代
根据对应部门的用户对数据使用的反馈进行迭代操作,如新增加维度、拓展事实属性、汇总维度等迭代操作。