[ 
https://issues.apache.org/jira/browse/CASSANDRA-5863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14192869#comment-14192869
 ] 

Jonathan Ellis commented on CASSANDRA-5863:
-------------------------------------------

bq. The Tricky part is tracking the "hotness" of these chunks. It needs to 
track the number of times the chunk was decompressed in the last X seconds. 

Backing up a bit -- why not just take a LRU approach?  When we uncompress a 
chunk, we cache it.  Add metrics so users can monitor cache churn and disable 
if it's not useful.  (But since our chunks are fairly large, and thus 
decompressing is relatively expensive, I think we could tolerate relatively 
high churn.)

> In process (uncompressed) page cache
> ------------------------------------
>
>                 Key: CASSANDRA-5863
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5863
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: T Jake Luciani
>              Labels: performance
>             Fix For: 3.0
>
>
> Currently, for every read, the CRAR reads each compressed chunk into a 
> byte[], sends it to ICompressor, gets back another byte[] and verifies a 
> checksum.  
> This process is where the majority of time is spent in a read request.  
> Before compression, we would have zero-copy of data and could respond 
> directly from the page-cache.
> It would be useful to have some kind of Chunk cache that could speed up this 
> process for hot data, possibly off heap.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to