cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David McNelis <dmcne...@agentisenergy.com>
Subject Re: For multi-tenant, is it good to have a key space for each tenant?
Date Fri, 07 Oct 2011 14:36:51 GMT
Reviving this thread...

Say you want to enable potentially thousands of tenants with their own sets
of column families?  In this situation a keyspace for each tenant wouldn't
work it would seem...what issues would we likely see if we were to build out
thousands of column families (where a column family name contains a unique
identifier to the tenant)?  In some documentation I've read it says that
keyspace's take up the majority of the resources, in a couple of older
threads they talked about getting the number of column families down.

At the end of the day the best part of cassandra is not having to
shard...but in this  instance, it seems like multiple clusters would make
the most sense, where you'd need to find the keyspace/column family sweet
spot for your application.

Ideally I'd think you'd want to be able to have a keyspace for each tenant,
then as many column families as that tenant required, and be able to do it
on a single cluster.

Has anyone come up with a rule of thumb regarding number of keyspaces /
column families?

On Thu, Aug 25, 2011 at 1:13 PM, Nate McCall <nate@datastax.com> wrote:

> We have a 'virtual keyspaces' feature baked into the Hector client
> that might be of interest:
> https://github.com/rantav/hector/wiki/Virtual-Keyspaces
>
> On Thu, Aug 25, 2011 at 8:23 AM, Terje Marthinussen
> <tmarthinussen@gmail.com> wrote:
> >
> > Depends of course a lot on how many tenants you have.
> > Hopefully the new off heap memtables is 1.0 may help as well as java gc
> on large heaps is getting a much bigger issue than memory cost.
> > Regards,
> > Terje
> > On 25 Aug 2011, at 14:20, Himanshi Sharma <himanshi.sharma@tcs.com>
> wrote:
> >
> >
> > I am working on similar sort of stuff. As per my knowledge, creating
> keyspace for each tenant would impose lot of memory constraints.
> >
> > Following Shared Keyspace and Shared Column families would be a better
> approach. And each row in CF could be referred by tenant_id as row key.
> > And again it depends on the type of application.
> >
> > Hey this is just a suggestion, m not completely sure.. :)
> >
> >
> > Himanshi Sharma
> >
> >
> >
> >
> > From: Guofeng Zhang <guofengzh@gmail.com>
> > To: user@cassandra.apache.org
> > Date: 08/25/2011 10:38 AM
> > Subject: For multi-tenant, is it good to have a key space for each
> tenant?
> > ________________________________
> >
> >
> > I wonder if it is a good practice to create a key space for each tenant.
> Any advice is appreciated.
> >
> > Thanks
> >
> >
> > =====-----=====-----=====
> > Notice: The information contained in this e-mail
> > message and/or attachments to it may contain
> > confidential or privileged information. If you are
> > not the intended recipient, any dissemination, use,
> > review, distribution, printing or copying of the
> > information contained in this e-mail message
> > and/or attachments to it are strictly prohibited. If
> > you have received this communication in error,
> > please notify us by reply e-mail or telephone and
> > immediately and permanently delete the message
> > and any attachments. Thank you
> >
> >
>



-- 
*David McNelis*
Lead Software Engineer
Agentis Energy
www.agentisenergy.com
o: 630.359.6395
c: 219.384.5143

*A Smart Grid technology company focused on helping consumers of energy
control an often under-managed resource.*

Mime
View raw message