li
  当前位置:主页 > 性能优化 > 文章内容
li
Oracle缓存连接——Timesten体系结构
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:13  

文档在这章介绍了Cache Connect to Oracle的概念,这章的内容也是目前我最感兴趣的。


Timesten中可以建立Oracle数据的cache groupCache group可以缓存Oracle中的一个表或一系列相关表。可以缓存表中的所有的数据,也可以选择表中个别的行或列。

Cache Connect支持下列属性:

可以读、写Cache groups中的对象;

Cache group可以自动或者手动进行刷新;

Cache group对象的修改可以自动或手动发送到Oracle数据库。

Timestencache groupcache Oracle的表称为基表。TimestenOracle数据管理器处理cache group的所有的同步操作。而Timesten中的cache agent进程,处理cache group的异步操作。

Cache group的装载和修改:

Oracle中的数据最初装载到Timesten中,生成Cache group。装载完成后,缓存的数据可以在Timesten数据库中修改,也可以在Oracle数据库中修改。Cache Connect可以自动将修改传播到Oracle数据库,同样,可以自动的从Oracle数据库中刷新到Cache gorup

OracleTimesten的修改(刷新):

Timesten支持三类刷新方式:完全刷新、增量刷新和手工刷新。

这里可以看出TimestenOracle之间没有好的方法进行无缝连接。对于完全刷新,个人感觉肯定是不可取的,尤其是大数据量的情况,而且,这种方式的效率也很低下。增量刷新显然是最合适的,但是根据文档的描述,配置增量刷新,居然需要在Oracle数据库端建立触发器。无论从性能上讲还是从部署复杂程度上说,都对这种触发器方式的增量持怀疑态度。而对于所谓的第三种方式,感觉只不过是刷新由自动变为手工方式,个人感觉刷新方式应该仍然是完全或增量其中的一种。

TimestenOracle的修改(传播):

传播包括两种方式,即PROPAGATEFLUSH

对于PROPAGATE可以指定下面三种方式:

创建用户管理的CACHE GROUP时指定PROPAGATE语句;

www.ixdba.net


创建同步传播CACHE GROUP

创建异步传播CACHE GROUP

而对于FLUSH,则需要创建FLUSH CACHE GROUP,且不能指定PROPAGATE选项。

个人感觉PROPAGATEFLUSH的最大区别就是PROPAGATE是自动完成,而FLUSH需要手工进行。但是FLUSH不会将DELETE操作传播到Oracle的规则,很是使人疑惑。

PASSTHROUGH特性:

简单的说PASSTHROUGH特性就是将Timesten接收到的SQL语句直接传回到Oracle,在Oracle端执行。可以将一些包含Timesten不支持的语法的SQL或者包含了Timesten没有Cache的表的SQL发送到Oracle执行。个人感觉PASSGHROUGH功能还是相当方便的,这样可以极大的减少了程序从Oracle移植到Timesten的成本。

总的来说,就是Timesten的刷新机制还要很多疑问,需要具体的测试才能对刷新机制有一个更清晰的了解。Timesten还有一篇文档专门描述Cache Connect to Oracle,希望在那里可以找到一些更为有价值的东西。

这一章介绍了两种Cache group:系统管理Cache group和用户管理Cache group

感觉用户管理的Cache group的可定制功能更强一些。包括Cache group的包含的对象、Cache Instances的选择,Cache装载技术的选择以及Cache过期的算法都可以进行设置。而系统管理的Cache group功能相对比较简单,提供了READONLYWRITEGHROUGH两种基表的Cache group设置。

最后文档介绍了Cache group的复制。值得注意的是,通过程序对Cache group的修改是会传播到Oracle中,而通过复制手段对Cache group的修改不会传播到Oracle中。

总体来说,这篇关于Cache Connect to Oracle的文档还算比较详细,但是没有包含我比较感兴趣的冲突解决方案方面的内容,希望Timesten那篇专门的文档中有这方面的介绍。




  上一篇: Oracle ACE   下一篇: 传输表空间
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·Oracle ACE
·使用CRONTAB调用shell脚本执行EX...
·表空间、数据文件和控制文件——...
·Oracle基本数据类型存储格式浅析...
·Redhat AS4 for x86_64上安装Ora...
·Oracle的在线重定义表功能
·Redhat AS4上安装64位Oracle9204
·RAC概念
·Oracle基本数据类型存储格式浅析...
·增加Distinct后查询效率反而提高...
·传输表空间
·物化视图复制快速刷新的限制(一...
·网络问题或客户端异常可能导致数...
·LOG也是关键字
·KEEP池的CACHE特点(一)
·安装ORACLE ENTERPRISE LINUX 5
·Timesten系统剖析——Timesten体...
·将任意表数据导出为CSV文件的过程
·全文索引性能分析(一)
·备份之裸设备备份——unix系统
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接