Hi Jack,

Thanks for the reply.

Each tenant will has around 50-100 tables for their applications. probably
log collection, probably account table, it's not fixed and depends on
tenants' need.

There will be a team in charge of helping tenant to do data modeling and
access patterns. Tenants will not directly admin on the cluster, we will
take care.

Yes, multi-cluster is a solution. But the cost will be quite high, because
each tenant's data is far less than the capacity of a 3 node cluster. So I
want to put multiple tenants into one clusters.



Jack Krupansky <jack.krupan...@gmail.com>于2016年4月6日周三 上午10:41写道:

> What is the nature of these tenants? Are they each creating their own data
> models? Is there one central authority that will approve of all data models
> and who can adjust the cluster configuration to support those models?
>
> Generally speaking, multi-tenancy is an anti-pattern for Cassandra and for
> most servers. The proper way to do multitenancy is to not do it at all, and
> to use separate machines or at least separate virtual machines.
>
> In particular, there needs to be a central authority managing a Cassandra
> cluster to assure its smooth operation. If each tenant is going in their
> own directions, then nobody will be in charge and capable of assuring that
> everybody is on the same page.
>
> Again, it depends on the nature of these tenants and how much control the
> cluster administrator has over them.
>
> Think of a Cassandra cluster as managing the data for either a single
> application or a collection of applications which share the same data. If
> there are multiple applications that don't share the same data, then they
> absolutely should be on separate clusters.
>
>
> -- Jack Krupansky
>
> On Tue, Apr 5, 2016 at 5:40 PM, Kai Wang <dep...@gmail.com> wrote:
>
>> Once a while the question about table count rises in this list. The most
>> recent is
>> https://groups.google.com/forum/#!topic/nosql-databases/IblAhiLUXdk
>>
>> In short C* is not designed to scale with the table count. For one each
>> table/CF has some fixed memory footprint on *ALL* nodes. The consensus is
>> you shouldn't have more than "a few hundreds" of tables.
>>
>> On Mon, Apr 4, 2016 at 10:17 AM, jason zhao yang <
>> zhaoyangsingap...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> This is Jason.
>>>
>>> Currently, I am using C* 2.1.10, I want to ask what's the optimal number
>>> of tables I should create in one cluster?
>>>
>>> My use case is that I will prepare a keyspace for each of my tenant, and
>>> every tenant will create tables they needed. Assume each tenant created 50
>>> tables with normal workload (half read, half write).   so how many number
>>> of tenants I can support in one cluster?
>>>
>>> I know there are a few issues related to large number of tables.
>>> * frequent GC
>>> * frequent flush due to insufficient memory
>>> * large latency when modifying table schema
>>> * large amount of tombstones during creating table
>>>
>>> Is there any other issues with large number of tables? Using a 32GB
>>> instance, I can easily create 4000 tables with off-heap-memtable.
>>>
>>> BTW, Is this table limitation solved in 3.X?
>>>
>>> Thank you very much.
>>>
>>>
>>
>

Reply via email to