[
https://issues.apache.org/jira/browse/CASSANDRA-2398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027198#comment-13027198
]
Stu Hood commented on CASSANDRA-2398:
-------------------------------------
Planning to update the signatures to:
{code:java}
public ByteBuffer compress(int version, final List<ByteBuffer> from, ByteBuffer
to)
public void decompress(int version, ByteBuffer from, List<ByteBuffer> to)
{code}
Which would make skip a native operation, and remove a lot of copies and object
creation.
> Type specific compression
> -------------------------
>
> Key: CASSANDRA-2398
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2398
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Affects Versions: 0.8 beta 1
> Reporter: Stu Hood
> Labels: compression
> Attachments:
> 0001-CASSANDRA-2398-Add-basic-type-specific-compression-to-.txt,
> 0002-CASSANDRA-2398-LZF-for-AbstractType-base.txt
>
>
> Cassandra has a lot of locations that are ripe for type specific compression.
> A short list:
> Indexes
> * Keys compressed as BytesType, which could default to LZO/LZMA
> * Offsets (delta and varint encoding)
> * Column names added by 2319
> Data
> * Keys, columns, timestamps: see
> http://wiki.apache.org/cassandra/FileFormatDesignDoc
> A basic interface for type specific compression could be as simple as:
> {code:java}
> public void compress(int version, final List<ByteBuffer> from, DataOutput to)
> throws IOException
> public void decompress(int version, DataInput from, List<ByteBuffer> to)
> throws IOException
> public void skip(int version, DataInput from) throws IOException
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira