cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-11206) Support large partitions on the 3.0 sstable format
Date Mon, 22 Feb 2016 17:15:18 GMT
Jonathan Ellis created CASSANDRA-11206:
------------------------------------------

             Summary: Support large partitions on the 3.0 sstable format
                 Key: CASSANDRA-11206
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11206
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Jonathan Ellis
             Fix For: 3.x


Cassandra saves a sample of IndexInfo objects that store the offset within each partition
of every 64KB (by default) range of rows.  To find a row, we binary search this sample, then
scan the partition of the appropriate range.

The problem is that this scales poorly as partitions grow: on a cache miss, we deserialize
the entire set of IndexInfo, which both creates a lot of GC overhead (as noted in CASSANDRA-9754)
but is also non-negligible i/o activity (relative to reading a single 64KB row range) as partitions
get truly large.

We introduced an "offset map" in CASSANDRA-10314 that allows us to perform the IndexInfo bsearch
while only deserializing IndexInfo that we need to compare against, i.e. log(N) deserializations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message