在大数据分析中,我们希望我们分析的数据在整个分析流程中有秩序的流转,数据的整 个流程能够清晰明确的被我们掌握使用。

上图中的数据流转我们更希望得到 A 图中的数据流转过程。所以我们希望有一套行之 有效的数据组织和管理方法来让我们的数据更有序,这就需要在数据处理中进行数据分层的 原因。基于大数据的数据仓库建设要求快速响应需求,同时需求灵活多变,对实时性有不同 的要求,除了面向 DSS、BI 等应用外,还要响应用户画像、个性化推荐、机器学习、数据 分析等各种复杂的应用场景,实际上在大数据开发中,涉及到数仓设计都会进行分层设计。

数据分层好处如下:

  • 清晰的数据结构:每层数据都有各自的作用域和职责,在使用表的时候更方便定位 和理解。
  • 减少重复开发:规范数据分层,开发一层公用的中间层数据,减少重复计算流转数 据。
  • 统一数据出口:通过数据分层,提供统一的数据出口,保证对外输出数据口径一致。
  • 简化问题:通过数据分层,将复杂的业务简单化,将复杂的业务拆解为多层数据, 每层数据负责解决特定的问题。
  1. ODS(Operational Data Store)层 - 操作数据层
    ODS 层,操作数据层,也叫贴源层,本层直接存放从业务系统抽取过来的数据,这些数 据从结构上和数据上与业务系统保持一致,降低了数据抽取的复杂性,本层数据大多是按照 源头业务系统的分类方式而分类的。一般来讲,为了考虑后续可能需要追溯数据问题,因此 对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可。
  2. DW(Data Warehouse)层 - 数据仓库层
    数据仓库层是我们在做数据仓库时要核心设计的一层,本层将从 ODS 层中获得的数据 按照主题建立各种数据模型,每一个主题对应一个宏观的分析领域,数据仓库层排除对决策 无用的数据,提供特定主题的简明视图。DW 层又细分为 DWD(Data Warehouse Detail) 层、DWM(Data Warehouse Middle)层和 DWS(Data Warehouse Service)层。
    1 .数据明细层:DWD(Data Warehouse Detail)
    该层一般保持和 ODS 层一样的数据粒度,并且提供一定的数据质量保证,在 ODS 的基础上对数据进行加工处理,提供更干净的数据。同时,为了提高数据明细层的易用性,该层 会采用一些维度退化手法,当一个维度没有数据仓库需要的任何数据时,就可以退化维度, 将维度退化至事实表中,减少事实表和维表的关联。例如:订单 id,这种量级很大的维度, 没必要用一张维度表来进行存储,而我们一般在进行数据分析时订单 id 又非常重要,所以 我们将订单 id 冗余在事实表中,这种维度就是退化维度。
    2 .数据中间层:DWM(Data Warehouse Middle)
    该层会在 DWD 层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提 升公共指标的复用性,减少重复加工处理数据。简单来说,就是对通用的维度进行聚合操作, 算出相应的统计指标,方便复用。
    3 .数据服务层:DWS(Data Warehouse Service)
    该层数据表会相对比较少,大多都是宽表(一张表会涵盖比较多的业务内容,表中的字 段较多)。按照主题划分,如订单、用户等,生成字段比较多的宽表,用于提供后续的业务 查询,OLAP 分析,数据分发等。
    在实际业务处理中,如果直接从 DWD 或者 ODS 计算出宽表的统计指标,会存在计算量 太大并且维度太少的问题,因此一般的做法是,在 DWM 层先计算出多个小的中间表,然后 再拼接成一张 DWS 的宽表。由于宽和窄的界限不易界定,也可以去掉 DWM 这一层,只留 DWS 层,将所有的数据在放在 DWS 也没有问题。
    4 .DM(Data Mart)层 - 数据集市层
    数据集市层,也可以称为数据应用层,基于 DW 上的基础数据,整合汇总成分析某一个 主题域的报表数据。主要是提供给数据产品和数据分析使用的数据,一般会存放在 ES、 PostgreSql、Redis 等系统中供线上系统使用,也可能会存在 Hive 或者 Druid 中供 数据分析和数据挖掘使用。比如我们经常说的报表数据,一般就放在这里。

