Поле TTL для набора столбцов в CQL3 - Cassandra

Рассмотрим следующий оператор Insert.

    INSERT INTO NerdMovies (movie, director, main_actor, year)
                    VALUES ('Serenity', 'Joss Whedon', 'Nathan Fillion', 2005)
    USING TTL 86400;

Указывает ли поле TTL время жизни для всего набора столбцов для определенного первичного ключа или только для одного конкретного столбца. Потому что я хотел бы указать TTL для всего набора столбцов, которые должны быть удалены после истечения срока TTL.


person Sayed Jalil Hassan    schedule 13.08.2013    source источник


Ответы (2)


Ок, я сам разобрался. Он устанавливает TTL для всего набора столбцов. поэтому все столбцы для определенного первичного ключа будут удалены по истечении срока жизни.

person Sayed Jalil Hassan    schedule 13.08.2013

@sayed-jalil Чтобы быть более точным, он установит TTL для столбцов, которые вы упомянули в инструкции INSERT/UPDATE. Так, например, если в момент времени t вы сделаете


    INSERT INTO NerdMovies (movie, director, main_actor, year)
    VALUES ('Serenity', 'Joss Whedon', 'Nathan Fillion', 2005)
    USING TTL 86400;

если вы затем сделаете следующее во время t + 10


    UPDATE USING TTL 86400 NerdMovies SET year = 2004;

тогда столбцы movie, director, main_actor будут иметь TTL t+86400, а столбец year будет иметь TTL t+10+86400

Надеюсь, это имеет смысл.

person Jairam    schedule 07.10.2014