理论上,Cassandra允许多达20亿列。
我听说实际上高达50.000 cols / 50 MB就可以了; 50.000-100.000 cols / 100 MB可以,但需要一些调整;并且每行不应超过100.000 / 100 MB列。原因是这将给堆积压力。
这有什么道理吗?
答案 0 :(得分:20)
在Cassandra,the maximum number of cells (rows x columns) in a single partition is 2 billion。
此外,单个列值可能不会大于2GB,但实际上,“MB的单个数字”是一个更合理的限制,因为没有流式或随机访问blob值。
大于100Mb的分区可能会对堆产生很大的压力。
答案 1 :(得分:2)
由于我们遇到了新的写入模式,我们的一张cassandra 1.2表格每行限制通过100 MB列。我们在压缩和缓存方面都遇到了巨大的压力。顺便说一句,我们有几百MB的行。
一种方法是重新设计表并将表迁移到更好设计的表,这样可以使您的宽行保持在该限制之下。如果这不是一个选项,那么我建议调整你的cassandra,以便compactions和caches配置可以有效地处理你的宽行。
要调整的一些有趣的链接: