数据仓库-我对分层的一点理解





谈到数据仓库的分层,你知道为什么要分层吗?

 

你可能会这么说。。。什么

1、清晰数据结构、复杂问题简单化

2、减少重复开发、统一数据口径

分层是有业务需求才去做的,而不是为了分层而分层。由于你的数据量又大又杂,数据一点都不好用,所以出现了分层。所以分层本质上是解决了易用性,降低使用数据的成本。

如果不分层的话,会怎么样呢?不分层的话,不同的人需要同一份数据时,都需要都从原始数据开始计算,同时也会造成数据不一致问题。而分层后,我提前已经计算好了,直接在我的公共层取,一定程度上节省计算资源,同时统一数据出口。

经典的分层模型

简单每一层做的事情:

  • ods:原封不动拉过来,不做修改
    • dwd:维度补全、维度退化、数据处理(处理null值、数据类型标准化、单位标准化、编码转换)、拆表、公共字段的解析
    • dws:维度对象天粒度的汇总。沉淀一些公共指标,这些指标是面向度量的,比如:总金额
    • dwm:  维度对象历史累计汇总。数据集市和指标库
    • app:个性化指标的加工。比如留存、同环比等
    • dim  一致性维度建设(维度提取、维度整合)

分好层后,那你的使用原则是什么呢?

1、数据流是自下而上,禁止逆向调用,避免同层调用

2、优先使用公共层。dws和dwm

3、避免跨层调用。

聊到这里,相信对分层有个大概的认知了吧。。那宽表有什么作用呢?

  1. 减少上层应用对明细数据的访问
  2. 节省资源
  3. 统一统计口径

所以说宽表是很重要的,一定要保证宽表的数据是正确的!!!




总结

万事都是合理的。分层没有绝对的好与坏,适合你的就是最好的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值