数仓分层建设(带操作演示)

作者:finedatalink

发布时间:2023.7.13

阅读次数:501 次浏览

一、贴源层(ODS)

设计思路:将原始数据几乎无处理地存放在数据仓库系统中,结构上与源系统基本保持一致

主要作用:

  • 业务库和分析库分离,不影响业务系统正常使用
  • 备份数据与源系统表一致,体现非易失性,保证数据的完整性

命名规则:层缩写_源系统_源系统表名   ods_my_order

挑战:

  1. 数据源多样
  2. 数据结构多样
  3. 增量变化的获取

⭐️ 五种增量更新模式:

时间戳、日志、全表比对、MD5比对、触发器

演示附件:

1.1 多源数据连接

1.2 数据比对更新

1.3 数据管道-异构多源数据实时增量同步(基于日志)

二、基础建模层(DWD) 

设计思路:核心设计层,将从ODS层中获得的数据按照主题建立数据模型,对原始数据进行清洗和一致性处理,存放明细事实数据。

主要作用:

  • 面向主题建模
  • 数据准确,对数据进行清洗和一致性处理,体现数据集成性
  • 定期同步,增加表同步时间戳,体现时变性

命名规则:层缩写_主题缩写_存储内容全称   dwd_mkt_sign

建设重点:数据清洗和一致性处理

演示附件:包含API的JSON解析、数据关联、SparkSQL等操作

三、通用建模层(DWS)

设计思路:以分析对象作为建模驱动,基于上层的应用和产品的共性需求,构建公共粒度的汇总指标表。以宽表化手段物理化模型,为应用层提供统一计算口径和数据标准,提高效率。

主要作用:

  • 提高复用性,满足90%的共性需求,解决口径不一致和开发任务多
  • 宽表化处理,解决性能差问题,提高分析效率

命名规则:层缩写_主题缩写_存储内容全称   dws_mkt_order

建设重点:

  1. 衍生指标、维度上卷
  2. 指标汇总,指标合并
  3. 提供给业务自主分析

演示附件:处理后的大宽表直接给到BI公共数据集

四、基础建模层(DIM) 

设计思路:通过添加维度属性、关联维度等定义计算逻辑,完成属性定义的过程并建立一致的数据分析维表。

主要作用:

  • 高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。
  • 低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

命名规则:层缩写_维度定义_自定义命名标签  dim_asale_itm

挑战:

  1. 一致性维度
  2. 缓慢变化维
  3. 拉链表的设计

演示附件: 拉链表的建设(拉链表不仅仅在DIM缓慢变化维使用,在ODS、DWD均有使用)

五、应用数据层(ADS)  

设计思路:根据业务需要,存放数据产品个性化的报表数据,可以直接提供查询展现,保证效率。

主要作用:

  • 数据展示速率快。
  • 个性化设计,解决性能差问题,保证数据分析效率。

命名:层缩写_主题缩写_表单全称  ADS/DM_mkt_XSJSC

建设重点:

  1. 高度汇总
  2. 解决性能问题
  3. 给到个性化报表/查询使用

演示附件:任务调度,输出结果数据给到报表/查询使用

数据集成平台产品更多介绍:www.finedatalink.com

                         

上一篇: 下一篇: