一.概述

 数据仓库的特征在于面向主题、集成性、稳定性和时变性,用于支持管理决策。数据仓库的存在的意义在于对企业的所有数据进行汇总,为企业各个部门提供统一的、规范的数据出口。数据仓库在构建过程中通常都需要进行分层处理。业务不同,分层的技术处理手段也不同。数仓分层的主要原因:

  • 清晰数据结构
     每一个数据分层都有它的作用域,这样在使用表的时候能更方便的定位和理解。
  • 数据血缘追踪
     由于最终给业务呈现的是一个能直接使用的业务表,但是表的数据来源有很多,如果有一张来源表出问题了,我们希望能够快速准确的定位到问题,并清楚他的危害范围。
  • 减少重复开发
     规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
  • 复杂问题简单化
     将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。

二.数据仓库分层设计

 常见的数据仓库分为ODS操作数据存储层、DW数据仓库层和DM数据集市层三层,其中DW层又分为DWD层和DWS层。数据仓库分层结构见下图:

2.1 ODS层

 ODS层中的数据全部来自于业务数据库,ODS层的表格也业务数据库中的表格一一对应,就是将业务数据库中的表格在数据仓库的底层重新建立一次,数据与结构完全一致
 由于业务数据库(OLTP)基本按照ER实体模型建模,因此ODS层中的建模方式也是ER实体模型。

2.2 DW层

 DWD层要做的就是将数据清理、整合、规范化、脏数据、垃圾数据、规范不一致的、状态定义不一致的、命名不规范的数据都会被处理。DWD层应该是覆盖所有系统的、完整的、干净的、具有一致性的数据层。在DWD层会根据维度模型,设计事实表和维度表,也就是说DWD层是一个非常规范的、高质量的、可信的数据明细层
 DWS层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,基于DWD层上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。DWS层应覆盖80%的应用场景。

2.3 DM层

 DM层为数据集市层,面向特定主题。在DM层完成报表或者指标的统计,DM层已经不包含明细数据,是粗粒度的汇总数据。DM层是针对某一个业务领域建立模型,具体用户(一般为决策层)查看DM层生成的报表。

三.维度模型

 维度建模的理论由 Ralph Kimball 提出,他提出将数据仓库中的表划分为事实表和维度表两种类型。维度建模源自数据集市,主要面向分析场景。维度建模是面向分析场景而生,针对分析场景构建数仓模型;重点关注快速、灵活的解决分析需求,同时能够提供大规模数据的快速响应性能。针对性强,主要应用于数据仓库构建和OLAP引擎底层数据模型。
 “事实表”,用来存储事实的度量(measure)及指向各个维的外键值。“维度表”, 用来保存该维的元数据,即维的描述信息,包括维的层次及成员类别等。

例图:


 简单的说,维度表就是你观察该事物的角度(维度),事实表就是你要关注的内容。例如用户使用滴滴打车,那么打车这件事就可以转化为一个事实表,即打车订单事实表,然后用户对应一张用户维度表,司机对应一张司机维度表。

3.1 事实表

 在现实世界中,每一个操作型事件,基本都是发生在实体之间的,伴随着这种操作事件的发生,会产生可度量的值,而这个过程就产生了一个事实表,存储了每一个可度量的事件。
 发生在现实世界中的操作性事件所产生的可度量数值,存储在事实表中。从最低的粒度级别来看,事实表行对应一个度量事件,反之亦然。因此,事实表的设计完全依赖于物理活动,不受可能产生的最终报表的影响。除数字度量外,事实表总是包含外键,用于关联与之相关的维度,也包含可选的退化维度键和日期/时间戳。查询请求的主要目标是基于事实表展开计算和聚集操作。
 事实表往往包含三个重要元素:

  • 维度表外键
  • 度量数据
  • 事件描述信息

 例如在电商场景中的一次购买事件,涉及主体包括客户、商品、商家,产生的可度量值包括商品数量、金额、件数等。

3.2 维度表

 每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,当然,维度表行的描述环境应与事实表行完全对应。维度表通常比较宽,是扁平型非规范表,包含大量的低粒度的文本属性。
 比如商品,单一主键为商品ID,属性包括产地、颜色、材质、尺寸、单价等,但并非属性一定是文本,比如单价、尺寸,均为数值型描述性的,日常主要的维度抽象包括:时间维度表、地理区域维度表等。

综上所述,如果针对用户的下单行为(单一商品)进行维度建模,可以得到如下模型:

四.数据仓库规范

4.1 表名命名规范

 为了让数据所有相关方对于表包含的信息有一个共同的认知。比如说属于哪一层(ODS、DW明细、DW汇总、DM)?哪个业务/部门?哪个维度(用户、车机设备)?哪个时间跨度(天、月、年、实时)?增量还是全量?
命名格式:层次_业务/部门_修饰/描述_范围/周期

数据仓库中表格的命名规范如下表所示:

