cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kurt greaves <k...@instaclustr.com>
Subject Re: Questions on time series use case, tombstones, TWCS
Date Wed, 09 Aug 2017 12:23:34 GMT
>
> With STCS, estimated droppable tombstones being always 0.0 (thus also no
> automatic single SSTable compaction may happen): Is this a matter of not
> writing with TTL? If yes, would enabling TTL with STCS improve the disk
> reclaim situation, cause then single SSTAble compactions will kick in?

Estimated droppable tombstones will increase if you have tombstones in an
SSTable. It is just an estimate however, but if you are deleting in any way
(TTL or manual) it should increase. Enabling TTL would increase disk
reclaim, but only because you would be deleting more data. Doing so only
makes sense if you actually can TTL your data. Probably don't do that
without fully understanding all the potential impacts to your data. In fact
it's not a great idea with STCS anyway.
Also, single SSTable compactions aren't very good for removing tombstones
anyway so probably shouldn't be relied on. To get rid of a tombstone the
tombstone needs to be compacted with every other SSTable that contains data
the tombstone covers.

What is the semantic of “default_time_to_live” at table level? From:
> http://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html :
> “After the default_time_to_live TTL value has been exceed, Cassandra
> tombstones the entire table”. What does “entire table” mean? Hopefully / I
> guess I don’t end up with an empty table every X past TTLs?

I didn't read that page but Cassandra doesn't tombstone the entire table.
If the default TTL is set on the table, then whenever any data inserted
into the table surpasses the TTL it is becomes expired (essentially a
tombstone). You won't end up with an empty table unless you stop inserting
data.

I know, changing compaction is a matter of executing ALTER TABLE (or
> temporary via JMX for a single node), but as we have legacy data being
> written without TTL, I wonder if we may end up in stuck SSTable again

Yes, if you have legacy data you should make sure you delete it before you
change compaction strategy to TWCS. Otherwise you may have SSTables with
live data that never get deleted.

Short on time, sorry I didn't answer all your questions!
​

Mime
View raw message