[ 
https://issues.apache.org/jira/browse/CASSANDRA-699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12847021#action_12847021
 ] 

Sylvain Lebresne edited comment on CASSANDRA-699 at 3/18/10 5:46 PM:
---------------------------------------------------------------------

Well, I have one use case for which it would be hard to go without TTL. For
this one, I could almost go with a TTL to CF. It would be less convenient
tough, as I would need a few CF (not all the TTL for this use case are the
them) and thus would need to know the kind of TTL when I request which would
be a big complicated. So that would be better than nothing but not ideal.

Apart from that, I have multiple small places where I'm using or plan to use
TTL (all of this is still under development). For those, I again thinks that
to have TTL to column is more useful. An example I may use is the creation of 
temporary user account that will be deleted after a few day if not validated.
I'm sure there is other way to do it than TTL but it is convenient with it
(you read everything and write it back without TTL upon validation) and if you
have 2 CFs, one for your temporary user (not yet validated) and one for the
validated ones, it's a bit annoying for the requests again since you don't
know a priori which CF to query. More generally, I have informations (log of 
user activities, connection logs, ...), some of which I need to keep for some 
time 
for legal reason, that are just not useful anymore after 6 month, or after a 
year, 
2 years, .... Having a column family for each one of those infos is just not 
convenient.

So I guess my answer to your question is no, it would be covered, at least not
as naturally. And truthfully, it seems to me that expiring column is really
easy and efficient to do with Cassandra and virtually free for people that 
doesn't use them. That doesn't mean that having whole CF with a TTL would be 
a bad idea per se. 
But anyway I'm open to discussion and always curious of the opinion of others. 

      was (Author: slebresne):
    Would your use case be covered by adding a TTL to CF? Because that seems 
like
the natural level of granularity for this to me

Well, I have one use case for which it would be hard to go without TTL. For
this one, I could almost go with a TTL to CF. It would be less convenient
tough, as I would need a few CF (not all the TTL for this use case are the
them) and thus would need to know the kind of TTL when I request which would
be a big complicated. So that would be better than nothing but not ideal.

Apart from that, I have multiple small places where I'm using or plan to use
TTL (all of this is still under development). For those, I again thinks that
to have TTL to column is more useful. An example I may use is the creation of 
temporary user account that will be deleted after a few day if not validated.
I'm sure there is other way to do it than TTL but it is convenient with it
(you read everything and write it back without TTL upon validation) and if you
have 2 CFs, one for your temporary user (not yet validated) and one for the
validated ones, it's a bit annoying for the requests again since you don't
know a priori which CF to query. More generally, I have informations (log of 
user activities, connection logs, ...), some of which I need to keep for some 
time 
for legal reason, that are just not useful anymore after 6 month, or after a 
year, 
2 years, .... Having a column family for each one of those infos is just not 
convenient.

So I guess my answer to your question is no, it would be covered, at least not
as naturally. And truthfully, it seems to me that expiring column is really
easy and efficient to do with Cassandra and virtually free for people that 
doesn't use them. That doesn't mean that having whole CF with a TTL would be 
a bad idea per se. 
But anyway I'm open to discussion and always curious of the opinion of others. 
  
> Add (optional) expiration time for column 
> ------------------------------------------
>
>                 Key: CASSANDRA-699
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-699
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>             Fix For: 0.7
>
>         Attachments: 0001-Add-new-ExpiringColumn-class-v2.patch, 
> 0002-Add-TTL-support-to-cassandra.thrift.patch, 
> 0003-Plug-thrift-TTL-addition-to-ExpiringColumn.patch, 
> 0004-Update-test_server-for-insert-changes-and-add-simple.patch, 
> add_expiring_column_0.6beta2.diff, modify_test_0.6beta2.diff, 
> thrift_API_change_0.6beta2.diff
>
>
> Allow to attach an expiration time to a column. 
> An expired column would act much like a 'markedForDelete' one. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to