SQL支持缓存并回退到数据库

时间:2011-12-28 23:41:14

标签: oracle caching in-memory-database timesten sqlfire

是否有任何产品可以使用JDBC(普通SQL)进行查询,它会查看查询中的所有表是否都在CACHED表中,并使用缓存,否则回退到后端数据库。

我了解两种产品:Oracle内存数据库(IMDB)缓存和VMware SQLFire。

我不熟悉它们,所以我想知道是否有可能在非缓存表上查询IMDB缓存,因此它会回退到底层数据库?

是否有其他产品支持此功能?

2 个答案:

答案 0 :(得分:0)

使用11g,您可以使用JDBC OCI Client Result Cache

  

客户端结果缓存功能支持SQL查询的客户端缓存   客户端内存中的结果集。通过这种方式,OCI应用程序可以使用   客户端内存利用客户端结果缓存来改进   重复查询的响应时间。

请注意,CACHE子句并不代表名称所暗示的内容:

  

对于经常访问的数据,此子句表示   为此表检索的块放在最近使用的块中   一个缓冲区缓存中最近最少使用(LRU)列表的结尾   执行全表扫描。此属性对小型有用   查找表。

答案 1 :(得分:0)

Oracle内存数据库(IMDB)高速缓存确实支持您所要求的功能。

如果您使用的SQL语句引用了IMDB缓存表,则将使用该缓存。如果您使用的SQL语句引用了非缓存表,则将访问Oracle数据库。

IMDB缓存使用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的产品经理。