I can append timeuuid on every update and resolve conflicts on read to
support time series data on last-modified-time.

Ex:
-- ExampleCF
       | -- SomeKey = Key
            | -- TimeUUIDNew = Column-Name
            | -- PKID = Column-Value
            ......
            | -- TimeUUIDOld = Column-Name
            | -- PKID = Column-Value

But how to GC TimeUUIDOld?

One solution is to book-keep this info in a CleanupCF to periodically sweep
all old data.

Ex:

-- ExampleCF
       | -- SomeKey = Key
            | -- TimeUUID = Column-Name
            | -- PKID = Column-Value

-- ExampleReverseIndexCF
       | -- <SomeKey> = Key
            | -- PKID+TimeUUID = Composite Column-Name
            | -- Null = Column-Value

-- CleanupCF
       | -- Schedule-Cleanup-Task-Id = Key
            | -- <Some-Key>+PKID = Composite Column-Name
            | -- Null = Column-Value

Will this approach work? Are there other elegant solutions for this problem
of maintaining time-series data for last-modified-time?

--
Ravi



On Fri, Dec 21, 2012 at 11:07 PM, Andrey Ilinykh <ailin...@gmail.com> wrote:

> You can select a column slice (specify time range wich for sure has last
> data), but ask cassandra to return only one column. It is latest one. To
> have the best performance use reversed sorting order.
>
> Andrey
>
>
> On Fri, Dec 21, 2012 at 6:40 AM, Ravikumar Govindarajan <
> ravikumar.govindara...@gmail.com> wrote:
>
>> How do we model a timeseries data in cassandra for last modified time?
>>
>> -- ExampleCF
>>        | -- SomeKey = Key
>>             | -- TimeUUID = Column-Name
>>             | -- PKID = Column-Value
>>
>> -- ExampleReverseIndexCF
>>        | -- SomeKey = Key
>>             | -- PKID = Column-Name
>>             | -- TimeUUID = Column-Value
>>
>> To correctly reflect "last-modified-time", I need to read existing
>> timeuuid, delete it and add incoming timeuuid
>>
>> Are there alternatives to the above approach, because it looks a bit
>> heavy-weight
>>
>> --
>> Ravi
>>
>
>

Reply via email to