Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 1D4DC200B45 for ; Fri, 15 Jul 2016 10:10:24 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1C106160A6C; Fri, 15 Jul 2016 08:10:24 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 61F29160A61 for ; Fri, 15 Jul 2016 10:10:23 +0200 (CEST) Received: (qmail 16012 invoked by uid 500); 15 Jul 2016 08:10:22 -0000 Mailing-List: contact dev-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list dev@cassandra.apache.org Received: (qmail 15980 invoked by uid 99); 15 Jul 2016 08:10:21 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Jul 2016 08:10:21 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id EE68EC0B7C for ; Fri, 15 Jul 2016 08:10:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.198 X-Spam-Level: * X-Spam-Status: No, score=1.198 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.fr Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id Zs_y8CHqqzv6 for ; Fri, 15 Jul 2016 08:10:19 +0000 (UTC) Received: from nm4-vm5.bullet.mail.ir2.yahoo.com (nm4-vm5.bullet.mail.ir2.yahoo.com [212.82.96.103]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 093655F3F3 for ; Fri, 15 Jul 2016 08:10:19 +0000 (UTC) Received: from [212.82.98.127] by nm4.bullet.mail.ir2.yahoo.com with NNFMP; 15 Jul 2016 08:10:12 -0000 Received: from [212.82.98.95] by tm20.bullet.mail.ir2.yahoo.com with NNFMP; 15 Jul 2016 08:10:12 -0000 Received: from [127.0.0.1] by omp1032.mail.ir2.yahoo.com with NNFMP; 15 Jul 2016 08:10:12 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 161737.47321.bm@omp1032.mail.ir2.yahoo.com X-YMail-OSG: eprf77AVM1ko1tedD_9VW_MuaTav3MsR0xEQh1Cl1Dsy3U3alPlx2utYEy0PG1r 5E7G9T8yA43g_6y20kIaOAspBRfGYd64k3nj1qzn6BYc8pSJFJXIoXoi_j6zUFPCONs1LskoY5AI 3gv4LPtxLrVZV18TNggjSLM8SNqsd36ja9NM2TLxkoDFSPelfCnZIW88PhaO7kPNU0.aYY62PNQI ntPMvQutOWZfUEV6Mw7fvsQW3EhK2akRNRHpBbfWk7IvdTH6.mZxPNKkZTPd1rKnm49JFfqpmGb7 HeoEQUdYubm7lEV9Hldiq4Xxy7n7E4_gZ4rQRMdUJq9mU6hFAe0_uZCrQttq7.aOIsWMPsyrPtar x5pe_nGXi7uWyDzW4crVeQymEYRe38IdKiaKpqVl9X.wxYcFNMtSAVffs_b_PKiYGs5LOqHF8NO8 qroJSdnOSB4w_mRzEsd5zqU06oFi9ESTpnD_yHCkjYMd0z61CDKrgWQrQcfebLTD0o9FaMvpXZ7t XeSPuOB_PPLKpvQGjHvl_ojlC5rBvpCpoZQ-- Received: from jws11160.mail.ir2.yahoo.com by sendmailws110.mail.ir2.yahoo.com; Fri, 15 Jul 2016 08:10:11 +0000; 1468570211.721 Date: Fri, 15 Jul 2016 08:10:11 +0000 (UTC) From: Romain Hardouin Reply-To: Romain Hardouin To: "dev@cassandra.apache.org" Message-ID: <939571086.5374129.1468570211288.JavaMail.yahoo@mail.yahoo.com> In-Reply-To: References: Subject: Re: Support Multi-Tenant in Cassandra MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_5374128_1529339468.1468570211284" archived-at: Fri, 15 Jul 2016 08:10:24 -0000 ------=_Part_5374128_1529339468.1468570211284 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I don't use C* in such a context but out of curiosity did you set the=C2=A0= request_scheduler to RoundRobin or did you implement your own scheduler?=20 Romain Le Vendredi 15 juillet 2016 8h39, jason zhao yang a =C3=A9crit : =20 Hi, May I ask is there any plan of extending functionalities related to Multi-Tenant? Our current approach is to define an extra PartitionKey called "tenant_id". In my use cases, all tenants will have the same table schemas. * For security isolation: we customized GRANT statement to be able to restrict user query based on the "tenant_id" partition. * For getting all data of single tenant, we customized SELECT statement to support allow filtering on "tenant_id" partition key. * For server resource isolation, I have no idea how to. * For per-tenant backup restore, I was trying a tenant_base_compaction_strategy to split sstables based on tenant_id. it turned out to be very inefficient. What's community's opinion about submitting those patches to Cassandra? It will be great if you guys can share the ideal Multi-Tenant architecture for Cassandra? jasonstack ------=_Part_5374128_1529339468.1468570211284--