Re: Social network feed/wall question
Yes, sort by anything providing time ordering like TimeUUID and then use get_slice with reversed=True to get the most recent. On Mon, Nov 23, 2009 at 4:14 AM, Kristian Lunde wrote: > Hi Ian > Thanks for your answer, I'll have a look at redis. I think it should be > possible doing this in cassandra if I sort the columns by timeUUID. > Kristian > On 22 Nov 2009, at 23:11, Ian Holsman wrote: > > One of the problems you may face is that the common operation is 'get last > X'. > You might want to look at redis as an alternative as it supports this > operation natively. > I'm sure the Cassandra experts can help with your schema to optimize it as > well > > --- > Sent from my phone > Ian Holsman - 703 879-3128 > On 23/11/2009, at 9:55 AM, Kristian Lunde wrote: > > I am currently building a social network application where one of the > important features is a feed / wall (Something similar to the Facebook > wall). We will have several feeds, one for each profile and one for each > group and so on. I have looked into using Cassandra for storing this, but I > am not sure I am on the right track regarding my "schema". > > My thoughs was that the schema would be similar to this > > Feed [SuperColumn] > - Row [user id as identifier] > [Columns] > - type > - timestamp > - message > - url > > Each user would have his own feed super column and store all feed items > related to him in this super column. I am not sure this is the best idea, > since it creates an insane amount of writes whenever someone writes to their > wall (this will have to write the feed of all his friends). Also I read in > this > thread http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg00360.html that > super columns are not suited for > 60k rows in a super column. > > What would be the optimal way of storing a set of feeds in cassandra? > > Thanks > Kristian >
Re: Social network feed/wall question
Hi Ian Thanks for your answer, I'll have a look at redis. I think it should be possible doing this in cassandra if I sort the columns by timeUUID. Kristian On 22 Nov 2009, at 23:11, Ian Holsman wrote: One of the problems you may face is that the common operation is 'get last X'. You might want to look at redis as an alternative as it supports this operation natively. I'm sure the Cassandra experts can help with your schema to optimize it as well --- Sent from my phone Ian Holsman - 703 879-3128 On 23/11/2009, at 9:55 AM, Kristian Lunde wrote: I am currently building a social network application where one of the important features is a feed / wall (Something similar to the Facebook wall). We will have several feeds, one for each profile and one for each group and so on. I have looked into using Cassandra for storing this, but I am not sure I am on the right track regarding my "schema". My thoughs was that the schema would be similar to this Feed [SuperColumn] - Row [user id as identifier] [Columns] - type - timestamp - message - url Each user would have his own feed super column and store all feed items related to him in this super column. I am not sure this is the best idea, since it creates an insane amount of writes whenever someone writes to their wall (this will have to write the feed of all his friends). Also I read in this thread http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg00360.html that super columns are not suited for > 60k rows in a super column. What would be the optimal way of storing a set of feeds in cassandra? Thanks Kristian
Re: Social network feed/wall question
One of the problems you may face is that the common operation is 'get last X'. You might want to look at redis as an alternative as it supports this operation natively. I'm sure the Cassandra experts can help with your schema to optimize it as well --- Sent from my phone Ian Holsman - 703 879-3128 On 23/11/2009, at 9:55 AM, Kristian Lunde wrote: I am currently building a social network application where one of the important features is a feed / wall (Something similar to the Facebook wall). We will have several feeds, one for each profile and one for each group and so on. I have looked into using Cassandra for storing this, but I am not sure I am on the right track regarding my "schema". My thoughs was that the schema would be similar to this Feed [SuperColumn] - Row [user id as identifier] [Columns] - type - timestamp - message - url Each user would have his own feed super column and store all feed items related to him in this super column. I am not sure this is the best idea, since it creates an insane amount of writes whenever someone writes to their wall (this will have to write the feed of all his friends). Also I read in this thread http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg00360.html that super columns are not suited for > 60k rows in a super column. What would be the optimal way of storing a set of feeds in cassandra? Thanks Kristian
Social network feed/wall question
I am currently building a social network application where one of the important features is a feed / wall (Something similar to the Facebook wall). We will have several feeds, one for each profile and one for each group and so on. I have looked into using Cassandra for storing this, but I am not sure I am on the right track regarding my "schema". My thoughs was that the schema would be similar to this Feed [SuperColumn] - Row [user id as identifier] [Columns] - type - timestamp - message - url Each user would have his own feed super column and store all feed items related to him in this super column. I am not sure this is the best idea, since it creates an insane amount of writes whenever someone writes to their wall (this will have to write the feed of all his friends). Also I read in this thread http://www.mail-archive.com/cassandra-user@incubator.apache.org/msg00360.html that super columns are not suited for > 60k rows in a super column. What would be the optimal way of storing a set of feeds in cassandra? Thanks Kristian