美文网首页
数据仓库的数据分层

数据仓库的数据分层

作者: 点点渔火 | 来源:发表于2017-07-21 17:06 被阅读0次

转: http://www.cnblogs.com/liqiu/p/4013743.html

为什么要对数据仓库分层?

  • 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;
  • 如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大
  • 通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。

数据仓库标准上可以分为四层:ODS(临时存储层)、PDW(数据仓库层)、MID(数据集市层)、APP(应用层)

ODS层:

为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。一般来说ODS层的数据和源系统的数据是同构的,主要目的是简化后续数据加工处理的工作。从数据粒度上来说ODS层的数据粒度是最细的。ODS层的表通常包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。历史数据一般保存3-6个月后需要清除,以节省空间。但不同的项目要区别对待,如果源系统的数据量不大,可以保留更长的时间,甚至全量保存;

PDW层:

为数据仓库层,PDW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。这一层的数据一般是遵循数据库第三范式的,其数据粒度通常和ODS的粒度相同。在PDW层会保存BI系统中所有的历史数据,例如保存10年的数据。

MID层:

为数据集市层,这层数据是面向主题来组织数据的,通常是星形或雪花结构的数据。从数据粒度来说,这层的数据是轻度汇总级的数据,已经不存在明细数据了。从数据的时间跨度来说,通常是PDW层的一部分,主要的目的是为了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年(如近三年的数据)的即可。从数据的广度来说,仍然覆盖了所有业务数据。

APP层:

为应用层,这层数据是完全为了满足具体的分析需求而构建的数据,也是星形或雪花结构的数据。从数据粒度来说是高度汇总的数据。从数据的广度来说,则并不一定会覆盖所有业务数据,而是MID层数据的一个真子集,从某种意义上来说是MID层数据的一个重复。从极端情况来说,可以为每一张报表在APP层构建一个模型来支持,达到以空间换时间的目的数据仓库的标准分层只是一个建议性质的标准,实际实施时需要根据实际情况确定数据仓库的分层,不同类型的数据也可能采取不同的分层方法。

---【补充,也有分三层的】

数据缓存层:

用于存放接口方提供的原始数据的数据库层,此层的表结构与源数据保持基本一致,数据存放时间根据数据量大小和项目情况而定,如果数据量较大,可以只存近期数据,将历史数据进行备份。此层的目的在于数据的中转和备份。

核心数据层:

此层的数据在数据缓存层的基础上做了一定程度的整合,称之为数据集市,存储上仍是关系模型。此层的目的在于进行必要的数据整合为下一步多维模型做准备。

分析应用层:

此层的数据为根据业务分析需要构造的多维模型数据。数据可以直接用于分析展现。

说明:数据层次的划分可以根据实际项目需要进行裁剪,如果业务相对简单和独立,可以将核心数据层与分析应用层进行合并。另外,分析应用的数据可以来自多维模型的数据,也可以来自关系模型数据甚至原始数据。

相关文章

  • 数据仓库设计

    数据仓库--事实表 数据仓库--事实表和维度表 DW数据仓库分层模型设计 如何优雅地设计数据分层 ODS DW D...

  • 数仓相关文章索引(1)

    基本常识 数据仓库的源数据类型 数据仓库的多维数据模型 BI数据仓库数据分层 即席查询 算法架构 浅谈数据仓库的基...

  • 5000字长文分享!数据仓库的建设与框架终于有人给讲明白了

    数据仓库,这个几乎是所有大数据开发面试必问的话题。比如数据仓库的分层架构?为什么需要数据仓库建模?数据仓库建模的原...

  • 数据仓库系列10- 数据仓库规范

    一. 数据模型架构原则 1.1 数据仓库分层 分层的好处: 清晰数据结构; 数据血缘追踪; 减少重复开发; 数据关...

  • 数据仓库分层

    ODS:Operation Data Store 原始数据(一般不建议全部存储,可按实际需求) DWD(数据清洗/...

  • 数据仓库分层

    分层的目的 1.方便了解表之间的关系,可以将各层的作用明确,方便开发和使用。2.可以减少重复开发,存放中间处理过的...

  • 数仓实战01:数仓分层

    1.为什么分层 1.1 数仓分层: 1.2 为什么分层 2.数据集市和数据仓库概念 3.数仓命名规范 3.1 表命...

  • 数据仓库的数据分层

    转: http://www.cnblogs.com/liqiu/p/4013743.html 为什么要对数据仓库分...

  • A/B实验平台

    一、A/B实验数据仓库到指标 简介:数据仓库的建设是公司的基础数据基建,目前数仓的建立模型主要包括分层宽表建模或者...

  • 浅谈数仓建设中的分层

    作者介绍 数据仓库@唐刚 “数据人创作者联盟”成员。 01数仓为什么要分层 数仓分层的原因也即是分层的好处体现在下...

网友评论

      本文标题:数据仓库的数据分层

      本文链接:https://www.haomeiwen.com/subject/tmmekxtx.html