[ 
https://issues.apache.org/jira/browse/CASSANDRA-1283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Kluesing updated CASSANDRA-1283:
---------------------------------------

    Attachment: trunk-pluggableCache.txt

The CLHM has some draw backs, mainly high storage overhead. Letting the OS 
manage the cache is better on the overhead, but operationally not workable. 
When compaction kicks in, you have no control over which data the OS will page 
out and no ability to mlock. This leads to unpredictable disk activity, and 
unpredictable request latency. Using something like memcached let us get 2x 
better storage efficiency from the row cache, which translates into a big cost 
savings for our cluster, while being more explicit about what's in cache. This 
patch makes the row cache pluggable and allows different cache implementations 
to be used for different column families.
        
-Makes the row cache a generic and pluggable interface
-Provides wrappers for using memcached or CLHM as the row cache provider
-Allows row cache provider to be set on a per CF basis
-Extends the latency tracker to keep some finer grained throughput numbers
        
I forward ported this from 0.6.2 to trunk. It probably has some bugs against 
trunk, we have it in production as a part of our 0.6.2 setup. If this intrigues 
people I can put more effort into checking for bugs against trunk, but all unit 
tests pass.
        
And clearly it's not to everyone's taste to call memcache from java. In our 
tests it was the best for our workload and the cost savings large . You could 
do ehcache instead or any other cache. To use this particular memcached wrapper 
you need http://code.google.com/p/spymemcached/ 


> Make the row cache pluggable 
> -----------------------------
>
>                 Key: CASSANDRA-1283
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1283
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Daniel Kluesing
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: trunk-pluggableCache.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to