Jsondra has turned from a quick hack, into something I'm going to invest some time into and get right. One of the things I'm looking at is that Jsondra could potentially be used as a way to optimize reads, by acting as a cache as well. Basically, the requirement at this point would need to be that Jsondra be the only way applications talk to Cassandra. Something along the lines of
read request = check memory cache, if it exists return, else query Cassandra, if it exists cache and return, else return does not exist
write request = update cached item or create new one, write to Cassandra
Jsondra could be clustered by load balancing and using memcached for the cache at this point.
The restriction being that if anything writes to Cassandra, there's no way to update the cache (unless you have that application interact with memcached as well).
Before I start working on something like this, I need to ask, is it even necessary? Would it really provide a performance increase worth the added complexity and dependence on things like memcached? I recall someone at Digg gave a presentation where they found that Cassandra was fast even without implementing a memcached layer. Does anyone on the list have any suggestions/comments about this idea?