数据仓库分层设计思想相关推荐

  1. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之LED驱动框架--面向对象、分层设计思想

    文章目录 前言 1.LED驱动程序框架 1.1.对于LED驱动,我们想要什么样的接口? 1.2.LED驱动要怎么写,才能支持多个板子?分层写 1.3.程序分析 驱动程序 应用程序 Makefile 1 ...

  2. Linux设备驱动的分层设计思想

    1.1 设备驱动核心层和例化 在面向对象的程序设计中,可以为某一类相似的事物定义一个基类,而具体的事物可以继承这个基类中的函数.如果对于继承的这个事物而言,其某函数的实 现与基类一致,那它就可以直接继 ...

  3. 源码解读Dubbo分层设计思想

    I作者:vivo互联网服务器团队-Wang Genfu 一.Dubbo分层整体设计概述 我们先从下图开始简单介绍Dubbo分层设计概念: (引用自Duboo开发指南-框架设计文档) 如图描述Dubbo ...

  4. C语言软件分层的方法,单片机程序分层设计思想

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如今C语言已经成为单片机程序设计公认的语言.我用C语言进行单片机程序设计也有两年多的时间了,C语言程序的特点使我对单片机开发更加感兴趣.让我从一个了解单片 ...

  5. 数据仓库分层设计(基于Hive)

    1.数据仓库逻辑分层架构 先来看数据仓库的逻辑分层架构: 分层名称可能不一样,但基本是都是这样 想要看懂数据仓库的逻辑分层架构,先要弄懂以下概念 数据源 : 数据来源,互联网公司的数据来源随着公司的规 ...

  6. linux设备分层优点,Linux设备驱动的分层设计思想

    代码清单8第2行获取platform_data,而platform_data实际上是定义GPIO按键硬件信息的数组,第31行的for循环工具这些信息申请GPIO并初始化中断,对于LDD6140电路板而 ...

  7. python中locator_locator 分层设计思想

    locator 分层 登录页面元素定位,都是放在 PageObjects 目录下的 login_page.py 文件下的 LoginPage 类下 元素定位分层 这个登录页面要用到的元素定位还是比较少 ...

  8. 数据仓库之建模理论以及仓库设计思想

    1.数据仓库 1.1.数据仓库概述 数据仓库是一个为数据分析而设计的企业级数据管理系统.数据仓库可集中.整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策.同时 ...

  9. 数据仓库架构分层设计

    数据仓库架构分层设计包括STG(数据缓冲层).ODS(数据操作层).DWD(数据明细层).DWS(主题汇总层)和ADM(数据应用层). 1.STG层 主要完成业务系统结构化数据引入到数据中台,保留业务 ...

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

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

最新文章

  1. Android开发工作中遇到的重点和难点总结
  2. 如何更改Windows 10锁屏界面超时时间
  3. 32linux下安装mysql5.7_Linux系统下以RPM方式安装mysql-5.7.9
  4. 【学习记录】网络层——IP数据报(格式与分片)
  5. 离京2小时,快手百亿入云,一切为了「看见」
  6. Linux 中 Iptables 规则定义
  7. 哪种语言更适合做自动化测试?
  8. 电商详情页的一般实现
  9. Chrome浏览器解决主页被劫持的问题
  10. java ee7教程_JavaEE 7.0 Web技术教程 -解道Jdon
  11. MySQL--创建表
  12. 常见的DNS记录类型有哪些?如何查询DNS解析记录?
  13. 我国开始研制电子计算机,我国从( )年开始研制电子计算机。
  14. RT-Thread驱动——RTC PCF8563
  15. 比 Redis 还快,更省内存,开源,惊爆了!
  16. 标签管理--操作标签
  17. 计算机空格符号,电脑打印出现空格符号怎么办
  18. c语言如何框出视频或图像中的车辆,[转载]视频图像中的车辆检测跟踪和分类
  19. 主控AU6989SN-GTC/AU6998SN [F500] - F/W FD04,爱国者U盘被写保护怎么办?
  20. el-checkbox 自定义 复选框【多选框】

热门文章

  1. 如何选择物业管理软件,五大误区需要避免
  2. 多媒体互动项目-Unity与继电器数据交互
  3. php xml网站地图生成,PHP代码自动生成XML版网站地图
  4. 基于DDPG的智能交通灯控制算法
  5. 基于java+ssh+mysql实现的共享自行车单车租赁|出租管理系统项目源代码
  6. Gradle下载及安装,配置IDEA
  7. 母亲节微信公众号走心文章就用来逗编辑器排版
  8. 软件测试周刊(第31期):所有的伟大 都源于一个勇敢的开始
  9. 最新声鉴卡H5网页源码_完整可运转,引流专用神器
  10. USB协议架构及驱动架构