That is correct, we are doing heavy delete-insert. We have been debating doing 
update instead of delete-insert. But conversations with some engineers indicate 
that behind the scenes an update is a delete-insert and will still create 
tombstones. Is there any way we can avoid tombstones (other than 
re-architecting the application) on heavy update (or delete –insert) workload.
————————————————————————————————————
[cid:FB14A4F6-B834-469B-BE39-BD9E89CDE0A9]
Venky Kandaswamy
@WalmartLabs
925-200-7124


From: Jonathan Haddad <j...@jonhaddad.com<mailto:j...@jonhaddad.com>>
Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
<user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Date: Monday, July 6, 2015 at 5:38 PM
To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" 
<user@cassandra.apache.org<mailto:user@cassandra.apache.org>>
Subject: Re: Question on 'Average tombstones per slice' when running cfstats

Wouldn't it suggest a delete heavy workload, rather than update?

On Mon, Jul 6, 2015 at 5:21 PM Robert Coli 
<rc...@eventbrite.com<mailto:rc...@eventbrite.com>> wrote:
On Mon, Jul 6, 2015 at 4:19 PM, Venkatesh Kandaswamy 
<ve...@walmartlabs.com<mailto:ve...@walmartlabs.com>> wrote:
    I cannot find documentation on the last two parameters given by cfstats 
below. It looks like most examples show 0 for these metrics, but our table has 
large numbers. What do these mean?
Average live cells per slice (last five minutes): 2.0
Average tombstones per slice (last five minutes): 60.0

They mean what they say they mean?

For each "slice" (which is a weird legacy thriftism you should be able to parse 
as "request" in this context) there was an average of 2 un-masked ("live") 
cells read and 60 cells which were masked ("tombstones").

This is a pretty bad ratio, and suggests that your design does UPDATE-like 
operations, which are not being merged fast enough by compaction to avoid you 
reading past them.

=Rob


Reply via email to