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