On 29 Sep 2009, at 10:19, Mircea Markus wrote: > > On Sep 29, 2009, at 12:08 PM, Manik Surtani wrote: > >> >> On 29 Sep 2009, at 09:57, Mircea Markus wrote: >> >>> Hi, >>> >>> Again, this is a feature from Coherence[1]. >>> >>> Basic idea is to execute a query against the cache, and hold the >>> result object. This result object will always have up to date >>> query result; this means that whenever something is modified in >>> the cache the result itself is updated. Advantage: if one performs >>> the same query very often(e.g. several times every millisecond) >>> the response will be fast and the system will not be overloaded. >> >> Is it really faster? Surely all you save is the construction of >> the various query objects, but the query itself would have to be re- >> run every time. Or does it attach a listener to the cache and >> check whether any new additions/removals should be used to update >> the result set? > this is the way it works. It is a sort of a near-cache, just that > instead of being invalidated it is updated whenever the cache is > updated. The documentation also suggests that they are using > listeners. >> I don't see how that could be much faster though. > I think it might be if the you are running *the same query* tons of > times. Basically you don't do a map-reduce on all the nodes, but > rather on every insertion (especially if the number of insertion is > relative small compared to the number of same-query-bring-run) you > updated (if necessary) the cached query result.
Hmm. It would be pretty use-case-specific. It's hard to see how this _generally_ performs better, since you need to make sure you are aware of all changes happening all over the cluster to keep this result set up to date (REPL-style scalability bottleneck!) Cheers -- Manik Surtani ma...@jboss.org Lead, Infinispan Lead, JBoss Cache http://www.infinispan.org http://www.jbosscache.org _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev