Howdy all,
Our use of cassandra unfortunately makes use of lots of deletes. Yes, I
know that C* is not well suited to this kind of workload, but that's where
we are, and before I go looking for an entirely new data layer I would
rather explore whether C* could be tuned to work well for us.
No, deletes are always written as a tombstone no matter the consistency.
This is because data at rest is written to sstables which are immutable
once written. The tombstone marks that a record in another sstable is now
deleted, and so a read of that value should be treated as if it doesn't
exist.
Tombstones have to be created. The SSTables are immutable, so the data cannot
be deleted. Therefore, a tombstone is required. The value you deleted will be
physically removed during compaction.
My workload sounds similar to yours in some respects, and I was able to get C*
working for me. I
Ah, makes sense. Thanks for the explanations!
- Ian
On Tue, Dec 16, 2014 at 10:53 AM, Robert Wille rwi...@fold3.com wrote:
Tombstones have to be created. The SSTables are immutable, so the data
cannot be deleted. Therefore, a tombstone is required. The value you
deleted will be physically
When you say “no need for tombstones”, did you actually read that somewhere or
were you just speculating? If the former, where exactly?
-- Jack Krupansky
From: Ian Rose
Sent: Tuesday, December 16, 2014 10:22 AM
To: user
Subject: does consistency=ALL for deletes obviate the need for
I was speculating. From the responses above, it now appears to me that
tombstones serve (at least) 2 distinct roles:
1. When reading within a single cassandra instance, they mark a new version
of a value (that value being deleted). Without this, the prior version
would be the most recent and so