接上篇《构建一个完整的数据仓库(一)数据仓库介绍》。今天我们来介绍下如何打造一个适合公司业务的数据仓库系统。本文将从数据需求调研、设计阶段、开发及测试验收、数据质量和元数据原理、数仓框架来介绍一个完整的数据仓库系统的打造。
一、数据需求调研阶段
1.1、这里主要是进行业务背景的调研,例如:
1、和不同的业务部门沟通了解业务情况,以及关注的重点。
1.2、需求分析,例如:
1、和数据分析人员、业务人员沟通获知真实的数据需求,获取关注的指标信息 2、分析梳理现有的报表系统,整理指标需求
1.3、指标梳理体系,即梳理每个业务过程中涉及的维度,指标,确定命名规范。确定整个业务的各个维度,衡量整个业务过程好坏的结果,例如:
1、原子指标:业务过程+度量,例如:放款金额 2、派生指标:原子指标+过滤条件,例如:北京市累计放款金额 3、衍生指标:原子指标+计算逻辑,例如:最近一周累计放款金额
1.4、数据探查发现,例如:
1、根据已梳理好的指标体系梳理数据来源,沟通确认指标业务口径,技术口径。 2、确定不同指标涉及到的数据表,输出mapping文档 3、确定每个表数据量大小,每天增量大小,确定源表数据是否存在物理删除,确定是否有增量时间戳
1.5、构建总线矩阵
梳理每个业务过程(例如:注册、授信、申请、放款、回款、回购等)涉及的维度,涉及的源系统表及每个业务过程中能产生哪些指标。
二、涉及阶段
2.1、数据分层
STG:缓冲层,保存源系统抽取的增量/全量数据 ODS: 源数据层,与源系统结构保持一致,增加审计字段(数据加载时间,装载的数据日期),保留历史数据,方便问题排查,历史数据回溯分析 DWD:明细层(基于业务过程建模),构建最细粒度的事实表,适当冗余维度属性字段(退化维度)。对数据进行清洗(过滤异常数据),整合(尽量将相关业务过程的数据整合在一起,避免数据多次扫描)。代码统一,字段命名统一,格式统一,将数据标准化,给后续处理提供感觉,统一,标准的数据。 DWS:汇总数据层(以具体分析需求建模,建设公共可复用的指标)。聚合站在维度看事实表的度量值,基于上层的应用及产品的指标需求,构建汇总指标表,宽表化处理(退化维度)单主题建模。 DM:应用集市层 DIM:维表层,构建一致性维表,星型模型。
2.2、开发规范
1、表命名规范 2、索引命名规范 3、分区命名规范 4、存储过程命名规范 5、调度任务/作业命名规范 6、文档规范 7、脚本开发规范 8、流程规范(需求准入准出机制) 9、指标命名规范
2.3、调度系统
Azkaban、DolphinScheduler、xxl-job
2.4、最后需要注意的是设计文档、模型、方案评审
三、开发及测试验收
1、开发及遇到问题的风险跟进处理 2、SIT 3、UAT 4、codeReview,包含代码,文档,规范,上线内容评审 5、效果跟进与问题复盘 6、出具数据清晰流程图
四、数据质量及元数据管理
4.1、数据质量
数据质量保证三步走: 事前:与各方(与业务、it等沟通确认指标数据口径) 事中:做好SIT、UAT、及CodeReview 事后:从数据接入到数据消费,全链路配置校验规则 同时要保证数据的:准确性、完整性、一致性、及时性
4.2、元数据
借助于Excel、PowerDesigner等工具进行辅助管理,有条件的可以自定义开发
五、数据仓库的框架
在线:实时处理、流批处理、搜索引擎等
离线:数据采集、清晰、加工、调度等。
还没有评论,来说两句吧...