查看: 15846|回复: 15

kettle增量更新问题

[复制链接]
论坛徽章:
3
生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532012新春纪念徽章
日期:2012-01-04 11:50:44
跳转到指定楼层
1#
发表于 2012-4-9 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本来想用oracle的物化视图来完成生产库和数据仓库的数据同步,但是,有网友说“物化视图的维护麻烦,日志太大的时候速度会降下来。另外真要做一个edw系统,还是按正规的etl流程来设计”,我想想他这么说有道理,于是我想用kettle来实现增量更新问题,但是,kettle的增量更新(有新增、修改和删除的这种情况)要么在生产库增加时间戳和标志字段,要么在生产库建触发器,这都对生产库有修改的工作量,我嫌太繁琐,kettle的增量更新有更简便可行的办法吗?
论坛徽章:
3
生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532012新春纪念徽章
日期:2012-01-04 11:50:44
2#
 楼主| 发表于 2012-4-9 09:04 | 只看该作者
关于oracle的物化视图不能作为etl的原因,我把同行的意见整理如下:
1.innovate511认为:
如果你ETL没那么复杂,可以试试,待复杂起来,你自然会放弃。

DW中的物化视图、视图,一定是某种过渡目的而产生,它最大的好处是逻辑ETL,但物理却没有或者需要刷新,好处是它作为数据源,可以减轻变数大的ETL变化开发量,而如果你当成一个ETL本身,那么与整体ETL的调度融合,将是障碍。
2.yibu认为:
可以用物化视图,因为物化视图可以增量更新,晚上更新,白天使用的时候可以不影响生产库。不过物化视图的维护麻烦,日志太大的时候速度会降下来。
另外真要做一个edw系统,还是按正规的etl流程来设计
我认为他们说的很有道理,那么,不用物化视图,使用kettle,怎么很好的解决增量更新的问题呢?

使用道具 举报

回复
论坛徽章:
0
3#
发表于 2012-4-9 10:12 | 只看该作者
帮顶

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
114
SQL数据库编程大师
日期:2013-12-06 13:59:43萤石
日期:2013-12-06 15:50:21ITPUB元老
日期:2007-09-25 17:05:532011数据库大会纪念章
日期:2015-04-23 10:33:192010数据库技术大会纪念徽章
日期:2015-04-23 10:33:19喜羊羊
日期:2015-03-24 13:02:282015年新春福章
日期:2015-03-06 11:57:31喜羊羊
日期:2015-03-04 14:49:39马上有房
日期:2015-01-22 17:30:45马上加薪
日期:2014-12-25 08:48:51
4#
发表于 2012-4-9 10:33 | 只看该作者
1,可以说,如果能用物化视图来弄,物化视图刷新是最简单最有效的方法,它一般只是做最初层的一个同表增量刷新,ETL复杂可以在此这后做,维护可以说一点都不麻烦,可以说,有这个条件或允许这样使用,成本会最底,最简单,构建也最容易。就算ORACLE自己也推荐使用这个,当时,如果他们要推工具时,那是另一回事, 别老听别人怎么说,别人有没有实际的案例,任何事情都有人说好坏的,关键是自己要清楚自己的环境条件及自身技能,简单实用为好。
2,kettle只是一个工具,它只是一个把你思想来实现的一种方法,现在你自己都没有处理这一问题的思想,你叫一个工具,它又如何实现的了。
凡是涉及增量更新,除非能用到一些涉及底层日志的工具,如goldengate,否则,其它一些什么etl工具,都只是一个工具,就是你怎么使用它,它要干什么,都只是听你的。

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532012新春纪念徽章
日期:2012-01-04 11:50:44
5#
 楼主| 发表于 2012-4-9 22:26 | 只看该作者
piliskys 发表于 2012-4-9 10:33
1,可以说,如果能用物化视图来弄,物化视图刷新是最简单最有效的方法,它一般只是做最初层的一个同表增量刷 ...

1.用物化视图在oracle和oracle之间增量同步数据确实是比较方便的,这只作为把原始的业务数据原封不动的搬过来,我看是很合适的,我觉得数据仓库里的原始数据再形成事实表时,这个过程再用物化视图就不合适了,当然也可以用。
2.看来用kettle还是要修改生成环境,不管是增加触发器,还是增加时间戳,没办法,增加刷新的手段就那几个,不使用数据库产品本身的功能的话,就得麻烦一点,这个是我懒了。
综合来衡量,如果生产环境和数据仓库都是oracle的话,用物化视图增量同步最原始的明细数据的话,我看还是方便合适的。我听同事说,kettle在做大数据量同步时,常内存溢出,不知道怎么回事。

使用道具 举报

回复
论坛徽章:
3
2012新春纪念徽章
日期:2012-01-04 11:50:44鲜花蛋
日期:2012-01-31 22:23:392013年新春福章
日期:2013-02-25 14:51:24
6#
发表于 2012-4-10 15:18 | 只看该作者
KETTLE在做增量同步时,确定需要在底层数据库设置时间戳的,informatic倒是可以在工具上设置时间戳

使用道具 举报

回复
论坛徽章:
1
复活蛋
日期:2012-04-11 12:58:13
7#
发表于 2012-4-11 13:02 | 只看该作者
kettle 确实是好东西,用了1年多,感觉还有很多地方可以挖

使用道具 举报

回复
论坛徽章:
0
8#
发表于 2012-4-21 17:26 | 只看该作者
我觉得做BI最重要的是思路和综合运用知识的能力,对于楼主的问题应该先分析需求
第一:对于同步的要求如何:响应时间要求、数据延迟时间要求、生产数据库性能要求,数据一致性要求等等
第二:你现在知道的有那些方法,对比各个方法对于你当前环境的优劣。
因此,如果你们对数据的实时性要求非常高,那么物化视图是非常好的解决方案,因为ETL工具要做到实时同步很难实现,相对与物化视同这种基于数据库日志。
如果对数据库实时性要求不高,2种方案均可,这是要考虑的是效率,数据库负载情况,以及维护的便利性等。
以上只是个大概思路,etl方法很多,也没有最好的办法,只有自己根据情况判断。

使用道具 举报

回复
招聘 : 多个岗位招聘
论坛徽章:
33
2010广州亚运会纪念徽章:跆拳道
日期:2010-11-22 15:42:39灰彻蛋
日期:2012-05-16 13:17:56参与WIN7挑战赛纪念
日期:2012-05-24 10:37:35茶鸡蛋
日期:2012-05-28 17:27:32灰彻蛋
日期:2012-06-13 18:48:14双黄蛋
日期:2012-06-14 14:32:02奥运会纪念徽章:帆船
日期:2012-07-10 09:43:29奥运会纪念徽章:足球
日期:2012-08-17 09:17:32奥运会纪念徽章:帆船
日期:2012-07-26 15:46:49奥运会纪念徽章:赛艇
日期:2012-08-20 16:23:58
9#
发表于 2012-6-20 11:05 | 只看该作者
貌似还是没有直接回答

kettle的增量更新,除了时间戳,序列号同步方式外
还有其他方式么?

使用道具 举报

回复
论坛徽章:
0
10#
发表于 2012-6-25 15:22 | 只看该作者
认为时间戳的方式是最简单明了的

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表