首页天道酬勤数据仓库功能,数据仓库有几层

数据仓库功能,数据仓库有几层

张世龙 05-05 13:06 46次浏览

参考:

33559 www.cn blogs.com/itboys/p/10592871.html数据仓库---常见的数据仓库分层方法

数据仓库各层说明:、数据加载层: ETL(extract-transform-load )二、数据操作层: ODS (operational datastore )三、 数据仓库级别:数据仓库(dw )1.数据详细级别(dwd )数据仓库详细信息(2.数据中间层) dwm )数据仓库中间(3.数据服务器层: app (应用)五、维度表层: dim(dimension )分层好处(清晰数据结构)每个数据层都有角色域和角色,使用表时更容易定位

减少重复开发:通过规范数据分层和开发通用中间层数据,可以大大减少重复计算

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

简化复杂问题:将复杂任务分解为多个步骤完成,每层只处理一个步骤,比较简单容易理解。 如果数据出现问题,只需从有问题的步骤开始修复,而不是修复所有数据。

阻断原始数据异常:需要在不改变业务的情况下重新访问数据。

我们将数据模型分为三层:数据运营层(ODS )、数据仓库层(DW )、数据APP应用层(APP ):ODS层存储访问源数据,DW层是我们重点设计的数据仓库

一、数据运营层:操作数据(ODS )。

“面向主题”数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据被提取、清洗和传输,在所谓传说中的3358www.Sina.com/之后加载到本层。 基本层的数据总体上经常按ETL方式分类。

按照源头业务系统的分类

二、数据仓库层: dw (数据仓库) )。

数据仓库层是我们在制作数据仓库时中心设计的层。 其中,一般来讲,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。DW层是dwd (数据仓库详细信息)层、DWM (数据仓库中间)层、dws (数据仓库中间)层

1 .数据详细级别:数据仓库详细信息(dwd ) ) )。

从 ODS 层中获得的数据按照主题建立各种数据模型上,提供一定的该层一般保持和ODS层一样的数据粒度保证。 另外,为了提高数据细节层的易用性,该层采用了几个数据质量,将维度退化为事实表,减少事实表与维度表的关联。

此外,该层还执行部分数据聚合(维度退化手法),以提高数据可用性。 稍后举例说明。

2 .数据中间层:数据仓库中间件(dwm )。

该层基于DWD层的数据,对数据生成将相同主题的数据汇集到一张表中轻度的聚合操作,减少重复加工。

直观上,对生成一系列的中间表,提升公共指标的复用性核心维度进行聚合操作,计算相应的统计指标。

3 .数据服务层:数据仓库服务(dws )。

也称为数据集市或宽表。 3358www.Sina.com/,例如流量、订单、用户等,通用的按照业务划分

通常,由于此层次结构中的数据表相对较少,一个表涵盖许多业务内容,且字段较多,因此此层次结构中的表有时也称为宽表。

在实际计算中,如果直接从DWD或ODS计算宽表统计指标,则会出现计算量过大、维过少的问题。生成字段比较多的宽表

三、数据APP应用层: APP (APP ) )。

这里,用于提供后续的业务查询,OLAP分析,数据分发等。一般存储在e中

S、PostgreSql、Redis等系统中供线上系统使用,也可能会存在 Hive 或者 Druid 中供数据分析和数据挖掘使用。比如我们经常说的报表数据,一般就放在这里。

四、维表层(Dimension)
最后补充一个维表层,维表层主要包含两部分数据:

高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。

低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

至此,我们讲完了数据分层设计中每一层的含义,这里做一个总结便于理解,如下图。

主题(Subject)是在较高层次上将企业信息系统中的数据进行综合、归类和分析利用的一个抽象概念,每一个主题基本对应一个宏观的分析领域。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。例如“销售分析”就是一个分析领域,因此这个数据仓库应用的主题就是“销售分析”。

  各层示例应用说明:

如下图,可以认为是一个电商网站的数据体系设计。我们暂且只关注用户访问日志这一部分数据。

按业务分类汇总数据源,ODS层不同来源的日志文件汇总成一张表,保存到DWD层

DWD层中选取业务关注的核心维度来做聚合操作,比如只保留人、商品、设备和页面区域维度,以此类推生成很多个DWM的中间表;

DWM层抽取数据,将一个人在整个网站中的行为数据放到一张表中,到DWS层,这就是我们的宽表了,可以快速满足大部分的通用型业务需求;

最后,在APP应用层,根据需求从DWS层的一张或者多张表取出数据拼接成一张应用表即可

  不同的层次中会用到什么计算引擎和存储系统:

数据层的存储一般如下:

Data Source:数据源一般是业务库和埋点,当然也会有第三方购买数据等多种数据来源方式。业务库的存储一般是Mysql 和 PostgreSql。

ODS 层:ODS 的数据量一般非常大,所以大多数公司会选择存在HDFS上,即Hive或者Hbase,Hive居多。

DW 层:一般和 ODS 的存储一致,但是为了满足更多的需求,也会有存放在 PG 和 ES 中的情况。

APP 层:应用层的数据,一般都要求比较快的响应速度,因此一般是放在 Mysql、PG、Redis中。

计算引擎的话,可以简单参考图中所列就行。目前大数据相关的技术更新迭代比较快,本节所列仅为简单参考。

从能力范围来讲,我们希望80%需求由20%的表来支持。直接点讲,就是大部分(80%以上)的需求,都用DWS的表来支持就行,DWS支持不了的,就用DWM和DWD的表来支持,这些都支持不了的极少一部分数据需要从原始日志中捞取。结合第一点来讲的话就是:80%的需求,我们都希望以对应用很友好的方式来支持,而不是直接暴露给应用方原始日志

 

 

 

数仓,数仓分层各层数据如何调度