在commitlog_segment_size_in_mb方面,write in cassandra是如何工作的?

在commitlog_segment_size_in_mb方面,write in cassandra是如何工作的?,cassandra,cassandra-2.1,Cassandra,Cassandra 2.1,我们在Cassandra中发现错误“17156436字节的变异对于16777216的最大大小来说太大” 我理解,我们应该将commitlog_段大小增加到64MB,因为突变通常使用commitlog_段大小的1/2,而我们使用的是32MB 现在,我明白了commitlog_segment_size_(mb)的工作原理 是因为写操作的大小增加了,还是因为写操作的大小增加了commitlog?我指的是commitlog中的多个写操作或一个大小超过16mb的写请求 提前谢谢 干杯 穆克什·库马尔 我们

我们在Cassandra中发现错误“17156436字节的变异对于16777216的最大大小来说太大”

我理解,我们应该将commitlog_段大小增加到64MB,因为突变通常使用commitlog_段大小的1/2,而我们使用的是32MB

现在,我明白了commitlog_segment_size_(mb)的工作原理

是因为写操作的大小增加了,还是因为写操作的大小增加了commitlog?我指的是commitlog中的多个写操作或一个大小超过16mb的写请求

提前谢谢

干杯

穆克什·库马尔


我们将commitlog_段大小(单位:mb)更新为64,以便它可以写入超过16MB的数据,因为变异是commitlog段的一半。

当一个变异大于
commitlog_段大小(单位:mb)
的一半时,会发出此警告。Cassandra中的突变是数据中的一个变化,可能对应于对同一分区的一个或多个变化(插入/删除/更新)。如果在同一分区上使用未标记的批处理,则此更改也会作为一个变体发送,即使它可能包含数百或数千个更改

实际上,您需要研究为什么会发生这种情况——要么是因为有太大的未标记批处理,最好减少它,要么是因为单行更新太大——例如,如果集合中的元素太多,或者文本太大——这也不是很好,所以最好调整数据模型,等等