Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 58BA310CF6 for ; Tue, 7 May 2013 08:22:22 +0000 (UTC) Received: (qmail 2413 invoked by uid 500); 7 May 2013 08:22:19 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 2139 invoked by uid 500); 7 May 2013 08:22:16 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 2102 invoked by uid 99); 7 May 2013 08:22:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 May 2013 08:22:15 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [208.113.200.5] (HELO homiemail-a91.g.dreamhost.com) (208.113.200.5) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 May 2013 08:22:10 +0000 Received: from homiemail-a91.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a91.g.dreamhost.com (Postfix) with ESMTP id 1478CAE069 for ; Tue, 7 May 2013 01:21:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=thelastpickle.com; h= content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; s= thelastpickle.com; bh=xtkCh95PYLOIr7B3TQJElDnH1kA=; b=nwW0Oi266K rZ1ueJ5nkpHZz+7THFX99dP1NoNRWOJ+LmXeB/VWJ7o7TVKGioAsfmMVGFo4aSav ofnZKs/xwVG32pGXXgrec1HYTlTMt8DCO2Sq8SuF75tRujBI3a423eGSb+IPtbor wBRiFxd8l50PQFjILA8BHm9Thajb6fYYI= Received: from [172.16.1.8] (unknown [203.86.207.101]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: aaron@thelastpickle.com) by homiemail-a91.g.dreamhost.com (Postfix) with ESMTPSA id A6ABAAE059 for ; Tue, 7 May 2013 01:21:33 -0700 (PDT) Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\)) Subject: Re: cost estimate about some Cassandra patchs From: aaron morton In-Reply-To: <15949_1367861274_5187E81A_15949_1001_1_0ad3c37d-0331-4031-a701-86ace84cab1d@THSONEA01HUB02P.one.grp> Date: Tue, 7 May 2013 20:21:47 +1200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <17248_1366992279_517AA597_17248_1033_1_ce4f8a34-b9cd-4834-a6de-c8888effff43@THSONEA01HUB05P.one.grp> <4FD66D07-6FBB-40DE-8DB8-279E43DA731D@thelastpickle.com> <15949_1367861274_5187E81A_15949_1001_1_0ad3c37d-0331-4031-a701-86ace84cab1d@THSONEA01HUB02P.one.grp> To: user@cassandra.apache.org X-Mailer: Apple Mail (2.1503) X-Virus-Checked: Checked by ClamAV on apache.org > Use case =3D rows with rowkey like (folder id, file id) > And operations read/write multiple rows with same folder id =3D> so, = it could make sense to have a partitioner putting rows with same "folder = id" on the same replicas. The entire row key the thing we use to make the token used to both = locate the replicas and place the row in the node. I don't see that = changing.=20 Have you done any performance testing to see if this is a problem? Cheers =20 ----------------- Aaron Morton Freelance Cassandra Consultant New Zealand @aaronmorton http://www.thelastpickle.com On 7/05/2013, at 5:27 AM, DE VITO Dominique = wrote: > > De : aaron morton [mailto:aaron@thelastpickle.com]=20 > > Envoy=E9 : dimanche 28 avril 2013 22:54 > > =C0 : user@cassandra.apache.org > > Objet : Re: cost estimate about some Cassandra patchs > >=20 > > > Does anyone know enough of the inner working of Cassandra to tell = me how much work is needed to patch Cassandra to enable such = communication vectorization/batch ? > >=20 > =20 > > Assuming you mean "have the coordinator send multiple row read/write = requests in a single message to replicas" > >=20 > > Pretty sure this has been raised as a ticket before but I cannot = find one now.=20 > >=20 > > It would be a significant change and I'm not sure how big the = benefit is. To send the messages the coordinator places them in a queue, = there is little delay sending. Then it waits on them async. So there may = be some saving on networking but from the coordinators point of view I = think the impact is minimal.=20 > >=20 > > What is your use case? > =20 > Use case =3D rows with rowkey like (folder id, file id) > And operations read/write multiple rows with same folder id =3D> so, = it could make sense to have a partitioner putting rows with same "folder = id" on the same replicas. > =20 > But so far, Cassandra is not able to exploit this locality as batch = effect ends at the coordinator node. > =20 > So, my question about the cost estimate for patching Cassandra. > =20 > The closest (or exactly corresponding to my need ?) JIRA entries I = have found so far are: > =20 > CASSANDRA-166: Support batch inserts for more than one key at once > https://issues.apache.org/jira/browse/CASSANDRA-166 > =3D> "WON'T FIX" status > =20 > CASSANDRA-5034: Refactor to introduce Mutation Container in write path > https://issues.apache.org/jira/browse/CASSANDRA-5034 > =3D> I am not very sure if it's related to my topic > =20 > Thanks. > =20 > Dominique > =20 > =20 > =20 > >=20 > > Cheers > >=20 > >=20 > > ----------------- > > Aaron Morton > > Freelance Cassandra Consultant > > New Zealand > >=20 > > @aaronmorton > > http://www.thelastpickle.com > =20 > On 27/04/2013, at 4:04 AM, DE VITO Dominique = wrote: >=20 >=20 > Hi, > =20 > We are created a new partitioner that groups some rows with = **different** row keys on the same replicas. > =20 > But neither the batch_mutate, or the multiget_slice are able to take = opportunity of this partitioner-defined placement to vectorize/batch = communications between the coordinator and the replicas. > =20 > Does anyone know enough of the inner working of Cassandra to tell me = how much work is needed to patch Cassandra to enable such communication = vectorization/batch ? > =20 > Thanks. > =20 > Regards, > Dominique > =20 > =20