[
https://issues.apache.org/jira/browse/CASSANDRA-18673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17744687#comment-17744687
]
Mike Adamson commented on CASSANDRA-18673:
------------------------------------------
This patch introduces the following changes:
* The token is no longer included in the primary key data stored in the sorted
terms and primary key trie. This allows the sorted terms and the primary key
trie to correctly prefix compress the primary keys. This was not possible with
the token at the start of the stored data.
* To cater for the primary keys no longer being in lexicographic order, the
primary key trie is now segmented to allow the keys to be sorted in memory
first.
* The NamedMemoryLimiter has been renamed the SegmentMemoryLimiter and
simplified in its usage. This allows it to more easily be used by the
SegmentBuilder for per-column indexes and by the primary key trie.
* The LongArray can now search for rowIds by token making it bidirectional.
* The primary key trie is only written for wide tables. If the table has no
clustering then the rowId can be read from the token LongArray making the trie
redundant.
> Reduce size of per-SSTable index components
> -------------------------------------------
>
> Key: CASSANDRA-18673
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18673
> Project: Cassandra
> Issue Type: Improvement
> Components: Feature/SAI
> Reporter: Mike Adamson
> Assignee: Mike Adamson
> Priority: Urgent
>
> The current per-SSTable index components are large because the primary keys
> that are stored in them include the token as part of the byte comparable. The
> byte comparable puts the token first meaning that we get very little prefix
> compression from either the trie or the sorted terms store.
> We can fix this by removing the token from the primary key serialization.
> This would allow us to get the prefix compression from the trie and the
> sorted terms store.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]