You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2013/12/03 21:48:35 UTC

[jira] [Created] (CASSANDRA-6441) Explore merging memtables directly with L1

Jonathan Ellis created CASSANDRA-6441:
-----------------------------------------

             Summary: Explore merging memtables directly with L1
                 Key: CASSANDRA-6441
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6441
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Jonathan Ellis
            Priority: Minor


Currently, memtables flush to L0 and are then compacted with L1, so you automatically have 100% write amplification for unique cells right off the bat.

http://dl.acm.org/citation.cfm?id=2213862 suggests splitting the memtable into pieces corresponding to the ranges of the sstables in L1 and turning the flush + compact into a single write -- that is, we'd "compact" the data in the L1 sstable with the corresponding data in the memtable.

This would add some complexity around blocking memtable sections until the corresponding L1 piece is no longer involved in its own compaction with L2, and probably a "panic dump" to the old L0 behavior if we run low on memory.  But in theory it sounds like a promising optimization.



--
This message was sent by Atlassian JIRA
(v6.1#6144)