incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dr. Martin Grabm├╝ller <>
Subject RE: trying to make my ideas clear about partionning...
Date Mon, 10 May 2010 12:17:42 GMT
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
only affects the ordering of columns/supercolumns, not the partitioning.


	From: Olivier Mallassi [] 
	Sent: Monday, May 10, 2010 1:17 PM
	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. 

View raw message