首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用cassandra编写commitlog_segment_size_in_mb是如何工作的?

用cassandra编写commitlog_segment_size_in_mb是如何工作的?
EN

Stack Overflow用户
提问于 2019-11-12 18:14:16
回答 1查看 351关注 0票数 1

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

我理解,我们应该将commitlog_segment_size_in_mb增加到64mb,因为突变通常使用commilog_segment_size的1/2,而我们使用的是32mb。

现在,我明白了,commitlog_segment_size_in_mb是如何工作的。

是因为写入的大小增加了,还是因为写入的大小变高而增加了提交日志?我指的是提交日志中的多个写操作,或者一个大小超过16mb的写请求。

提前谢谢。

干杯,

穆凯什·库马尔

我们将commitlog_segment_size_in_mb更新为64,这样它可以写入超过16MB的数据,因为突变是提交日志段的一半。

EN

回答 1

Stack Overflow用户

发布于 2019-11-12 18:32:05

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58816451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档