Time To Live (TTL) for a column in Cassandra

27 Nov, 2019
In this article we will discuss how to insert and update using Time To Live (TTL) command and how to determine the expire time limit of an existing column.In Cassandra Time to Live (TTL) is play an important role while if we want to set the time limit of a column and we want to automatically delete after a point of time then at the time using TTL keyword is very useful to define the time limit for a particular column.
In Cassandra Both the INSERT and UPDATE commands support setting a time for data in a column to expire.It is used to set the time limit for a specific period of time. By USING TTL clause we can set the TTL value at the time of insertion.We can use TTL function to get the time remaining for a specific selected query.At the point of insertion, we can set expire limit of inserted data by using TTL clause. Let us consider if we want to set the expire limit to two days then we need to define its TTL value.By using TTL we can set the expiration period to two days and the value of TTL will be 172800 seconds. Let’s understand with an example.
In Cassandra Both the INSERT and UPDATE commands support setting a time for data in a column to expire.
It is used to set the time limit for a specific period of time. By USING TTL clause we can set the TTL value at the time of insertion.
We can use TTL function to get the time remaining for a specific selected query.
At the point of insertion, we can set expire limit of inserted data by using TTL clause. Let us consider if we want to set the expire limit to two days then we need to define its TTL value.
By using TTL we can set the expiration period to two days and the value of TTL will be 172800 seconds. Let’s understand with an example.
Table : student_RegistrationTo create the table used the following CQL query.
CREATE TABLE student_Registration(
Id int PRIMARY KEY,
Name text,
Event text
);

Insertion using TTL :To insert data by using TTL then used the following CQL query.
INSERT INTO student_Registration (Id, Name, Event) 
       VALUES (101, 'Ashish', 'Ninza') USING TTL 172800;
INSERT INTO student_Registration (Id, Name, Event) 
       VALUES (102, 'Ashish', 'Code') USING TTL 172800;
INSERT INTO student_Registration (Id, Name, Event) 
       VALUES (103, 'Aksh', 'Ninza') USING TTL 172800; 
Output:
Now, to determine the remaining time to expire for a specific column used the following CQL query.
SELECT TTL (Name) 
from student_Registration 
WHERE Id = 101; 
Output:
It will decrease as you will check again for its TTL value just because of TTL time limit. Now, used the following CQL query to check again.
SELECT TTL (Name) 
from student_Registration 
WHERE Id = 101; 
Output:
Updating using TTL:Now, if we want to extend the time limit then we can extend with the help of UPDATE command and USING TTL keyword. Let’s have a look. To extend time limit with 3 days and also to update the name to ‘rana’ then used the following CQL query.
UPDATE student_Registration
USING TTL 259200 
SET Name = 'Rana' 
WHERE Id= 102 
Output:
SELECT TTL (Name) 
from student_Registration 
WHERE Id = 102; 
Output:
Deleting a column using TTL:To delete the specific existing column used the following CQL query.
UPDATE student_Registration
USING TTL 0 
SET Name = 'Ashish' 
WHERE Id = 102; 
Note: We can set the default TTL for entire table using Default value of TTL.
Reference – https://docs.datastax.com/
Apache
DBMS
DBMS
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
CTE in SQL
Difference between Clustered and Non-clustered index
Introduction of DBMS (Database Management System) | Set 1
SQL Trigger | Student Database
Introduction of B-Tree
SQL Interview Questions
SQL | Views
Introduction of ER Model
Data Preprocessing in Data Mining
Difference between DELETE, DROP and TRUNCATE