我正在评估我们的 Cassandra 安装的最佳设计。
Internet 上没有太多关于使用 Cassandra 提供的前两个访问级别(键空间和列族)的信息。
我想知道如果您选择创建大量的键空间或列族(> 10.000),是否会受到惩罚以及会受到什么惩罚。
某处的一篇旧博客文章建议 Cassandra 为每个列族保留内存。这篇文章是关于 0.6 版本的,当前版本是 1.0。仍然是这种情况并且是一个真正的问题吗?
在 Cassandra 中使用数以千计的列族或键空间会有什么后果?
我正在评估我们的 Cassandra 安装的最佳设计。
Internet 上没有太多关于使用 Cassandra 提供的前两个访问级别(键空间和列族)的信息。
我想知道如果您选择创建大量的键空间或列族(> 10.000),是否会受到惩罚以及会受到什么惩罚。
某处的一篇旧博客文章建议 Cassandra 为每个列族保留内存。这篇文章是关于 0.6 版本的,当前版本是 1.0。仍然是这种情况并且是一个真正的问题吗?
在 Cassandra 中使用数以千计的列族或键空间会有什么后果?
Cassandra 1.0 每个 CF 至少使用 1MB 堆。因此,对于典型的堆大小,1000 或 2000 个 CF 是可以的,但 10000 可能不会。JVM GC 在非常大的堆上表现不佳;我建议保持在 8GB 以下。
如果您有很多列族,启动 Cassandra 节点将开始花费更长的时间。它还会影响正在使用的内存量。
因此,该内存量不会用于行/键缓存和索引。随着您不断添加列族,性能可能会进一步下降,具体取决于节点的特定硬件。