Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 27F8818036 for ; Sat, 18 Jul 2015 00:55:06 +0000 (UTC) Received: (qmail 85236 invoked by uid 500); 18 Jul 2015 00:55:05 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 85193 invoked by uid 500); 18 Jul 2015 00:55:05 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 85178 invoked by uid 99); 18 Jul 2015 00:55:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Jul 2015 00:55:05 +0000 Date: Sat, 18 Jul 2015 00:55:05 +0000 (UTC) From: "sankalp kohli (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CASSANDRA-9779) Append-only optimization MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-9779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14632177#comment-14632177 ] sankalp kohli commented on CASSANDRA-9779: ------------------------------------------ I think NO OVERWRITES or NO UPDATES is more easy to understand since you can overwrite the data with INSERTS :) We should also log errors if while compaction we find that data has updates. > Append-only optimization > ------------------------ > > Key: CASSANDRA-9779 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9779 > Project: Cassandra > Issue Type: New Feature > Components: API, Core > 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)