[ https://issues.apache.org/jira/browse/CASSANDRA-2398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stu Hood updated CASSANDRA-2398: -------------------------------- Attachment: example.diff Attaching an example of noop compression. The general idea is that AbstractType would implement LZO/LZMA by default, and subclasses could override in the future to add actual type specificity. The versioning in this example is MessagingService.version_, although we should discuss whether that is the right one. > 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 > Reporter: Stu Hood > Labels: compression > Attachments: example.diff > > > 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, Iterator<ByteBuffer> from, int count, > DataOutput to) throws IOException > public void decompress(int version, DataInput from, List<ByteBuffer> to) > throws IOException > {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira