数据仓库,Data Warehouse,可简写为DW或DWH。是面向主题的、集成的(非简单的数据堆积)、相对稳定的、反应历史变化的数据集合,数仓中的数据是有组织有结构的存储数据集合,用于对管理决策过程的支持。

面向主题:主题是指使用数据仓库进行决策时所关心的重点方面,每个主题都对应一个相应的分析领域,一个主题通常与多个信息系统相关。

数据分层好处如下

ü 清晰的数据结构:每层数据都有各自的作用域和职责,在使用表的时候更方便定位和理解。

ü 减少重复开发:规范数据分层,开发一层公用的中间层数据,减少重复计算流转数据。

ü 统一数据出口:通过数据分层,提供统一的数据出口,保证对外输出数据口径一致。

ü 简化问题:通过数据分层,将复杂的业务简单化,将复杂的业务拆解为多层数据,每层数据负责解决特定的问题。

l ODS(Operational Data Store)层 - 操作数据层

ODS层,操作数据层,也叫贴源层,本层直接存放从业务系统抽取过来的数据,这些数据从结构上和数据上与业务系统保持一致,降低了数据抽取的复杂性,本层数据大多是按照源头业务系统的分类方式而分类的。一般来讲,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可。

l DW(Data Warehouse)层 - 数据仓库层

数据仓库层是我们在做数据仓库时要核心设计的一层,本层将从 ODS 层中获得的数据按照主题建立各种数据模型,每一个主题对应一个宏观的分析领域,数据仓库层排除对决策无用的数据,提供特定主题的简明视图。DW层又细分为 DWD(Data Warehouse Detail)层、DWM(Data Warehouse Middle)层和DWS(Data Warehouse Service)层。

n 数据明细层:DWD(Data Warehouse Detail)

该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证,在ODS的基础上对数据进行加工处理,提供更干净的数据。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,当一个维度没有数据仓库需要的任何数据时,就可以退化维度,将维度退化至事实表中,减少事实表和维表的关联。例如:订单id,这种量级很大的维度,没必要用一张维度表来进行存储,而我们一般在进行数据分析时订单id又非常重要,所以我们将订单id冗余在事实表中,这种维度就是退化维度。

n 数据中间层:DWM(Data Warehouse Middle)

该层会在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提升公共指标的复用性,减少重复加工处理数据。简单来说,就是对通用的维度进行聚合操作,算出相应的统计指标,方便复用。

n 数据服务层:DWS(Data Warehouse Service)

该层数据表会相对比较少,大多都是宽表(一张表会涵盖比较多的业务内容,表中的字段较多)。按照主题划分,如订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

在实际业务处理中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据在放在DWS也没有问题。

l DM(Data Mart)层 - 数据集市层

数据集市层,也可以称为数据应用层,基于DW上的基础数据,整合汇总成分析某一个主题域的报表数据。主要是提供给数据产品和数据分析使用的数据,一般会存放在 ES、PostgreSql、Redis等系统中供线上系统使用,也可能会存在 Hive 或者 Druid 中供数据分析和数据挖掘使用。比如我们经常说的报表数据,一般就放在这里。

数据库与数据仓库区别

数据库:传统关系型数据库的主要应用是OLTP(On-Line Transaction Processing),主要是基本的、日常的事务处理,例如银行交易。主要用于业务类系统,主要供基层人员使用,进行一线业务操作。

数据仓库:数仓系统的主要应用主要是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP数据分析的目标是探索并挖掘数据价值,作为企业高层进行决策的参考。

