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