数据仓库学习笔记 --- 如何设计数据仓库

本文探讨了数据仓库设计中的数据分层重要性,旨在清晰数据结构、追踪数据血缘、减少重复计算。介绍了数据运营层(ODS)、数据仓库层(DW)和数据产品层(APP)的职责,以及数据流动和技术实践,包括 Sqoop、Canal、Flume、Spark、Storm 和 Kafka 在数据处理中的角色。并提供了一个5层数据仓库架构实例,强调了缓冲层、明细层、轻度汇总层、主题层和应用层的功能和数据更新方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为什么要设计数据分层?
* 数据建设刚起步,大部分的数据经过粗暴的数据接入后就直接对接业务。
* 数据建设发展到一定阶段,发现数据的使用杂乱无章,各种业务都是从原始数据直接计算而得。
* 各种重复计算,严重浪费了计算资源,需要优化性能。

2.我们对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控,详细来讲,主要有下面几个原因:
* 清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。
* 数据血缘追踪:简单来讲可以这样理解,我们最终给业务呈现的是一能直接使用的张业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。
* 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
* 复杂问题简化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
* 屏蔽异常数据:定位、记录原始数据的异常、屏蔽业务的影响,不必每改一次业务重新接入一次数据,浪费资源。


3.数据体系中的各个表的依赖就像是电线的流向一样,我们都希望它是规整、流向清晰、便于管理的,如下图:
 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨鑫newlfe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值