Benedict created CASSANDRA-6810:
-----------------------------------

             Summary: SSTable and Index Layout Improvements/Modifications
                 Key: CASSANDRA-6810
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6810
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Benedict
             Fix For: 3.0


Right now SSTables are somewhat inefficient in their storage of composite keys. 
I propose resolving this by merging (some of) the index functionality with the 
storage of keys, through introducing a composite btree/trie structure (e.g. 
string b-tree) to represent the key, and for this structure to index into the 
cell position in the file. This structure can then serve as both an efficient 
index and the key data itself. 

If we then offer the option of (possibly automatically decided for you at 
flush) storing this either packed into the same file directly prepending the 
data, or in a separate key file (with small pages), with an uncompressed page 
cache we can get good performance for wide rows by storing it separately and 
relying on the page cache for CQL row index lookups, whereas storing it inline 
will allow very efficient lookups of small rows where index lookups aren't 
particularly helpful. This removal of extra data from the index file, however, 
will allow CASSANDRA-6709 to massively scale up the efficiency of the key 
cache, whilst also reducing the total disk footprint of sstables and (most 
likely) offering better indexing capability in similar space



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to