数据仓库建设的一点疑问

因为我从没有实施过数据仓库的建设,所以一直对数据仓库的建设原理不是很了解,但是自己自学一段时间以后感觉有那么点头绪了。不过我有个疑问:一家企业,我为他们做数据仓库建设。首先 他们是有自己的生产数据库系统的,以及其他系统。我帮他们在一台新服务器上建立一个数据仓库... 显示全部
因为我从没有实施过数据仓库的建设,所以一直对数据仓库的建设原理不是很了解,但是自己自学一段时间以后感觉有那么点头绪了。
不过我有个疑问:
一家企业,我为他们做数据仓库建设。首先 他们是有自己的生产数据库系统的,以及其他系统。我帮他们在一台新服务器上建立一个数据仓库。就是把企业中的其他数据源的数据全部录入到数据仓库里。我第一次实施etl过程的时候,的确会把他们所有数据库里的数据录入数据库,但是过了一个生产周期,比如一天,一月,或者一个季度,他们生产数据库里的数据又有了新数据,这样的话我又得重新执行etl过程,再把所有数据库的数据录入到数据仓库。其实这是可行的,但是有问题的,因为只需要录入更新后的数据,而不是再次的全库刷新。而我找不到一个很好的办法来实施类似刷新的功能。
因为刷新的标志是不一样的,有些可能是根据时间戳来刷新的,但有些又不是。很麻烦,纠结中。有人能指点下么? 收起
参与9

查看其它 8 个回答luxiao1223 的回答

luxiao1223 luxiao1223 软件开发工程师 aia
感谢上面三位的回答。最近我也陆陆续续的看了些文档,发现网上对这问题也是一致的看法,棘手。
因为业务数据库的数据有三种变更方式:新增了某些记录,删除了某些记录,更新了某些记录。而且这三种方式是组合形式的,也就是说一张表它可能既新增了记录,有删除了某些记录,那么对应的数据仓库也应该新增对应的记录和删除相关记录。其实4楼的说写触发器的做法可以解决部分问题,而不能解决所有情况。
不过我目前打算就是采用完全刷新的etl模式,就是每次都把数据仓库里的数据truncate掉,然后把所有业务数据库的数据进行入库。
虽然比较慢,但是简单,实用。况且数据仓库对实时性要求不高,我有大量的时间来更新数据仓库,我就让etl工具在那跑个几天,甚至是一个月。磁盘估计要接受很大的考验,不过我这样做主要是确保了数据的正确性。
互联网服务 · 2010-10-21
浏览711

回答者

luxiao1223
软件开发工程师 aia
擅长领域: 大数据商业智能
评论66

luxiao1223 最近回答过的问题

回答状态

  • 发布时间:2010-10-21
  • 关注会员:0 人
  • 回答浏览:711
  • X社区推广