cassandra - system.log 中的墓碑扫描
问题描述
我有一个删除用例较少的 cassandra 集群。我在我的 system.log 中发现“ Read 10 live and 5645464 tombstones cell in keyspace.table ”是什么意思?请帮助理解。
谢谢。
解决方案
对于 Cassandra,所有记录的信息都是不可变的。这意味着当您进行删除操作时(使用 delete 语句或使用 Time To Live [ TTL
] 子句显式),数据库将添加另一个带有名为 tombstone 的特殊标志的记录。所有这些记录都将保留在数据库中,直到gc_grace_seconds
期限结束;默认值为 10 天。
在您的情况下,引擎发现检索到的大部分记录已被删除,但它们仍在等待 gc_grace_seconds 通过,让压缩回收空间。解决该问题的一种可能选择是减少gc_grace_seconds
该表的数量。
有关更多信息,请参阅Last Pickle 中的这篇文章。
推荐阅读
- debugging - VS 2017 xamarin android项目中未命中断点
- css - CSS阴影真棒效果
- angular - 服务工作者服务器图像缓存
- java - 即使 Appnext SDK 不在 AndroidManifest.xml 中,它如何为它的广告启动自己的活动?
- javascript - 当我使用webpack的externals属性分隔大型库(如React)时,浏览器报错
- phabricator - Phabricator:源文件 ManiphestEditAssignCapability.php 未能加载
- laravel - 如何在laravel中将网站转换为选定的语言
- javascript - 为什么我的 SVG 的填充颜色在悬停时没有改变?
- symfony - 我可以使用 Twig 在循环中重复 Symfony 表单,还是必须手动构建它?
- javascript - 如何从 TypeScript 文件生成类型定义文件?