最大。宽行的大小?

时间:2015-03-06 06:23:40

标签: cassandra datastax cassandra-2.1

理论上,Cassandra允许多达20亿列。

我听说实际上高达50.000 cols / 50 MB就可以了; 50.000-100.000 cols / 100 MB可以,但需要一些调整;并且每行不应超过100.000 / 100 MB列。原因是这将给堆积压力。

这有什么道理吗?

2 个答案:

答案 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配置可以有效地处理你的宽行。

要调整的一些有趣的链接:

Cassandra Performance Tuning

in_memory_compaction_limit_in_mb