在 Cassandra 中拥有多个键空间是一种好习惯吗?

Alo*_*tel 5 replication database-design cassandra nosql

我在Amazon EC2上配置了 Cassandra,在单个集群中3 个节点(实例)。现在我想要做的是通过为单个集群中的每个人创建单独的空间,在 Cassandra 上为我的客户提供一些空间。客户端的数量会一天天增加,所以我可以假设创建的密钥空间没有固定数量。

如果我在单个集群中创建过多的键空间,会不会出现性能问题?

如果这不是好的做法,那么还有其他解决方法可以满足我的需要吗?我不想配置多个 Cassandra 实例。

mma*_*oka 0

这取决于。取决于您最终想要有多少个客户端(例如,我们谈论的是数百个还是数千个?)、每个键空间中有多少个表以及它们的使用方式。更多的键空间 x 更多的表 = 更多的内存表要保存在内存中。不同 cassandra 版本的表开销也不同。如果它只是一个标准的“多租户”,那么您可能会考虑将tenant_id 列添加到分区键。

另请查看询问桌子数量的类似帖子。