multiget would require Order Preserving Partitioner, and this can lead to
unbalanced ring and hot spots.

Maybe you can use secondary index on "itemtype" - is must have small
cardinality:
http://pkghosh.wordpress.com/2011/03/02/cassandra-secondary-index-patterns/



On Tue, Mar 27, 2012 at 10:10 AM, Guy Incognito <dnd1...@gmail.com> wrote:

> without the ability to do disjoint column slices, i would probably use 5
> different rows.
>
> userId:itemType -> activityId
>
> then it's a multiget slice of 10 items from each of your 5 rows.
>
>
> On 26/03/2012 22:16, Ertio Lew wrote:
>
>> I need to store activities by each user, on 5 items types. I always want
>> to read last 10 activities on each item type, by a user (ie, total
>> activities to read at a time =50).
>>
>> I am wanting to store these activities in a single row for each user so
>> that they can be retrieved in single row query, since I want to read all
>> the last 10 activities on each item.. I am thinking of creating composite
>> names appending "itemtype" : "activityId"(activityId is just timestamp
>> value) but then, I don't see about how to read the last 10 activities from
>> all itemtypes.
>>
>> Any ideas about schema to do this better way ?
>>
>
>

Reply via email to