数据中台实践手记——数据体系搭建

数据体系搭建步骤

业务板块 -> 数据域 -> 事实表 -> 数据同步(ELT)

  1. 梳理业务数仓的数据流程图
  2. 业务表结构梳理
  3. 业务数仓分层规划
  4. 资源准备(MaxCompute、DataWorks、RDS等)
  5. 配置任务
  6. ODS(hive、ods_业务库_表名_di/df)-> 数据清洗(去重、脏数据)-> 数据开发(离线计算hive/spark sql)、流式开发(stream)、算法开发
  7. drw

 

数据中台实践手记——数据体系搭建_第1张图片

数据中台实践手记——数据体系搭建_第2张图片

数据分层

1、贴源数据层ODS

原样copy业务系统的数据表过来,可以放在hive、maxcompute里,不做清洗和加工。

从ETL变为了ELT,抽取(extract)、转换(transform)、加载(load)。

入库后数据表命名规则:ods_业务系统简称_表名_dt/df

该层可能还包含技术缓冲表,是为了在数据加载中处理异常及类型转换时的临时表。

 

抽取主要有2种:增量、全量。

  • 实体表:每日全量
  • 维度表:每日全量(不变的性别、民族等字典表可只全量一份)
  • 事务型事实表:生成后不变。每日增量,按时间创建分区。
  • 周期型事实表:每日新增及变化量更新,包括了当日新增和修改。

2、统一数仓层DW

要把原本的关系型表结构,进行一定程度的维度退化,即表的合并,虽数据有些冗余,但能减少多个跨表操作的计算开销。
同步任务中可以走个分支写入一些日志,便于排查异常和问题。

维度建模是Kimball在《数据仓库工具箱》中所倡导的数据建模方法,也是目前在大数据场景下推荐使用的建模方法。因为维度建模以分析决策的需求出发来构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。

 

实体表、维表:统一以dim开头,dim_主题域_实体名_dt/df

事实表(主键、外键-维表、度量A、度量B...)

  • 明细数据层DWD:建议按数仓常见的维度建模来做,实现对贴源数据按主题域进行分类。
    • 比如银行业务:通常分为7-10个主题,包括当事人、协议、事件、渠道、产品主题等。
    • 比如建筑业务:包括项目、设备、物资、劳务人员、财务、主题等。
  • 汇总数据层DWS:汇总表,形成宽表,数据集市
    • 完成基础数据的预连接、预计算、预汇总,以应用为驱动。
    • 对多个应用中需要重复汇总计算的部分进行提炼的共性加工数据,做到一次加工,多次使用。
    • 为应用使用生成的计算结果表、可冗余,如按某一个维度进行的汇总表。

3、标签数据层TDM(可选)

面向对象建模,通过ID-Mapping把各业务板块、业务过程中的同一对象的数据打通。

数澜建议按“人、物、关系”来划分一级类目,再按照业务特性对每个一级类目进行二级、三级的拆分,通常我们建议将标签类目划分到三级

数据中台实践手记——数据体系搭建_第3张图片

  • 基础标签:直接对应的业务表字段,如性别、城市等

  • 统计标签:标签定义含有常规的统计逻辑,开发时需要通过简易规则进行加工,如年增长率、月平均收益率等

  • 算法标签:标签定义含有复杂的统计逻辑,开发时需要通过算法模型进行加工,如企业信用分、预测年销量等

4、应用数据层ADS(可选)

 


5、数据服务

主要有2类3形式。

一是实时数据服务。包括:数据查询,授权其他应用直接连接基础数据平台进行数据访问;API数据访问,将固化的数据访问需求封装为服务的方式发布,其他应用可以通过API服务进行数据访问。

二是批量数据服务。主要是数据供给,即将批量数据卸载为数据文件,通过数据交换平台向其他应用提供批量数据。

你可能感兴趣的:(统计业务,大数据应用,数据库,数据中台,阿里云)