详解数据仓库和数据集市:ODS、DW、D、DWM、DWS、ADS_第1页
详解数据仓库和数据集市:ODS、DW、D、DWM、DWS、ADS_第2页
详解数据仓库和数据集市:ODS、DW、D、DWM、DWS、ADS_第3页
详解数据仓库和数据集市:ODS、DW、D、DWM、DWS、ADS_第4页
详解数据仓库和数据集市:ODS、DW、D、DWM、DWS、ADS_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

详解数据仓库和数据集市:ODS、DW、DWD、

DWM、DWS、ADS

01

数据流向

ADS

1、applicationdataservce,数据应用层

2、存放在等系然中,供

数据分析和挖掘使用

3、【数据报表】通常存方在该层

---DW-S-、

1sdatawarehouseservice,数据服务层

2、在DWM的基础上,整合汇总成一个主题的数据

服务层

3、汇总结果通常是【宽表】,用于OLAP、数据

分发等

DWM

_______r

1、datawarehousemiddle,数据中间层

2、在DWD的基础上进行轻微地聚合操作,算出相

应的统计指标

久聚合之后会生成【中间表】

X_________________/

DWD

卜一,—>■>

1、datawarehousedetails,数据细节层

2、业务层和数据仓库层的隔离层,保持和ODS层

相同颗粒度

3、进行数据清洗和规范化操作:去空/脏数据、离

ODS

1、OperationDataStore数据准备区,贴源层

2、直接接入源数据的:

02

应用示例

APP层:数据应年层,和业务强相关的报表层

,一...............\,-.......................*/—............

大盘收入报表::高付费用户综合报表::用户转化表

用户留存表;

<

DWS层:数据服务层,各个业务主题的宽表。

用超至花云表;.

;商品主题宽表

‘:1.保留更少的维度,比如只有:人

:2.计算出更多用户相关的指标:登陆次数、访问次数、「店铺主题宽表:

,添加购物车次数、购买商品数、购买不同商品数、购买、....................,

金额、订单次数、退货次数等

’3提供更多时间维度数据:比如天、月级的数免:地址主题宽表

I______________________'

DWM层:中间层数据,对明细数据按照常用维度做初步的汇总。

用户访问行为天表::r用户登陆行为天表;

1.保留通用的维度:人、商品、设备、页面区域(首:,二•二•二二二二;二二工•二•一•,;•「;

页、商品详情页、店家详情页等)::........--.......;

2.计算出常用的统计指标:次数、时长等:「用g订单行为天表:

\11

层:数据明细层,对层数据做一定的清洗和主题汇总

D•■W■■D■■■■”■■■-一■■■■・■■一-■■■■■■O■D■■S-一■■■■-一-■■■■■■■■■■■■■■■■■■・°、

用户访问日志表::f用户登陆表;

1.保留和明细数据一样的数兆维度:二二二二二二二二二二二二

2.包含PC、H5、小程序、APP各个来源的数据::......

3.对部分枚举类型的值迸行翻译:

4.剔除异常数据,保证数据质量::订单日志表

ODS层:离线或准实时接入的数据

后K而而渣:•:7i\iswiw!SiAPP^::与正日至Ci通口亲

03

何为数仓DW

Datawarehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量

存在的情况下,它是一整套包括了ell、调度、建模在内的完整的理论体系。

数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于

OLAP(on-lineAnalyticalProcessing),支持复杂的分析操作,侧重决策支

持,并且提供直观易懂的查询结果。目前行业比较流行的有:AWS

Redshift,Greenplum»Hive等。

数据仓库并不是数据的最终目的地,而是为数据最终的目的地做好准备,这

些准备包含:清洗、转义、分类、重组、合并、拆分、统计等

主要特点

•面向主题

・操作型数据库组织面向事务处理任务,而数据仓库中的数据是按照一定的主

题域进行组织。

-主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通过与

多个操作型信息系统相关。

•集成

■需要对源数据进行加工与融合,统一与综合

-在加工的过程中必须消除源数据的不一致性,以保证数据仓库内的信息时关

于整个企业的一致的全局信息。(关联关系)

