大数据|数仓分层的概念【学习笔记】

最全面的数仓分层剖析,一文搞定企业数仓分层 - 白程序员的自习室

详解数据仓库分层 - 尤而小屋


数据分层的意义
  • 解耦,复杂问题简单化:将复杂的任务分解成多个步骤来完成,每一层解决特定的问题
  • 清晰数据结构:每一个数据分层都有它的作用于和职责,在使用表的时候能更方便地定位和理解
  • 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
  • 统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径
  • 缩短问题定位流程
数仓分层
ODS(Operation Data Store):数据准备区 / 数据运营层
  • 直接接入源数据的业务库、基础数据、埋点日志、消息队列等
  • 数据仓库层的准备区
DWD(Data Warehouse Detail):数据细节层
  • 业务层和数据仓库层的隔离层,保持和 ODS 层相同颗粒度
  • 提供一定的数据质量保证(数据清洗和规范化操作,去空、脏数据、离群值等)
DWM(Data Warehouse Middle):数据中间层
  • 在 DWD 层的基础上,轻微地聚合操作,算出相应的统计指标
  • 聚合之后会生成 “中间表”
DWS(Data Warehouse Service):数据服务层
  • 在 DWM 层的基础上,整合汇总成一个主题的数据服务层
  • 汇总结果通常是 “宽表”,用于 OLAP、数据分发等
DIM:公共维度层
  • 基于维度建模理念思想,建立整个企业的一致性维度,降低数据计算口径和算法不一致风险
ADS(Application Data Service):数据应用层
  • 存放在 ES、Redis、PostgreSql 等系统中,供数据分析和挖掘使用
  • “数据报表” 通常存放在该层
数仓的设计标准
  • 完善度:DWD 层尽可能被汇总层引用,ODS 层被除了 DWD 层外的尽可能少的引用,最好是没有
  • 复用度:大部分的需求,都用 DWS 层的表来支持
  • 规范度:主要从表明、字段名来看,一个规范的表明应该包括层级、主题域、分区规则、抽取类型等信息。字段规范应该是和词根一致,同字段同名
事实表和维度表

事实表,是指存储事实记录的表,比如系统日志、销售记录等。事实表的记录在不断地增长,所以事实表的体积通常远大于其他表。

维度表,也称查找表,是与事实表相对应的已中标;它保存了维度的属性值,可以跟事实表做关联,相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。维度表主要是包含两部分:

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

常见的维度表有:日期表(存储日期对应的周、月、季度等的属性)、地点表(包含国家、绳、州、城市等属性)

猜你喜欢

转载自blog.csdn.net/Changxing_J/article/details/133202413