TimesTen缓存组与触发器
Posted dingdingfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TimesTen缓存组与触发器相关的知识,希望对你有一定的参考价值。
TimesTen只读缓存组是通过在基础表上添加触发器实现的,变化行的唯一标识(主键或唯一索引)会记录在Change Table中,然后TimesTen定期读取Change Table,再将变化同步到缓存表。
那么问题来了,这个会增加Oracle的开销吗?开销会很大吗?
首先,开销肯定是有的。这要分两种情况。
1)对于查询,由于负载转移到了TimesTen,因此总的来说,查询性能提升了,Oracle的负担小了。
2)对于DML,由于触发器的原因,会增加很小的开销。
看一个实际的例子,Oracle Data Caching: An eBay Perspective [CON4759],这个eBay案例用的也是只读缓存组,每天140B的调用,也就是1400亿的调用,用的也挺好。所以,可以认为这个开销可以忽略。
另一个问题是对运维有何影响?
如果基础表结构发生变化,如修改了列定义,增加了列。如果这些列没有被缓存,那么没有任何影响。
如果这些列包含在缓存组定义中,那么在修改表定义前,需要删除缓存组,修改表定义后再重建缓存组。
如此而已。
以上是关于TimesTen缓存组与触发器的主要内容,如果未能解决你的问题,请参考以下文章
TimesTen 数据库复制学习:8. 管理Active Standby Pair(带缓存组)
TimesTen 应用层数据库缓存学习:19. 理解AWT缓存组的三种模式
TimesTen 数据库复制学习:16. 一个缓存组,复制,客户端自动切换的串烧实验
TimesTen 应用层数据库缓存学习:17. 全局数据缓存(cache grid)的高可用性