•不可修改

•DW中的数据并不是最新的,而是来源于其他数据源

-数据仓库主要是为决策分析提供数据,涉及的操作主要是数据的查询

•与时间相关

■处于决策的需要数据仓库中的数据都需要标明时间属性

与数据库的对比

•DW:专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋

•数据库:用于捕获和存储数据

04

为何要分层

数据仓库中涉及到的问题:

1.为什么要做数据仓库?

2.为什么要做数据质量管理?

3.为什么要做元数据管理?

4.数仓分层中每个层的作用是什么?

5

在实际的工作中,我们都希望自己的数据能够有顺序地流转,设计者和使用

者能够清嘶地知道数据的整个声明周期,比如下面左图。

但是,实际情况下,我们所面临的数据状况很有可能是复杂性高、且层级混

舌L的,我们可能会做出一套表依赖结构混乱,且出现循环依赖的数据体系,

比如下面的右图。

oosDWAPP

为了解决我们可能面临的问题,需要一套行之有效的数据组织、管理和处理

方法,来让我们的数据体系更加有序,这就是数据分层。数据分层的好处:

•清晰数据结构:让每个数据层都有自己的作用和职责,在使用和维护的时候

能够更方便和理解

•复杂问题简化:将一个复杂的任务拆解成多个步骤来分步骤完成,每个层只

解决特定的问题

•统一数据口径:通过数据分层,提供统一的数据出口,统一输出口径

•减少重复开发:规范数据分层,开发通用的中间层,可以极大地减少重复计

算的工作

05

数据分层

每个公司的业务都可以根据自己的业务需求分层不同的层次;目前比较成熟

的数据分层:数据运营层ODS、数据仓库层DW、数据服务层ADS(APP)。

数据运营层ODS

数据运营层:OperationDataStore数据准备区,也称为贴源层。数据源中的

数据,经过抽取、洗净、传输,也就是ETL过程之后进入本层。该层的主要

功能:

•ODS是后面数据仓库层的准备区

•为DWD层提供原始数据

•减少对业务系统的影响

在源数据装入这一层时,要进行诸如去噪(例如有一条数据中人的年龄是

300岁,这种属于异常数据,就需要提前做一些处理)、去重(例如在个人资

料表中,同一ID却有两条重复数据,在接入的时候需要做一步去重)、字段

命名规范等一系列操作。

但是为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多

的数据清洗工作,原封不动地接入原始数据也可以,根据业务具体分层的需

求来做。

这层的数据是后续数据仓库加工数据的来源。数据来源的方式:

•业务库

'经常会使用sqoop来抽取,例如每天定时抽取一次。

■实时方面,可以考虑用canal监听mysql的binlog,实时接入即可。

•埋点日志

-日志一般以文件的形式保存,可以选择用flume定时同步

■可以用sparkstreaming或者Flink来实时接入

■kafka也OK

•消息队列:即来自ActiveMQ、Kafka的数据等。

数据仓库层

数据仓库层从上到下,又可以分为3个层:数据细节层DWD、数据中间层

DWM、数据服务层DWS。

数据细节层DWD

数据细节层:datawarehousedetails,DWD(数据清洗/DWI)

该层是业务层和数据仓库的隔离层,保持和ODS层一样的数据颗粒度;主要

是对ODS数据层做一些数据的清洗和规范化的操作,比如去除空数据、脏数

据、离群值等。

为了提高数据明细层的易用性,该层通常会才采用一些维度退化方法,将维

度退化至事实表中,减少事实表和维表的关联。

数据中间层DWM

数据中间层:DataWarehouseMiddle,DWM

该层是在DWD层的数据基础上,对数据做一些轻微的聚合操作,生成一些

列的中间结果表,提升公共指标的复用性,减少重复加工的工作。

简答来说,对通用的核心维度进行聚合操作,算出相应的统计指标。

数据服务层DWS

数据服务层:DataWarehouseService,DWS(宽表-用户行为,轻度聚合)

该层是基于DWM上的基础数据,整合汇总成分析某一个主题域的数据服务

层,一般是宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

