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

Jean-Marc Spaggiari commented on HBASE-20045:
---------------------------------------------

Ok. Just ran a small test.

PE sequentialWrites 10000 rows. Flush ->`1500 bloks in offheap

PE sequentialWrites 10000 rows. Flush ->` +1500 bloks in offheap

PE sequentialWrites 10000 rows. Flush ->`+1500 bloks in offheap

At that point I have about 4700 blocks in offheap.

major_compact TestTable -> 0 blocks in memory. So on compactions, block are not 
loaded back into memory. Which reduces a lot the benefit for caching on 
writes/flushs.

> When running compaction, cache recent blocks.
> ---------------------------------------------
>
>                 Key: HBASE-20045
>                 URL: https://issues.apache.org/jira/browse/HBASE-20045
>             Project: HBase
>          Issue Type: New Feature
>          Components: BlockCache, Compaction
>    Affects Versions: 2.0.0-beta-1
>            Reporter: Jean-Marc Spaggiari
>            Priority: Major
>
> HBase already allows to cache blocks on flush. This is very useful for 
> usecases where most queries are against recent data. However, as soon as 
> their is a compaction, those blocks are evicted. It will be interesting to 
> have a table level parameter to say "When compacting, cache blocks less than 
> 24 hours old". That way, when running compaction, all blocks where some data 
> are less than 24h hold, will be automatically cached. 
>  
> Very useful for table design where there is TS in the key but a long history 
> (Like a year of sensor data).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to