是否存在可以使用JDBC(普通SQL)查询的产品,它查看查询中的所有表是否都在CACHED表中,并使用缓存,否则回退到后端数据库
我知道两个产品:Oracle内存数据库(IMDB)缓存和VMware SQLFire。
我不熟悉他们中的任何一个,所以我想知道是否有可能查询非缓存表上的IMDB缓存,所以它回落到底层数据库?
是否有其他产品支持此功能?
使用11g可以使用JDBC OCI客户端结果缓存:
客户端结果缓存功能启用SQL查询的客户端缓存客户端内存中的结果集。这样,OCI应用程序就可以使用利用客户端结果缓存来改进客户端内存重复查询的响应时间。
注意CACHE子句的意思和它的名字不一样:
对于频繁访问的数据,该子句表示从该表中检索到的块被放置在最近使用过的位置缓冲区缓存中最近最少使用(LRU)列表的结束执行全表扫描。此属性对于small非常有用查找表。
Oracle In Memory Database (IMDB) Cache不支持您所询问的功能
如果您使用的SQL语句引用IMDB缓存表,则将使用缓存。如果您使用的SQL语句涉及非缓存表,则将访问Oracle数据库。
IMDB Cache使用SQL或PLSQL对Oracle数据库进行读和/或写缓存。您可以使用JDBC[或ODBC, OCI, ODP]。. Net, Node.js, Python, Go, Ruby等]来与Oracle数据库或IMDB缓存进行通信。IMDB Cache还可以使用对象关系映射技术,如Hibernate[例如JPA]进行数据访问。
IMDB缓存使用Oracle TimesTen内存数据库,现在被称为'Oracle应用层数据库缓存'。
我是Oracle TimesTen的产品经理。