数据仓库分层设计

为什么要设计数据分层?
这应该是数据仓库同学在设计数据分层时首先要被挑战的问题,类似的问题可能会有很多,比如说“为什么要做数据仓库?”、“为什么要做元数据管理?”、“为什么要做数据质量管理?”。当然,这里我们只聊一下为什么要做设计数据分层。

作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到。直观来讲就是如下的左图这般层次清晰、依赖关系直观。

但是,大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。如下的右图,在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系。

 因此,我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解决所有的数据问题,但是,还是有好处和方便的:

数仓分层原因
将复杂问题简化,将复杂的任务分解成多层来完成,每一层只处理简单的任务,方便定位问题;
减少重复开发,规范数据分层,通过中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性;
隔离原始数据,不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开;
数仓主体就是DWD(data warehouse detail:数据明细层),DWS(data warehouse service:服务数据层),DWT(data warehouse topic:数据主题层)。其中DWS,DWT两层都是汇总数据,从DWD来。 

数据仓库架构图
1.名词介绍
2.分层介绍
3.名词介绍
|缩写 | 全名| 中文解释 | 作用 |

| ODS | operational data store | 操作存储数据层 | 数据沉淀 |

| DWD | data warehouse detail | 数仓库详细层 | 数据沉淀 |

| DWB | data warehouse basis | 数据仓库基础层 | 轻度汇总层 |

| DWS | data warehouse service | 数据仓库服务层 |主题层 |

| DIM | Dictionary Data Layer | 字典成 | 渠道,黑白名单 |

| APP | | 应用层 | 直接导出,展示 |

ODS/(Operation Data Store);ODS层:原始数据层,存放原始数据,直接加载原始日志,数据,数据保持原貌不做处理。
原始数据层
DVD( data warehouse detail);DWD层:对ODS层数据进行清洗等。保存明细数据,一行信息代表一次业务行为,例如,一次下单。
明细数据层
DWS(data warehouse service);以DWD为基础,按天进行轻度汇总。一行信息代表一个主题对象一天的汇总行为,例如,一个用户一天下单次数
服务数据层
DWT(data warehouse Topic);以DWS为基础,对数据进行累积汇总。一行信息代表一个主题对象的累积行为,例如一个用户从注册那天开始至今一共下了多少次单
数据主题层
ADS(Application Data Store);ADS层,为各种统计报表提供数据
数据应用层

分层介绍
1、 ODS层介绍
作用:数据接口层,主要作用是接入每天的数据,然后进入DWS层进行主题分类。 命名规范:ODS_表名字 (建议表明跟文件名字一样) 最长30个字符。 保留策略:目前保留所有原系统的数据,在将来会按照实际需要更小的缩小ODS层数据的保留策略。
2、DWS层介绍 作用:主题层,根据业务种类划分,减少数据的冗余,并对数据能够更好的管理。
3、TMP层介绍
作用:临时表层,层与层之间数据的清洗、转化会产生很多中间临时表,我们会在这一层做统一的管理。 命名规范: TMP_表名字_日期
4、DIM层介绍
作用:公共数据层 命名规范:DIM_表名字 保留策略:该层数据的保留策略按照源系统不同的提供方式来灵活变更,例如源系统每天提供一份新数据,我们可以用全删全插的加载策略,无需保留历史。
5、APP层介绍
作用:该层主要作为数据展示层使用,按照业务需求进行计算等到的结果放入APP层,该层也会使用DWS的主题来对数据进行分类管理,该层数据最终会使用工具(sqoop或者其他)导出到MYSQL展示使用。 保留策略:该层数据的保留策略跟DWS相同。 命名规范:APP_主题名_表名
6、MYSQL相关建议
作用:该层只要导出hive 的分析完的数据到MYSQL中进行展示。 命名规范:REP(reprot)_主题名_表名 保留策略:由于MYSQL是事务性数据库,单表记录在1000万以上的时候性能就明显的下降,建议MYSQL数据库中存放一年、两年更或者半年的数据(按需保留),将一年之前的数据再导入Hive中BAK层进行备份,如果将来有需要的话,直接使用HIVE SQL进行数据分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值