cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cyril Auburtin <cyril.aubur...@gmail.com>
Subject Re: About Composite range queries
Date Thu, 31 May 2012 12:52:25 GMT
but sorry, I don"t undertand

If you hash 4 composite keys, let's say
('A','B','C'), ('A','D','C'), ('A','E','X'), ('A','R','X'), you have only 4
hashes or you have more?

If it's 4, how come you are able to range query for example between
start_column=('A', 'D') and end_column=('A','E') and get this column
('A','D','C')

the composites are like chapters between the whole keys set, there must be
intermediate keys added?


2012/5/31 aaron morton <aaron@thelastpickle.com>

> it is hashed once.
>
> To the partitioner it's just some bytes. Other parts of the code car about
> it's structure.
>
> Cheers
>
>   -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
>
> On 31/05/2012, at 7:00 PM, Cyril Auburtin wrote:
>
> Thx for the answer
> 1 more thing, a Composite key is not hashed only once I guess?
> It's hashed the number of part the composite have?
> So this means there are twice or 3 or ... as many keys as for normal
> column keys, is it true?
> Le 31 mai 2012 02:59, "aaron morton" <aaron@thelastpickle.com> a écrit :
>
>> Composite Columns compare each part in turn, so the values are ordered as
>> you've shown them.
>>
>> However the rows are not ordered according to key value. They are ordered
>> using the random token generated by the partitioner see
>> http://wiki.apache.org/cassandra/FAQ#range_rp
>>
>> What is the real advantage compared to super column families?
>>
>> They are faster.
>>
>> Cheers
>>
>>   -----------------
>> Aaron Morton
>> Freelance Developer
>> @aaronmorton
>> http://www.thelastpickle.com
>>
>> On 29/05/2012, at 10:08 PM, Cyril Auburtin wrote:
>>
>> How is it done in Cassandra to be able to range query on a composite key?
>>
>> "key1" => (A:A:C), (A:B:C), (A:C:C), (A:D:C), (B,A,C)
>>
>> like get_range ("key1", start_column=(A,"), end_column=(A, C)); will
>> return [ (A:B:C), (A:C:C) ] (in pycassa)
>>
>> I mean does the composite implementation add much overhead to make it
>> work?
>> Does it need to add other Column families, to be able to range query
>> between composites simple keys (first, second and third part of the
>> composite)?
>>
>> What is the real advantage compared to super column families?
>>
>> "key1" => A: (A,C), (B,C), (C,C), (D,C)  , B: (A,C)
>>
>> thx
>>
>>
>>
>

Mime
View raw message