incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From S Ahmed <sahmed1...@gmail.com>
Subject Re: key types and grouping related rows together
Date Fri, 16 Jul 2010 03:39:20 GMT
So am I to keep track on the # of columns for a given key in CF
WebsiteArticle?  i.e. if I want to do a get_slice for the first 10 OR last
10 (I would need to know the count to get the last 10).

>>Am assuming RP. There are some recommendations on the number of cols per
key, in the millions I think I can never >>find it when I want it.
So I would have to potentially split the columns to another key then
correct? i.e. website_id1, website_id1-2


On Thu, Jul 15, 2010 at 8:17 PM, Aaron Morton <aaron@thelastpickle.com>wrote:

> You could build a secondary index, e.g.
>
> CF
> Articles : {
> article_id1 : {}
> article_id2 : {}
> }
>
> CF
> WebsiteArticle : {
> website_id1 : { time_uuid : article_id1, time_uuid2 : article_id2}
> }
>
> when you want to get the last 10 for a website, get_slice from the
> WebsiteArticle CF then multi get from Articles.
>
> Am assuming RP. There are some recommendations on the number of cols per
> key, in the millions I think I can never find it when I want it.
>
> You could try a key of "webstie_id.timestamp" and try a get range using the
> Random Partitioner. The results will be unordered, but thats OK so long as
> you get the ones you want.
>
> Aaron
>
>
> On 16 Jul, 2010,at 09:08 AM, S Ahmed <sahmed1020@gmail.com> wrote:
>
> Given a CF like:
>
> Articles : {
>
>    key1 : { title:"some title", body: "this is my article body...", .... },
>    key1 : { title:"some title", body: "this is my article body...", .... }
> }
>
> Now these articles could be for different websites e.g. www.website1.com,
> www.website2.com
>
> If I want to get the latest 10 articles for a given website, how would I
> formulate my key to achieve this?
>
> I basically need to understand how to handle multi-tenancy, b/c I will need
> to do this for almost all my CF's.
>
> I'm a little stuck here so guidance would be great!
>
>
> On Thu, Jul 15, 2010 at 4:01 PM, S Ahmed <sahmed1020@gmail.com> wrote:
>
>> Benjamin,
>>
>> Ah, thanks for clarifying that.
>>
>> key sorting is changing in .7 I believe to support a binary array?
>>
>>
>> On Thu, Jul 15, 2010 at 3:26 PM, Benjamin Black <b@b3k.us> wrote:
>>
>>> Keys are always sorted (in 0.6) as UTF8 strings.  The CompareWith
>>> applies to _columns_ within rows, _not_ to row keys.
>>>
>>>
>>> On Wed, Jul 14, 2010 at 1:44 PM, S Ahmed <sahmed1020@gmail.com> wrote:
>>> > Where is the link that describes the various key types and their impact
>>> on
>>> > sorting? (I believe I read it before, can't seem to find it now).
>>> > So my application supports multi-tenants, so I need the keys to
>>> represent
>>> > things like:
>>> > website1123 + contentID
>>> > or
>>> > website3454 + userID
>>> > And for range queries, these keys have to be grouped together
>>> obviously.
>>> > What key type would be best suited for this?
>>> >
>>> >
>>> > I might have to create a CF that maps the website and its key prefix?
>>>
>>
>>
>

Mime
View raw message