Re: Social network feed/wall question

2009-11-23 Thread Jonathan Ellis
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

2009-11-23 Thread Kristian Lunde

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

2009-11-22 Thread Ian Holsman
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

2009-11-22 Thread Kristian Lunde
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