I can't quite decide if to go with a flat schema, with keys repeated
in different CFs
or have one CF with nested supercolumns.
I guess there is no straight answer here, but what's a good reasoning
about the choice?
This two mutation maps should clarify my dillemma:
deep_mutation_map = {
'example_item': {
'Items': [
Mutation(SuperColumn('details', [
Column('title', 'an article'),
Column('link', 'www.example.com')
])),
Mutation(SuperColumn('likers', [
Column('user_1', 'xx'),
Column('user_2', 'xx')
]))
]
}
}
flat_mutation_map = {
'example_item': {
'Item_Info': [
Mutation(Column('title', 'an_article')),
Mutation(Column('link', 'www.example.com')),
],
'Item_likers': [
Mutation(Column('user_1', 'xx')),
Mutation(Column('user_2', 'xx'))
]
}
}
On Tue, Mar 9, 2010 at 7:33 PM, Jonathan Ellis <[email protected]> wrote:
> On Tue, Mar 9, 2010 at 7:30 AM, Matteo Caprari <[email protected]>
> wrote:
>> On Tue, Mar 9, 2010 at 1:23 PM, Jonathan Ellis <[email protected]> wrote:
>>> That's true. So you'd want to use a custom comparator where first 64
>>> bits is the Long and the rest is the userid, for instance.
>>>
>>> (Long + something else is common enough that we might want to add it
>>> to the defaults...)
>>
>> What about using a SuperColumn for each like-count and then the list
>> of users that hit that level?
>
> That would also work, it's just a little clunky pulling things out of
> a nested structure when really you want a flat list. But if you are
> allergic to Java that is the way to go so you don't have to write a
> custom AbstractType subclass. :)
>
> -Jonathan
>
--
:Matteo Caprari
[email protected]