一般来说,该层的数据表会相对较少;一张表会涵盖比较多的业务内容,由

于其字段较多,因此一般也会称该层的表为宽表。

•用户行为,轻度聚合对DWD

•主要对ODS/DWD层数据做一些轻度的汇总。

数据应用层ADS

数据应用层:ApplicationDataService,ADS(APP/DAL/DF)-出报表结果

该层主要是提供给数据产品和数据分析使用的数据,一般会存放在ES、

Rcdis、PostgreSql等系统中供线上系统使用;也可能存放在hive或者Druid

中,供数据分析和数据挖掘使用,比如常用的数据报表就是存在这里的。

事实表FactTable

事实表是指存储有事实记录的表,比如系统日志、销售记录等。事实表的记

录在不断地增长,比如电商的商品订单表,就是类似的情况,所以事实表的

体积通常是远大于其他表。

维表层Dimension(DIM)

维度表(DimensionTable)或维表,有时也称查找表(LookupTable),是

与事实表相对应的一种表;它保存了维度的属性值,可以跟事实表做关联,

相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。

维度表主要是包含两个部分:

•高基数维度数据:一般是用户资料表、商品资料表类似的资料表,数据量可

能是千万级或者上亿级别

•低基数维度数据:一般是配置表,比如枚举字段对应的中文含义,或者日期

维表等;数据量可能就是个位数或者几千几万。

临时表TMP

每一层的计算都会有很多临时表,专设一个DWTMP层来存储我们数据仓库

的临时表

06

数据集市

狭义ADS层;广义上指hadoop从DWDDWSADS同步到RDS的数据

数据集市(DataMan),也叫数据市场,数据集市就是满足特定的部门或者

用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、

维度的层次等,生成面向决策分析需求的数据立方体。

从范围上来说,数据是从企业范围的数据库、数据仓库,或者是更加专业的

数据仓库中抽取出来的。数据中心的重点就在于它迎合了专业用户群体的特

殊需求,在分析、内容、表现,以及易用方面。数据中心的用户希望数据是

由他们熟悉的术语表现的。

带有数据集市的数据仓储结构

图1数据仓库体系结构

区别数据仓库

数据集市就是企业级数据仓库的一个子集,它主要面向部门级业务,并且只

面向某个特定的主题。为了解决灵活性与性能之间的矛盾,数据集市就是数

据仓库体系结构中增加的一种小型的部门或工作组级别的数据仓库。数据集

市存储为特定用户预先计算好的数据,从而满足用户对性能的需求。数据集

市可以在一定程度上缓解访问数据仓库的瓶颈。

理论上讲,应该有一个总的数据仓库的概念,然后才有数据集市。实际建设

数据集市的时候,国内很少这么做。国内一般会先从数据集市入手,就某一

个特定的主题(比如企业的客户信息)先做数据集市,再建设数据仓库。数

据仓库和数据集市建立的先后次序之分,是和设计方法紧密相关的。而数据

仓库作为工程学科,并没有对错之分。

在数据结构上,数据仓库是面向主题的、集成的数据的集合。而数据集市通

常被定义为星型结构或者雪花型数据结构,数据集市一般是山一张事实表和

几张维表组成的。

数据仓库数据集市

主题1主题2

主题3主题4

07

问题总结

ODS与DWD区别?

问:还是不太明白ods和dwd层的区别,有了。ds层后感觉dwd没有什么用

了。

答:嗯,我是这样理解的,站在一个理想的角度来讲,如果。ds层的数据就

非常规整,基本能满足我们绝大部分的需求,这当然是好的,这时候dwd层

其实也没太大必要。但是现实中接触的情况是ods层的数据很难保证质量,

毕竟数据的来源多种多样,推送方也会有自己的推送逻辑,在这种情况下,

我们就需要通过额外的一层dwd来屏蔽一些底层的差异。

问:我大概明白了,是不是说dwd主要是对。ds层做一些数据清洗和规范化

的操作,dws主要是X'jods层数据做一些轻度的汇总?

答:对的,可以大致这样理解。

APP层干什么的?

问:感觉DWS层是不是没地方放了,各个业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论