网上有一些文档和文章建议使用时间窗口压缩策略(TWCS)关闭表的读取修复,因为它将属于旧桶的数据混合到新桶中,这会导致更高的读取放大。我想知道一些常见的节点操作是否会导致类似的事情。具体来说,添加节点、替换死节点、运行nodetool repair、运行nodetool decommission或运行nodetool rebuild。
nodetool repair
nodetool decommission
nodetool rebuild
j2datikz1#
您应该禁用对TWCS表的修复,也不要运行任何手动修复。原因是修复不会将不一致的数据放在旧桶中,而是将突变放入当前桶中。这意味着当前桶的sstable将不能丢弃,直到该特定变化由于TTL到期而能够丢弃。关于添加/移除节点,每个sstable文件包含元数据中每个sstable的最大时间戳,等等流式传输(添加/移除节点)sstable被添加到其正确和预期的窗口。
1条答案
按热度按时间j2datikz1#
您应该禁用对TWCS表的修复,也不要运行任何手动修复。原因是修复不会将不一致的数据放在旧桶中,而是将突变放入当前桶中。这意味着当前桶的sstable将不能丢弃,直到该特定变化由于TTL到期而能够丢弃。
关于添加/移除节点,每个sstable文件包含元数据中每个sstable的最大时间戳,等等流式传输(添加/移除节点)sstable被添加到其正确和预期的窗口。