Sorry for the scheme that has not keep the right tabulation for some people...
Here's a space-version instead of a tabulation.
user1 row : | lte |
lte -1 | lte -2 | lte
-3 | lte -4 |
values : | user2-name-change | user3-pic-change |
user4-status-change | user2-pic-change | user2-status-change |
If for example, user2 changes it's picture, the row should look like that :
user1 row : | lte |
lte -1 | lte -2 |
lte -3 | lte -4 |
values : | user2-pic-change | user2-name-change |
user3-pic-change | user4-status-change | user2-status-change |
Le 30 août 2012 à 13:22, Morgan Segalis a écrit :
> Hi everyone,
>
> I'm trying to use cassandra in order to store a "timeline", but with values
> that must be unique (replaced). (So not really a timeline, but didn't find a
> better word for it)
>
> Let's me give you an example :
>
> - An user have a list of friends
> - Friends can change their nickname, status, profile picture, etc...
>
> at the beginning the CF will look like that for user1:
>
> lte = latest-timestamp-entry, which is the timestamp of the entry (-1 -2 -3
> means that the timestamp are older)
>
> user1 row : | lte |
> lte -1 | lte -2 | lte
> -3 | lte -4 |
> values : | user2-name-change | user3-pic-change
> | user4-status-change | user2-pic-change | user2-status-change |
>
> If for example, user2 changes it's picture, the row should look like that :
>
> user1 row : | lte |
> lte -1 | lte -2 | lte
> -3 | lte -4 |
> values : | user2-pic-change |
> user2-name-change | user3-pic-change | user4-status-change |
> user2-status-change |
>
> notice that user2-pic-change in the first representation (lte -3) has "moved"
> to the (lte) on the second representation.
>
> That way when user1 connects again, It can retrieve only informations that
> occurred between the last time he connected.
>
> e.g. : if the user1's last connexion date it between "lte -2" and "lte -3",
> then he will only be notified that :
>
> - user2 has changed his picture
> - user2 has changed his name
> - user3 has changed his picture
>
> I would not keep the old data since the "timeline" is saved locally on the
> client, and not on the server.
> I really would like not to search for each column in order to find the
> "user2-pic-change", that can be long especially if the user has many friends.
>
> Is there a simple way to do that with cassandra, or I am bound to create
> another CF, with column title holding the action e.g. "user2-pic-change" and
> for value the timestamp when it appears ?
>
> Thanks,
>
> Morgan.
>