一阶段实施流程

数据仓库实战(电商-0到1) - 图3

背景

  1. 项目主题是乙方给甲方规划实施的一个两千万多万级别的大型电商项目,实际上就是把线下的交易转移到线上,乙方开发人员60-70人。该数据中心是整体项目里的一部分。

目标:1.构建数据中心体系;2、开发一批运营分析报表。
总架构师的要求:一期对数据中心子项目没有专门预算,ETL工具使用开源的Kettle、数据库合用公司购买的Oracle,但后期可能会迁移到Mysql。
人力资源情况:
人员A:一个十几年数据经验的人,做过架构和管理,也是整体电商项目的数据架构师,负责整体把控。
人员B:一个三年数据经验的人,做过数仓、数据开发,负责全流程的落地。
需求搜集人员,负责到各个业务部门搜集汇总运营分析报表需求,并产出需求文档。

数仓项目,类似冰山,水面之上的只是一小部分,大部分工作都隐藏在水面之下。就是我们做了很多很多底层的事情,比如数据质量、数据模型、ETL、监控告警,但最终能呈现出来的一定是数据应用。所以数据应用成则项目成。

调研阶段

  1. 熟悉组织架构:找到项目内各个模块开发组的 Leader,以及业务专家(有可能是甲方业务人员,也有可能是乙方BD、架构师、项目经理等)。
  2. 业务调研:结合需求文档,结合项目整体数据模型,结合生产数据库数据,熟悉整体业务流程,有疑问就咨询业务专家。
  3. 需求调研:根据需求文档,熟悉需求。
  4. 数据调研:根据电商项目整体数据模型,熟悉业务,熟悉业务主题划分,对数据源有疑问的直接找对应开发组Leader 询问。

设计阶段

简介

调研完毕后,就进入了设计阶段。

  1. 架构设计从全局出发通判考虑,并有一定的前瞻性,产出物是5张架构图:业务架构、应用架构、数据架构、技术架构、部署架构。
  2. 数仓规范是数仓设计、开发、管理、运维过程中的必要参考依据,保证了数仓建设的质量。其制定需要经过初稿、局部讨论、下发全员征求意见、正式发行四个阶段,在后续的执行过程中也需要根据实际需要持续完善。
  3. 数据模型设计,需要在熟悉业务充分了解需求,以及对用到的数据源做充分的探索后才能开始,同时对数据建模师的建模水平要求很高。
  4. 技术选型环节,会有几点参考依据:主流的技术选型是怎样的?项目对技术有没有什么特别要求或者点名必须用那个?项目核心成员擅长什么?
  5. 最后,在设计阶段,还需要根据项目周期和项目开发实际需要,去提前搭建好项目团队,不能等到实施阶段了才忙着到处找人。

前置条件

了解项目背景,做过前期调研、准备后,应该达到以下三点要求:

  1. 基本熟悉业务流程,同时知道具体事情需要找具体的哪个人。
  2. 明确的需求,做多少张报表、每张报表包含哪些列。报表里涉及的多是必须用到的维度和指标。
  3. 非常了解数据源,清楚现有数据源、数据存储结构能否支撑现阶段运营分析报表需求。

架构设计

image.png

image.png
image.png
image.png
image.png
image.png
image.png

规范设计

image.png

image.png
image.png
image.png

注意:当时的规范设计,少个词根库

模型设计

指导思想:维度建模

数据源端的数据建模,是采用ER模型,主题划分依据来自系统模块划分。
DW层构建从业务分析的角度,依据分析场景重新划分主题。建模过程如下:
数据仓库实战(电商-0到1) - 图15

数据仓库实战(电商-0到1) - 图16
DM层模型建设,完全依据统计分析报表需求构建。为提高查询效率,报表访问尽量单表查询。

人力资源规划

设计阶段进行到中后期时候,人力资源需求已经基本可以确定下来了。
结合项目开发周期,和整体工作量,人力资源需求如下:
报表开发:3人,包含一个leader
ETL开发:4人,人员B负责相关工作安排
整体资源协调、上边4类架构图的设计:人员A
模型设计、规范制定、给报表开发和ETL开发人员提供SQL、对接数据源端底层改造、辅助测试、交付文档等除了上边所提工作外的其它所有:人员B

实施阶段

简介

  1. 调研和设计都完成好以后,就进入的实施阶段。
  2. 设计阶段做好的话,实施阶段就是按照项目管理的方法论、流程等按部就班的开展就行。
  3. 不过实际项目中,设计和实施通常没有明显的时间划分,不经过设计阶段直接实施的情况也经常发生,往往使数仓建设变的非常混乱。
  4. 所以聪明的优秀的数仓管理者应该尽量遵循以上流程。时间上可以混着来,但是该有最好不要缺。

ETL开发

报表开发

监控告警

元数据维护