This is incorrect, there's no optimization used that references the table
level TTL setting.   The max local deletion time is stored in table
metadata.
See org.apache.cassandra.io.sstable.metadata.StatsMetadata#maxLocalDeletionTime
in the Cassandra 3.0 branch.    The default ttl is stored
here: org.apache.cassandra.schema.TableParams#defaultTimeToLive and is
never referenced during compaction.

Here's an example from a table I created without a default TTL, you can use
the sstablemetadata tool to see:

jhaddad@rustyrazorblade ~/dev/cassandra/data/data/test$
../../../tools/bin/sstablemetadata
a-7bca6b50e8a511e6869a5596edf4dd35/mc-1-big-Data.db
.....
SSTable max local deletion time: 1485980862

On Wed, Feb 1, 2017 at 6:59 AM DuyHai Doan <doanduy...@gmail.com> wrote:

> Global TTL is better than dynamic runtime TTL
>
> Why ?
>
>  Because Global TTL is a table property and Cassandra can perform
> optimization when compacting.
>
> For example if it can see than the maxTimestamp of an SSTable is older
> than the table Global TTL, the SSTable can be entirely dropped during
> compaction
>
> Using dynamic TTL at runtime, since Cassandra doesn't how and cannot track
> each individual TTL value, the previous optimization is not possible (even
> if you always use the SAME TTL for all query, Cassandra is not supposed to
> know that)
>
>
>
> On Wed, Feb 1, 2017 at 3:01 PM, Cogumelos Maravilha <
> cogumelosmaravi...@sapo.pt> wrote:
>
> Thank you all, for your answers.
>
> On 02/01/2017 01:06 PM, Carlos Rolo wrote:
>
> To reinforce Alain statement:
>
> "I would say that the unsafe part is more about using C* 3.9" this is key.
> You would be better on 3.0.x unless you need features on the 3.x series.
>
> Regards,
>
> Carlos Juzarte Rolo
> Cassandra Consultant / Datastax Certified Architect / Cassandra MVP
>
> Pythian - Love your data
>
> rolo@pythian | Twitter: @cjrolo | Skype: cjr2k3 | Linkedin:
> *linkedin.com/in/carlosjuzarterolo
> <http://linkedin.com/in/carlosjuzarterolo>*
> Mobile: +351 918 918 100 <+351%20918%20918%20100>
> www.pythian.com
>
> On Wed, Feb 1, 2017 at 8:32 AM, Alain RODRIGUEZ <arodr...@gmail.com>
> wrote:
>
> Is it safe to use TWCS in C* 3.9?
>
>
> I would say that the unsafe part is more about using C* 3.9 than using
> TWCS in C*3.9 :-). I see no reason to say 3.9 would be specifically unsafe
> in C*3.9, but I might be missing something.
>
> Going from STCS to TWCS is often smooth, from LCS you might expect an
> extra load compacting a lot (all?) of the SSTable from what we saw from the
> field. In this case, be sure that your compaction options are safe enough
> to handle this.
>
> TWCS is even easier to use on C*3.0.8+ and C*3.8+ as it became the new
> default replacing TWCS, so no extra jar is needed, you can enable TWCS as
> any other default compaction strategy.
>
> C*heers,
> -----------------------
> Alain Rodriguez - @arodream - al...@thelastpickle.com
> France
>
> The Last Pickle - Apache Cassandra Consulting
> http://www.thelastpickle.com
>
> 2017-01-31 23:29 GMT+01:00 Cogumelos Maravilha <cogumelosmaravi...@sapo.pt
> >:
>
> Hi Alain,
>
> Thanks for your response and the links.
>
> I've also checked "Time series data model and tombstones".
>
> Is it safe to use TWCS in C* 3.9?
>
> Thanks in advance.
>
> On 31-01-2017 11:27, Alain RODRIGUEZ wrote:
>
> Is there a overhead using line by line option or wasted disk space?
>
>  There is a very recent topic about that in the mailing list, look for "Time
> series data model and tombstones". I believe DuyHai answer your question
> there with more details :).
>
> *tl;dr:*
>
> Yes, if you know the TTL in advance, and it is fixed, you might want to go
> with the table option instead of adding the TTL in each insert. Also you
> might want consider using TWCS compaction strategy.
>
> Here are some blogposts my coworkers recently wrote about TWCS, it might
> be useful:
>
> http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html
> http://thelastpickle.com/blog/2017/01/10/twcs-part2.html
>
> C*heers,
> -----------------------
> Alain Rodriguez - @arodream - al...@thelastpickle.com
> France
>
> The Last Pickle - Apache Cassandra Consulting
> http://www.thelastpickle.com
>
>
>
> 2017-01-31 10:43 GMT+01:00 Cogumelos Maravilha <cogumelosmaravi...@sapo.pt
> >:
>
> Hi I'm just wondering what option is fastest:
>
> Global:*create table xxx (.....**AND **default_time_to_live = **XXX**;**
> and**UPDATE xxx USING TTL XXX;*
>
> Line by line:
> *INSERT INTO xxx (...** USING TTL xxx;*
>
> Is there a overhead using line by line option or wasted disk space?
>
> Thanks in advance.
>
>
>
>
>
>

Reply via email to