You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Olivier Mallassi <om...@octo.com> on 2010/05/10 13:17:11 UTC

trying to make my ideas clear about partionning...

Hi all,

I am trying to make my ideas clear about how the partioning works in
Cassandra.

Here is what I understood, pease correct me if I am wrong.

- Row key are partitionned based on the partitionning strategy you choose
(randon, order preserving, custom if you implemented the IPartioner
interface). One partionning strategy is defined per cluster (in fact for
each node of the cluster but the confifguration should be the sames so...)
Order Preserving Partionning is better for range queries because the key are
stored in a sequential way so when selecting a range of keys, you hit less
nodes than with the RandomPartitioner.

- Once this first partitioning is done, a second one is done based on the
Column (or SuperColumn) name and the CompareWith you defined for the
ColumnFamily.

Am I right?
Am I wrong if I say that potentially the different columns of the same
ColumnFamily are stored on different nodes? So if I wanna read a complete
row, I hit several nodes.
Is there a way of controlling the way Column are stored?

Thanks for your help.

Oliv/

Re: trying to make my ideas clear about partionning...

Posted by Olivier Mallassi <om...@octo.com>.
Thanks!

On Mon, May 10, 2010 at 2:17 PM, Dr. Martin Grabmüller <
Martin.Grabmueller@eleven.de> wrote:

>  Partitioning is only done for row keys,  the part in your message about
> keys and partitioning is correct.
> There is no partitioning for columns, all columns for a particular key are
> stored on the same node (plus
> replicas, of course, which are stored on different nodes).  The CompareWith
> option for column families
> only affects the ordering of columns/supercolumns, not the partitioning.
>
> Cheers,
>   Martin
>
>  ------------------------------
> *From:* Olivier Mallassi [mailto:omallassi@octo.com]
> *Sent:* Monday, May 10, 2010 1:17 PM
> *To:* user@cassandra.apache.org
> *Subject:* trying to make my ideas clear about partionning...
>
> Hi all,
>
> I am trying to make my ideas clear about how the partioning works in
> Cassandra.
>
> Here is what I understood, pease correct me if I am wrong.
>
> - Row key are partitionned based on the partitionning strategy you choose
> (randon, order preserving, custom if you implemented the IPartioner
> interface). One partionning strategy is defined per cluster (in fact for
> each node of the cluster but the confifguration should be the sames so...)
> Order Preserving Partionning is better for range queries because the key
> are stored in a sequential way so when selecting a range of keys, you hit
> less nodes than with the RandomPartitioner.
>
> - Once this first partitioning is done, a second one is done based on the
> Column (or SuperColumn) name and the CompareWith you defined for the
> ColumnFamily.
>
> Am I right?
> Am I wrong if I say that potentially the different columns of the same
> ColumnFamily are stored on different nodes? So if I wanna read a complete
> row, I hit several nodes.
> Is there a way of controlling the way Column are stored?
>
> Thanks for your help.
>
> Oliv/
>
>


-- 
............................................................
Olivier Mallassi
OCTO Technology
............................................................
50, Avenue des Champs-Elysées
75008 Paris

Mobile: (33) 6 28 70 26 61
Tél: (33) 1 58 56 10 00
Fax: (33) 1 58 56 10 01

http://www.octo.com
Octo Talks! http://blog.octo.com

RE: trying to make my ideas clear about partionning...

Posted by "Dr. Martin Grabmüller" <Ma...@eleven.de>.
Partitioning is only done for row keys,  the part in your message about keys and partitioning is correct.
There is no partitioning for columns, all columns for a particular key are stored on the same node (plus
replicas, of course, which are stored on different nodes).  The CompareWith option for column families
only affects the ordering of columns/supercolumns, not the partitioning.
 
Cheers,
  Martin



________________________________

	From: Olivier Mallassi [mailto:omallassi@octo.com] 
	Sent: Monday, May 10, 2010 1:17 PM
	To: user@cassandra.apache.org
	Subject: trying to make my ideas clear about partionning...
	
	
	Hi all,  
	
	
	I am trying to make my ideas clear about how the partioning works in Cassandra. 
	
	
	Here is what I understood, pease correct me if I am wrong. 
	
	
	- Row key are partitionned based on the partitionning strategy you choose (randon, order preserving, custom if you implemented the IPartioner interface). One partionning strategy is defined per cluster (in fact for each node of the cluster but the confifguration should be the sames so...)
	Order Preserving Partionning is better for range queries because the key are stored in a sequential way so when selecting a range of keys, you hit less nodes than with the RandomPartitioner.
	
	
	- Once this first partitioning is done, a second one is done based on the Column (or SuperColumn) name and the CompareWith you defined for the ColumnFamily.   
	
	
	Am I right? 
	Am I wrong if I say that potentially the different columns of the same ColumnFamily are stored on different nodes? So if I wanna read a complete row, I hit several nodes. 
	Is there a way of controlling the way Column are stored?
	
	
	Thanks for your help. 
	
	
	Oliv/