[ https://issues.apache.org/jira/browse/CASSANDRA-9779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729356#comment-15729356 ]
Jeff Jirsa commented on CASSANDRA-9779: --------------------------------------- Old stale ticket, but fwiw re: [~slebresne] 's comment on dtcs (/twcs) - This ticket would enable modifying {{CompactionController.getFullyExpiredSSTables()}} to be more closely aligned with what people expect it to do, eliminating the need for {{sstableexpiredblockers}} and the like. Performance wise, its probably a minor gain, but operationally it's probably a big net gain in terms of least-surprise. > Append-only optimization > ------------------------ > > Key: CASSANDRA-9779 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9779 > Project: Cassandra > Issue Type: New Feature > Components: CQL > Reporter: Jonathan Ellis > Fix For: 3.x > > > Many common workloads are append-only: that is, they insert new rows but do > not update existing ones. However, Cassandra has no way to infer this and so > it must treat all tables as if they may experience updates in the future. > If we added syntax to tell Cassandra about this ({{WITH INSERTS ONLY}} for > instance) then we could do a number of optimizations: > - Compaction would only need to worry about defragmenting partitions, not > rows. We could default to DTCS or similar. > - CollationController could stop scanning sstables as soon as it finds a > matching row > - Most importantly, materialized views wouldn't need to worry about deleting > prior values, which would eliminate the majority of the MV overhead -- This message was sent by Atlassian JIRA (v6.3.4#6332)