文章目录

  • 为什么要设计数据分层
  • 数仓分层的意义
  • 通用的数仓分层设计
  • 总结

为什么要设计数据分层

大多数情况下,我们完成的数据体系依赖复杂、层级混乱,在不知不觉中,容易出现循环依赖体系。因此,我们需要设计一套有效的组织方式和管理办法使得对数据有一个更加清晰的掌控。

数仓分层的意义

  • 清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
  • 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够极大减少的重复计算
  • 保障数据质量:通过数据分层,提供统一的数据出口,统一对外输出的数据口径,减少数据计算错误的可能性。
  • 复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题
  • 屏蔽原始数据的异常:屏蔽业务的影响,不必改一次业务就需要重新接入数据
  • 提高使用效率:当业务发生变化时,可以更加方便的进行扩展,提高数据稳定性和连续性。

通用的数仓分层设计

数据仓库一般分为三层,自上而下分别为数据贴源层(ODS,Operation Data Store)、公共数据层(CDM,Common Data Model)和数据应用层(ADS,Application Data Service)。

  • 数据引入层ODS(Operation Data Store)即原始数据层,存放未经过处理的原始数据,结构上与数据源系统保持一致,是数据的准备区。
  • 公共数据层 CDM(Common Data Model,又称通用数据模型层), 包括DIM维度表、DWD和DWS,由ODS层数据加工而成。主要完成数据加工与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。
    • 明细数据层(DWD),对数据进行清洗、代码统一、字段统一、格式统一、简单聚合等工作。DWD 层存在的意义是做数据的标准化,为后续的处理提供干净、统一、标准的数据。
    • 汇总数据层(DWS),以分析的主题对象作为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段物理化模型。构建命名规范、口径一致的统计指标,为上层提供公共指标,建立汇总宽表、明细事实表。
    • 公共维度层(DIM),基于维度建模理念思想,建立整个企业的一致性维度。降低数据计算口径和算法不统一风险。
  • 数据应用层ADS(Application Data Service),存放数据产品个性化的统计指标数据,根据CDM层和ODS层的数据加工生成。

总结

数据仓库分层没有绝对的规范,适合的就是最好的,数据仓库分层的核心逻辑是解藕。在有限时间、资源等条件下满足业务需求,同时又要兼顾业务的快速变化。另外,分层架构师需要不断优化调整的,不能超前太多,也不能脱离业务,需要兼顾业务的复杂变化,以及开发的复杂度和可维护性,在两者之间做一个平衡和取舍,选择合适的分层架构。

数仓分层的意义及通用设计相关推荐

  1. 数据仓库系列(三)数仓分层的意义价值及如何设计数据分层

    文章目录 一.前言 二.数仓建模 三.数仓分层 四.数仓的基本特征 五.数据仓库用途 六.数仓分层的好处 七.如何分层 一.前言 现在说数仓,更多的会和数据平台或者基础架构搭上,已经融合到整个基础设施 ...

  2. 数据仓库(6)数仓分层设计架构

      目前主流的数据仓库分层大多为四层,也有五层的架构,这里介绍基本的四层架构. 分别为数据贴源层(ods).数据仓库明细层(dw).多维明细层(dws)和数据集市层(dm).   下面是架构图:    ...

  3. 数仓存在的意义价值及分层的好处

    数据仓库有4个基本特征:面向主题的.集成的.相对稳定的.记录历史的,而数据仓库的价值正是基于这4个特征体现的: 1.高效的数据组织和管理 面向主题的特性决定了数据仓库拥有业务数据库所无法拥有的高效的数 ...

  4. 数仓建模的edw_浅谈数仓分层和模型

    数仓分层 ODS层基础层-ODS(Operational Data Store-操作型数据存储):主要是未经过加⼯的原始数据 中间层-CDM\EDW(Enterprise Data Warehouse ...

  5. 谈笑间学会数仓-分层架构

    1.数据仓库 1-1.什么是数仓呢? ​ 数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据, ...

  6. 【博学谷学习记录】超强总结,用心分享|大数据之数仓分层

    数仓是什么? 数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报 ...

  7. [hive]数仓分层|用户纬度拉链表|维度建模

    https://www.modb.pro/404?redirect=%2Fdb%2F241289 一.数仓分层 1.ODS层:原始数据层 ODS(O=original D=data S=store) ...

  8. 数据中台-数仓分层思想

    一.数仓分层思想 1.为什么要分层 通过分层管理来实现分步完成工作, 用空间换时间,通过数据预处理提高效率,提升应用系统的用户体验(效率),简化数据清洗的过程,使每一层处理逻辑变得更简单. 每一层的处 ...

  9. 数据仓库实战(一):数仓分层分域规范

    笔者多年身处一线互联网独角兽企业,主导过数据仓库从0到1的建设,同时作为数据中台核心成员,在巨头合并,大数据融合及迁移过程中起到至关重要的作用.对数据中台及数据中泰产品有一定研究,抱着分享与自我成长的 ...

最新文章

  1. iOS 获取指定时间的前后N个月
  2. 当 Redis 发生高延迟时,到底发生了什么
  3. 19.Oracle10g服务器管理恢复--RMAN表空间恢复(练习33)
  4. 计算机系教研工作计划,计算机教研室工作计划怎么写
  5. 用For循环加cat按顺序合并文件
  6. Ssm酒店管理系统实战开发
  7. 【bzoj 3669】[Noi2014]魔法森林
  8. linux PCI/PCIe驱动之pci_read_bases的理解
  9. Android设置全屏代码
  10. 在html页头设置不缓存
  11. 【嵌入式蓝桥杯】解决LED和LCD引脚冲突的方法
  12. 为什么Android系统比ios系统卡?
  13. 用计算机看影碟是数字化过程,2012年上海市高中学业水平考试信息科技
  14. 行人重识别论文阅读(2021.7.3-7.11)
  15. AMD completes ATI acquisition
  16. python可以ps吗_python-PS图片
  17. 【vijos】1006 晴天小猪历险记之Hill(dijkstra)
  18. Oracle BEGIN END 【整理】
  19. Java命令行形式将程序打包成jar包
  20. 百名经济学家企业家88%认为当前通胀情况严重

热门文章

  1. Excel表格防止重复录入数据
  2. NC207040 丢手绢
  3. 飞行的小鸟论文python_80+行代码实现简单的“飞行的小鸟”游戏
  4. tikz绘图学习(长期更新)
  5. [刷题]leetcode\344_反转字符串
  6. 分享文章:如何提高你的学习能力,也许对你会有用
  7. MBA-day25 最值问题-应用题
  8. cs起源本地服务器无响应,CS起源上为什么我无法进入有反作
  9. 北京邮电大学21年计算机考研情况 数一英一408,分数并不低,竞争激烈
  10. vue实现标签云,让你的标签动起来