数据仓库ods层是啥意思_数据仓库和数据分层相关推荐

  1. 数据仓库ods层是啥意思_数据仓库中的ODS、EDW、和DM层是什么?(系列3)

    在第一节内容,提到了数据仓库和数据库的区别,数据仓库作主要面向分析场景的数据库,又进行了"分层"的设计,因此出现了ods层.edw.dm层的设计(也有的公司会使用超过3层的设计模式 ...

  2. 数据仓库ods层是啥意思_一文读懂大数据仓库建设

    文章标签: 数据仓库ods层是啥意思 版权 从传统数仓到大数据平台,MPP数据集市,Hadoop集群,还有混合架构数仓,一直在不断演进,但是万变不离其宗,大框架和方法论终归是那一套.所以本文就来分享数 ...

  3. 数据仓库ODS层的作用

    ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是"面向主题的.集成的.当前或接近当前的.不 ...

  4. 层 数据仓库_数据仓库的架构是什么样的,大家可以通过这篇文章了解一下

    今天这篇文章,给大家讲述一下数据仓库的架构模式,作为我们一起探讨的内容.希望大家留言.评论,我们一起学习. 一 说到数据仓库,那么我们先来了解一下数据仓库的基本概念. 数据仓库,英文名称为Data W ...

  5. 【漫谈数据仓库】 如何优雅地设计数据分层

    http://bigdata.51cto.com/art/201710/554810.htm 一.文章主题 本文主要讲解数据仓库的一个重要环节:如何设计数据分层!其它关于数据仓库的内容可参考之前的文章 ...

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

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

  7. 数据仓库—stg层_数据仓库之Hive快速入门 - 离线实时数仓架构

    数据仓库VS数据库 数据仓库的定义: 数据仓库是将多个数据源的数据经过ETL(Extract(抽取).Transform(转换).Load(加载))理之后,按照一定的主题集成起来提供决策支持和联机分析 ...

  8. 数据仓库—stg层_有赞数据仓库实践之路

    原标题:有赞数据仓库实践之路 一.大数据环境下的有赞数仓 关于数据仓库,在维基百科中将它定义为 用于报表和数据分析的系统,是商务智能 Business Intelligence 的核心部分.在数据仓库 ...

  9. 数据仓库dw层_数据仓库分层之辩

    前言,这篇文章最早见过是在2009年的某一个论坛上并保存了下来, 今天发出来读了一遍,不禁思考本质上这些年我们到底进步了什么? 数据仓库的分层可以算是数据仓库架构的子话题.在前段时间参与的一次讨论中, ...

最新文章

  1. mysql2014授权设置_SQLServer2014许可证(六)虚拟化中的授权
  2. 原码, 反码, 补码, 移码 详解
  3. node 生成随机头像_唯一ID生成算法剖析
  4. 计算机科学在航空航天仿真模拟,2016年南京航空航天大学计算机科学与技术学院541计算机综合基础之数据结构复试笔试仿真模拟题...
  5. linux相关函数,linux学习-信号相关函数
  6. Microsoft Teams的保留策略
  7. python-使用云图库实现文字填画的效果-0225
  8. CRUD 还能这么玩?
  9. android小项目数字拼图游戏_Java小项目之:拼图游戏
  10. 算法59----打家劫舍【动态规划】
  11. OOP之C#设计及其UML(反向工程)
  12. 2019 PHP面试题
  13. 2d雷达的原始数据生成点云地图pcd
  14. 音视频系列--哥伦布编码和H264片段sps解析宽高信息
  15. SAP中物料主数据基本单位更改问题实例
  16. 三个启蒙寓言解读大企业的内部创业困局
  17. 英语基本句型之简单句
  18. C标准-->C89/C99/C11
  19. 简单的toast提示,确认弹窗,显示图片预览插件
  20. 怎样隐藏计算机文件,电脑里的文件怎么绝对隐藏起来让别人看不到?

热门文章

  1. python画轨迹曲线-python 画3维轨迹图并进行比较的实例
  2. python数据分析的主要流程-将Python和R整合进一个数据分析流程
  3. python开发中文软件-Python 3程序开发指南(第二版)
  4. 怎样学好python-如何学好python——致python初学者的天梯
  5. python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc
  6. python下载教程1001python下载教程-1001种玩法 | Python 学习指南资源
  7. python使用手册-Python参考手册(第4版)
  8. python程序实例源代码-python下10个简单实例代码
  9. 通过python建立一个web服务查看服务器上的文本、图片、视频等文件
  10. 解决Ubuntu16.04视频编码出现Unknown encoder 'libx264'问题