Cassandra 至少对我来说,税收是误导性的 at most 10% of space will be wasted by obsolete rows.
取决于我们如何定义“过时行”。如果“过时的行”被定义为所有应该被压缩的行,在你的例子中,这些“过时的行”将是年龄=30,年龄=29,年龄=28。我们最终可能会浪费(N-1)/N空间,因为这些“年龄”可能处于不同的级别。我希望这里有魔力酱 我们将在集群中以滚动方式执行JMX触发的LCS->STCS->LCS。压缩策略的切换迫使LCS结构化sstables重新构造并应用墓碑(在我们的cassandra版本中,我们不能强制LCS压缩) 有nodetool命令可以强制表之间进行压缩,但这可能会破坏LCS。也有nodetool命令可以重新分配sstables的级别,但同样,如果破坏LCS的结构,这可能会破坏LCS 真正应该发生的是,行墓碑应该放在单独的sstable类型中,该类型可以根据“数据”独立处理sstables以进行清除。逻辑删除sstable数据sstable处理不会删除逻辑删除sstable,只会从逻辑删除sstable中删除在数据sstable处理/删除/修剪后不再需要的逻辑删除。这些逻辑删除可以归类为“清除”用于大规模数据删除的墓碑,而不是与数据混合的更特别的“删除”墓碑。但谁知道何时会将其添加到Cassandra中Cassandra 至少对我来说,税收是误导性的 at most 10% of space will be wasted by obsolete rows.,cassandra,Cassandra,取决于我们如何定义“过时行”。如果“过时的行”被定义为所有应该被压缩的行,在你的例子中,这些“过时的行”将是年龄=30,年龄=29,年龄=28。我们最终可能会浪费(N-1)/N空间,因为这些“年龄”可能处于不同的级别。我希望这里有魔力酱 我们将在集群中以滚动方式执行JMX触发的LCS->STCS->LCS。压缩策略的切换迫使LCS结构化sstables重新构造并应用墓碑(在我们的cassandra版本中,我们不能强制LCS压缩) 有nodetool命令可以强制表之间进行压缩,但这可能会破坏LCS
at most 10% of space will be wasted by obsolete rows.