数据仓库分层详解

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

a)空间换时间 通过建设多层次的 数据模型供用户使 用,避免用户直接 使用操作型数据, 可以更高效的访问 数据。

b)把复杂问题简单化。 将一个复杂的任务分 解成多个步骤来完成, 每一层只处理单一的 步骤,比较简单和容 易理解。而且便于维 护数据的准确性,当 数据出现问题之后, 可以不用修复所有的 数据,只需要从有问 题的步骤开始修复。

c)便于处理业务的变化。 随着业务的变化,只需 要调整底层的数据,对 应用层对业务的调整零 感知

  • 数据仓库分层结构

ODS层(操作数据存储层):ODS层是将OLTP数据通过ETL同步到数据仓库来作为数据仓库最基础的数据来源。在这个过程中,数据经过了一定的清洗,比如字段的统一,脏数据的去除等,但是数据的粒度是不会变化的。ODS层的数据可以只保留一定的时间。

MID层(中间层): MID中间层使用范式建模的方法。这一层主要是做规范化的事情,比如应用库表非规范化,字段格式复杂(json格式)需做一些处理。这一层不是必须有的。也不会对外开放使用。范式建模保证了数据一致性、唯一性、正确性。

DW-DM层(仓库核心层): DW-DM层针对部门(比如财务部门)或者某一主题(比如商户、用户),通过维度建模(推荐星型模型),构建一致性维度,原子粒度的数据是DW层,按照实体或者主题经过一定的汇总,建设数据集市模型。数据集市可以为OLAP提供服务。

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

有什么不懂的欢迎大家在评论区交流!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值