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

Karthick Sankarachary commented on HBASE-3732:
----------------------------------------------

Oh, I see. I like the idea of keeping the value in a compressed form until the 
client tries to "get" it. Perhaps we can compress the value depending on 
whether it's fatter than a certain threshold? Also, given that the value 
typically accounts for most of the {{KeyValue}}'s size, do we need to call 
{{HFile#getCompressingStream}} if the value is already compressed up front?

> New configuration option for client-side compression
> ----------------------------------------------------
>
>                 Key: HBASE-3732
>                 URL: https://issues.apache.org/jira/browse/HBASE-3732
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Jean-Daniel Cryans
>             Fix For: 0.92.0
>
>         Attachments: compressed_streams.jar
>
>
> We have a case here where we have to store very fat cells (arrays of 
> integers) which can amount into the hundreds of KBs that we need to read 
> often, concurrently, and possibly keep in cache. Compressing the values on 
> the client using java.util.zip's Deflater before sending them to HBase proved 
> to be in our case almost an order of magnitude faster.
> There reasons are evident: less data sent to hbase, memstore contains 
> compressed data, block cache contains compressed data too, etc.
> I was thinking that it might be something useful to add to a family schema, 
> so that Put/Result do the conversion for you. The actual compression algo 
> should also be configurable.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to