生产库和数据仓库中间还需要再加一层数据库吗,必要性有多大呢?

1
已邀请:
2

BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-11-16 回答

Staging层还是有存在的必要的,所谓的ODS层酌情。
存在是必要的主要原因:
1. Source端数据export出来,历史数据有可能archive出去,或者干脆删了。这种情况万一以后重新加载,没有数据可用了。
2. 对于大企业而言,有的大型OLTP数据库会定期生成Staging数据,供下游多个系统使用,这样会隔离对当前OLTP系统的干扰。
3. 有的上游系统吐数据,格式还是需要整理一下的,比如从xml转到表里做操作,比如一定程度的数据清洗

因此,大部分情况下,还是需要的。
1

郑大鹏 2015-11-12 回答

ODS层 是 数据暂存层 应该与源数据结构保持一致,但是最好不要加主外键约束
就是先把数据或者增量数据从不同的业务库(生产库),平面文件等加载过来,然后在做清洗、转换加载到数据仓库
这样做的好处比如说增量加载,先从业务库(可能是不同的数据库,不同的服务器)中检索到增量数据抽取过来,然后再从ODS层加载到数据仓库,就不用全表扫描啦,还有因为不同的数据库(MS SQL、Mysql)因为数据结构不一样直接不好处理来,等等一些好处的
 
再看看这两个
http://www.flybi.net/question/13508
http://www.flybi.net/blog/newknight/1372
可能我理解地比较肤浅,百度一下 
ODS 是 操作型数据存储(Operational Data Store, ODS)的简称
再百度一下 数据仓库和ODS
这个问题都不知道有多少论文呢!
摘两篇大家可以看看
解读数据存储ODS的概念   http://www.dwway.com/article-2230-1.html
ODS与DW的区别  http://blog.csdn.net/hero_hegang/article/details/8691912
 
0

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-11-12 回答

个人理解这一层是业务系统和数据仓库系统的纽带,如果没有它的话。 很可能会造成SCD,增量更新不好实现的问题
还有就是如果数据源是 Excel 文本这种,就更需要ODS进行数据落地了
0

txst 2015-11-12 回答

多加一层就多了很多维护成本,使本来就不容易维护的系统更加复杂,再加上后面的数据分析,数据挖掘,感觉越来越吃不消了。
0

seng - 从事BI、大数据、数据分析工作 2015-11-13 回答

是不是需要要根据具体情况需要, 当然如果能不要就不要啊。
我的理解是传统的EDW是跑批的, 整个流程很长,重新跑很麻烦。
但有时候数据源不是我们能控制的, 只有等数据源都准备好了,再能开始运行,这时候就可能需要一层staging层。
 

要回复问题请先登录注册