I tend to caution against making very large batch mutations or multi gets, by which I mean 100's of rows at a time.
Each row request becomes a task and they can temporarily fill the mutation or read thread pool. Meaning overall *client* request throughout drops while a big request is chewed through. This this is more of an issue with smaller clusters. As Dean says, the client request is performed in parallel on multiple machines. Cheers ----------------- Aaron Morton Freelance Cassandra Developer New Zealand @aaronmorton http://www.thelastpickle.com On 12/12/2012, at 3:03 AM, "Hiller, Dean" <dean.hil...@nrel.gov> wrote: > Each node is doing it's thing in parallel….they on purpose do NOT co-ordinate > as they do not need to so each one is doing it's scan on the rows it has > individually. > > If all rows "happen" to be on the same server, sure some may be done > sequentially depending on number of rows vs. thread pool size. > > As far as a single row is concerned, I know mutations to a single row are > serialised as Aaron has said as much but you are talking about multiple rows > here. > > Later, > Dean > > From: Wei Zhu <wz1...@yahoo.com<mailto:wz1...@yahoo.com>> > Reply-To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" > <user@cassandra.apache.org<mailto:user@cassandra.apache.org>>, Wei Zhu > <wz1...@yahoo.com<mailto:wz1...@yahoo.com>> > Date: Monday, December 10, 2012 3:15 PM > To: Cassandr usergroup > <user@cassandra.apache.org<mailto:user@cassandra.apache.org>> > Subject: Re: multiget_slice SlicePredicate > > Well, not sure how parallel is multiget. Someone is saying it's in parallel > sending requests to the different nodes and on each node it's executed > sequentially. I didn't bother looking into the source code yet. Anyone knows > it for sure? > > I am using Hector, just copied the thrift definition from Cassandra site for > reference. > > You are right, the count is for each individual row. > > Thanks. > -Wei > > ________________________________ > From: "Hiller, Dean" <dean.hil...@nrel.gov<mailto:dean.hil...@nrel.gov>> > To: "user@cassandra.apache.org<mailto:user@cassandra.apache.org>" > <user@cassandra.apache.org<mailto:user@cassandra.apache.org>>; Wei Zhu > <wz1...@yahoo.com<mailto:wz1...@yahoo.com>> > Sent: Monday, December 10, 2012 1:13 PM > Subject: Re: multiget_slice SlicePredicate > > What's wrong with multiget…parallel performance is great from multiple disks > and so usually that is a good thing. > > Also, something looks wrong, since you have list<binary> keys, I would expect > the Map to be Map<binary, list<ColumnOrSuperColumn>> > > Are you sure you have that correct? IF you set range to 100, it should be > 100 columns each row but it never hurts to run the code and verify. > > Later, > Dean > PlayOrm Developer > > > From: Wei Zhu > <wz1...@yahoo.com<mailto:wz1...@yahoo.com><mailto:wz1...@yahoo.com<mailto:wz1...@yahoo.com>>> > Reply-To: > "user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>" > > <user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>>, > Wei Zhu > <wz1...@yahoo.com<mailto:wz1...@yahoo.com><mailto:wz1...@yahoo.com<mailto:wz1...@yahoo.com>>> > Date: Monday, December 10, 2012 2:07 PM > To: Cassandr usergroup > <user@cassandra.apache.org<mailto:user@cassandra.apache.org><mailto:user@cassandra.apache.org<mailto:user@cassandra.apache.org>>> > Subject: multiget_slice SlicePredicate > > I know it's probably not a good idea to use multiget, but for my use case, > it's the only choice, > > I have question regarding the SlicePredicate argument of the multiget_slice > > > The SlicePredicate takes slice_range which takes start, end and range. I > suppose start and end will apply to each individual row. How about range, is > it a accumulative column count of all the rows or to the individual row? > If I set range to 100, is it 100 columns per row, or total? > > Thanks for you reply, > -Wei > > multiget_slice > > * > map<string,list<ColumnOrSuperColumn>> multiget_slice(list<binary> keys, > ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel > consistency_level) > > > >