If you don't want tombstones, don't generate them ;)

More seriously, tombstones are generated when:
- doing a DELETE
- TTL expiration
- set a column to NULL

However tombstones are an issue only if for the same value, you have many
tombstones (i.e you keep overwriting the same values with datas and
tombstones). Having 1 tombstone for 1 value is not an issue, having 1000
tombstone for 1 value is a problem. Do really your use case overwrite data
with DELETE or  NULL ?

So that's why what you may want to know is how many tombstones you have on
average when reading a value. This is available in:
- nodetool cfstats ks.cf : Average tombstones per slice/Maximum tombstones
per slice
- JMX :
org.apache.cassandra.metrics:keyspace=<ks>,name=TombstoneScannedHistogram,scope=<cf>,type=ColumnFamily
Max/Count/99thPercentile/Mean


2016-11-15 10:05 GMT+01:00 Lu, Boying <boying...@dell.com>:

> Thanks a lot for your help.
>
>
>
> We are using STCS strategy and not using TTL
>
>
>
> Is there any API that we can use to query the current number of tombstones
> in a CF?
>
>
>
>
>
>
>
> *From:* Anuj Wadehra [mailto:anujw_2...@yahoo.co.in]
> *Sent:* 2016年11月14日 22:20
> *To:* user@cassandra.apache.org
> *Subject:* Re: Some questions to updating and tombstone
>
>
>
> Hi Boying,
>
>
>
> I agree with Vladimir.If compaction is not compacting the two sstables
> with updates soon, disk space issues will be wasted. For example, if the
> updates are not closer in time, first update might be in a big table by the
> time second update is being written in a new small table. STCS wont compact
> them together soon.
>
>
>
> Just adding column values with new timestamp shouldnt create any
> tombstones. But if data is not merged for long, disk space issues may
> arise. If you are STCS,just  yo get an idea about the extent of the problem
> you can run major compaction and see the amount of disk space created with
> that( dont do this in production as major compaction has its own side
> effects).
>
>
>
> Which compaction strategy are you using?
>
> Are these updates done with TTL?
>
>
>
> Thanks
> Anuj
>
>
>
> On Mon, 14 Nov, 2016 at 1:54 PM, Vladimir Yudovin
>
> <vla...@winguzone.com> wrote:
>
> Hi Boying,
>
>
>
> UPDATE write new value with new time stamp. Old value is not tombstone,
> but remains until compaction. gc_grace_period is not related to this.
>
>
>
> Best regards, Vladimir Yudovin,
>
>
> *Winguzone <https://winguzone.com?from=list> - Hosted Cloud Cassandra
> Launch your cluster in minutes.*
>
>
>
>
>
> ---- On Mon, 14 Nov 2016 03:02:21 -0500*Lu, Boying <boying...@dell.com
> <boying...@dell.com>>* wrote ----
>
>
>
> Hi, All,
>
>
>
> Will the Cassandra generates a new tombstone when updating a column by
> using CQL update statement?
>
>
>
> And is there any way to get the number of tombstones of a column family
> since we want to void generating
>
> too many tombstones within gc_grace_period?
>
>
>
> Thanks
>
>
>
> Boying
>
>
>
>


-- 
Close the World, Open the Net
http://www.linux-wizard.net

Reply via email to