数仓层次 周期/数据范围
公用维度 dim 日快照 d
DM层 dm 增量 i
ODS层 ods w
DWD层 dwd 拉链表 l
DWS层 dws 非分区全量表 a

扫码关注公众号【云将数据】,更多大数据及人工智能领域信息!

(3)数仓建设-数据仓库设计方案相关推荐

  1. 大数据架构详解_【数据如何驱动增长】(3)大数据背景下的数仓建设 amp; 数据分层架构设计...

    背景 了解数据仓库.数据流架构的搭建原理对于合格的数据分析师或者数据科学家来说是一项必不可少的能力.它不仅能够帮助分析人员更高效的开展分析任务,帮助公司或者业务线搭建一套高效的数据处理架构,更是能够从 ...

  2. OneData建设探索之路:SaaS收银运营数仓建设

    以下文章来源于美团技术团队 ,作者禄平 周成 黄浪 在现有大数据平台的基础上,借鉴业界成熟OneData方法论,构建合理的数据体系架构.数据规范.模型标准和开发模式,以保障数据快速支撑不断变化的业务并 ...

  3. 《美团数据平台及数仓建设实践》(209页).PDF

    7份有关数据化建设的资料都整理好了,包括数据仓库.数据中台.数据仓库等等,有需要的私信:"美团"领取 1.美团数据平台及数仓建设实践.PDF下载 美团技术团队的博客质量非常高,里面 ...

  4. 数仓建设之IP库的匹配

    数仓建设之IP库的匹配 一.业务前提 二.解决过程 01)增加运行资源 02)通过增加切分块大小,减少实例数 03)明细表和ip库通过join方式 04)mapjoin内存方式 05)将IP库展开,进 ...

  5. 数仓建设保姆级教程,离线和实时理论+实战)

    文档大纲: 一.数仓基本概念 1. 数据仓库架构 我们在谈数仓之前,为了让大家有直观的认识,先来谈数仓架构,"架构"是什么?这个问题从来就没有一个准确的答案.这里我们引用一段话:在 ...

  6. 网易云音乐数仓建设之路

    网易云音乐作为一个MAU已经超过亿级的业务,在数据仓库.数据体系.数据应用建设是怎么做的?在近日举办的"网易数帆技术沙龙"上,网易云音乐数据专家雷剑波就此话题做了全面的分享,介绍了 ...

  7. 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)

    本文目录: 一.数据流向 二.应用示例 三.何为数仓DW 四.为何要分层 五.数据分层 六.数据集市 七.问题总结 导读 数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需 ...

  8. 数仓建设(离线和实时)

    文档大纲: 一.数仓基本概念 1. 数据仓库架构 我们在谈数仓之前,为了让大家有直观的认识,先来谈数仓架构,"架构"是什么?这个问题从来就没有一个准确的答案.这里我们引用一段话:在 ...

  9. 数仓建设保姆级教程,离线和实时一网打尽(理论+实战)

    本文大纲: 因内容较多,带目录的PDF查看是比较方便的,点击下方链接获取完整PDF版: 数仓建设保姆级教程PDF文档 一.数仓基本概念 1. 数据仓库架构 我们在谈数仓之前,为了让大家有直观的认识,先 ...

最新文章

  1. 怎么将jenkins打包后的war自动部署到jetty上?
  2. vue-cli脚手架(框架)
  3. java中xpath_java-xpath学习
  4. CATALAN数 学习
  5. ddr4 dqs 频率_一张图看懂如何选择DDR4内存的频率和容量
  6. java a星寻路算法_用简单直白的方式讲解A星寻路算法原理
  7. 【Objective-C】java中的interface与Objective-C中的interface的区别
  8. 基于selenium生成Csdn 博客文章简索的excel文件
  9. java比c,Java比C ++更好
  10. [GO]并发实现聊天室服务器
  11. TDengine:A股分钟线数据的尝试
  12. STM8L_库函数-模板搭建
  13. java foxpro,在Visual FoxPro中更新顶部
  14. 云服务(腾讯云)的安全防范措施
  15. 常用的php函数,PHP 常用函数汇总
  16. 智能驾驶中预期安全系统的架构
  17. BZOJ3894: 文理分科
  18. 车载网络测试 - UDS诊断篇 - 诊断RID/IOID($2F/$31)
  19. 周报速递丨企业微信 4.0 发布;零售、餐饮 10 大业态数字化盘点
  20. 计算机应用应届生自我评价,计算机应用专业应届生自我评价

热门文章

  1. Windows操作系统万能Ghost全攻略
  2. 51Nod 1048 1383 整数分解为2的幂
  3. 不是你需要中台,而是一名合格的架构师(附各中台建设PPT)
  4. Big Faceless 网页PDF阅读器
  5. 920quiz+922复杂度+927quiz2
  6. 谷歌浏览器无法记住密码问题
  7. 基于Java语言的Web在线聊天室
  8. 【国庆福利】中奖名单公布
  9. Java基础入门必须了解的英语词汇
  10. 程序员专业常用英语词汇