Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 32627 invoked from network); 13 Apr 2011 00:19:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 13 Apr 2011 00:19:44 -0000 Received: (qmail 55694 invoked by uid 500); 13 Apr 2011 00:19:42 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 55656 invoked by uid 500); 13 Apr 2011 00:19:42 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 55648 invoked by uid 99); 13 Apr 2011 00:19:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Apr 2011 00:19:42 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of blanquer@rightscale.com designates 209.85.214.44 as permitted sender) Received: from [209.85.214.44] (HELO mail-bw0-f44.google.com) (209.85.214.44) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Apr 2011 00:19:37 +0000 Received: by bwz13 with SMTP id 13so169429bwz.31 for ; Tue, 12 Apr 2011 17:19:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.46.27 with SMTP id h27mr1588984bkf.61.1302653955141; Tue, 12 Apr 2011 17:19:15 -0700 (PDT) Received: by 10.204.172.193 with HTTP; Tue, 12 Apr 2011 17:19:15 -0700 (PDT) In-Reply-To: References: Date: Tue, 12 Apr 2011 17:19:15 -0700 Message-ID: Subject: Re: Remove call vs. delete mutation From: Josep Blanquer To: user@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Is there anybody else that might see a problem with just using delete mutations instead of remove calls? I'm thinking about changing a Cassandra client to always use delete mutations when removing objects, that way the "delete/remove" call interface can be kept the same: 1- the "delete/remove" client call would always support all features: single-key/column, multi-column and slice range deletes. 2- it could be used in the same way regardless of embedding the calls into batch mutations or removing a single column/key I'd like to hear some more thoughts about this change not causing the Cassandra server to take a much higher CPU toll just because decoding mutations is much less optimized than straight removes or something like that...(I don't think so but...). In other words, if I do 1000 inserts or 1000 single-delete mutations, would the Cassandra server see much of a difference? Cheers, Josep M. On Mon, Apr 11, 2011 at 3:49 PM, aaron morton wrote: > AFAIK both follow the same path internally. > > Aaron > > On 12 Apr 2011, at 06:47, Josep Blanquer wrote: > >> All, >> >> From a thrift client perspective using Cassandra, there are currently >> 2 options for deleting keys/columns/subcolumns: >> >> 1- One can use the "remove" call: which only takes a column path so >> you can only delete 'one thing' at a time (an entire key, an entire >> supercolumn, a column or a subcolumn) >> 2- A delete mutation: which is more flexible as it allows to delete a >> list of columns an even a slice range of them within a single call. >> >> The question I have is: is there a noticeable difference in >> performance between issuing a remove call, or a mutation with a single >> delete? In other words, why would I use the remove call if it's much >> less flexible than the mutation? >> >> ...or another way to put it: is the remove call just there for >> backwards compatibility and will be superseded by the delete mutations >> in the future? >> >> Cheers, >> >> Josep M. > >