我可以在给定的 Cassandra 集群中创建多少个表?有限制吗?

How many Max number of tables I can create in a given Cassandra cluster ? Is there a limit?

假设我有 6 个节点集群,m4.2xl(~ 8CPU 32GB RAM) - 我最多可以跨键空间创建多少个表?给定键空间的最大表数是否有限制?

非常感谢您的回复!

当集群中的 table 过多时,性能可能会下降。对于每个 table 你需要分配一个额外的内存,等等。无论是否有人写入它都是独立的。来自 DataStax 文档:

The table thresholds have additional dependencies on JVM Heap and the byte count. Each table uses approximately 1 MB of memory. For each table being acted on, there is a memtable representation in JVM Heap. Tables with large data models increase pressure on memory. Each keyspace also causes additional overhead in JVM memory; therefore having lots of keyspaces may also reduce the table threshold.

DataStax recommends不要超过500个,虽然我看到的比较多,但是需要额外调优table参数。

有太多 tables 是 Cassandra 中的反模式。很难直接从集群中的 table 个数字来衡量性能影响。因为当然可能还有其他因素。但是,Datastax 提供了一些门槛;

Warning threshold: 200 tables. The cluster may run smoothly above this threshold, but once your database reaches the warning threshold, it's time to start monitoring and planning a re-architecture. If possible, remove unused and underutilized tables.

Failure threshold: 500 tables. On a cluster that has exceeded 500 tables, expect problems and errors, including (but not limited) issues related to high memory usage and compactions.