In a recent thread (https://community.datastax.com/questions/12565/why-is-a-truncate-causing-nodes-to-go-down.html), the following point was stated about limiting the number of Cassandra tables.
We recommend a maximum of 200 tables total per cluster across all keyspaces (regardless of the number of keyspaces). Each table uses 1MB of memory to hold metadata about the tables so in your case where 1GB is allocated to the heap, 500-600MB is used just for table metadata with hardly any heap space left for other operations.
I find a recommended limit of 200 tables astoundingly small. Given that Cassandra is used for storing very high volumes of data across dozens of nodes in large commercial companies, how is such a small upper limit even feasible? It seems like a single significant use case for storing data in Cassandra for analytical, archival, or historical purposes could add this many tables to a cluster.
I understand that Cassandra is a 'query-first', columnar database that should not consist of many normalized tables as would be the case in an RDBMS. Even so, how can an entire cluster spanning many servers and sites support a diverse set of users and applications with so few tables? Any other documentation, guidelines, or examples you can reference might help.
Or is this is a case where the recommended limit is governed by memory requirements (~1mb heap memory per table as mentioned above), so that it is really a memory sizing problem rather than an actual upper limit?