[ 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.