素材牛VIP会员
为什么不建议在操作数据库上建立数据仓库
 牛***满  分类:Java代码  人气:673  回帖:1  发布于6年前 收藏

现有我对此问题的几个思考,如有不对还请纠正,如果有不足,还请补充

  1. 数据仓库主要是进行查询,常常需要对数据进行汇总和聚集数据记录的操作,需要的仅仅是只读操作,而操作数据库的写操作,会伴随锁、事务等,这些都会远远降低OLAP查询的效率

  2. 数据仓库需要的是历史数据,而不是经常变化的数据,对于OLAP操作,如果每秒数据都在变化,那么将会重复进行很多次的汇总和聚合,极大降低数据仓库的效率

  3. 数据仓库中的数据往往是来自于异构源的数据(整理、聚集和汇总)。而操作数据库上存在的往往是原始数据,而在异构系统中,往往低同一维度的单位都会不同,那么如果直接拿来分析操作,将会对数据库造成莫大的压力!

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv4 码徒
se***ng 技术总监 6年前#1

数据仓库 并不是不能建在数据库之上。主要看数据库能否满足需求。
1 数据仓库中所有的数据都是结构化数据。并且采集后都可以归纳到数据库。
2 数据库可以容纳下所有数据仓库的数据。
3 离线计算的时间在容忍范围之内

满足以上三点可以使用数据库
现实是
1数据来源多样 非结构话数据多
2 一般数据库难以处理1T以上的数据
3 需要分布式计算

所以很少数据仓库完全使用数据库 但往往包含数据库在数据仓库之内

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取