gpt4 book ai didi

cassandra - Cassandra 何时从 SSTable 中删除数据

转载 作者:行者123 更新时间:2023-12-02 23:00:32 25 4
gpt4 key购买 nike

在 Cassandra 2.x 中,当我删除一列或多列时,它们会在 Memtable 中收到一个逻辑删除,但数据不会被删除。在某个时刻,Memtable 会刷新到 SSTable,其中包括已删除的数据和逻辑删除。当压缩运行时,它将保留具有指定宽限期的逻辑删除。数据会发生什么情况?我上周删除了一堆列 - 不到 gc_grace_seconds 前。我不确定压缩是否已经运行。我还没有看到所使用的磁盘大小有任何变化,所以我想知道数据在什么时候从磁盘中物理删除?

最佳答案

In Cassandra 2.x when I delete one or multiple columns, they receive a tombstone in the Memtable but the data is not removed. At some point, the Memtable is flushed to an SSTable including the deleted data and the tombstone. When compaction is running, it will retain the tombstone with the specified grace period.

正确。

What happens to the data?

数据将在磁盘上保留至少 gc_grace_seconds。 gc_grace_seconds 之后的下一次小压缩可能将其删除,但实际时间主要取决于您的数据集和工作负载类型。

I have deleted a bunch of columns last week - less than gc_grace_seconds ago. I am not sure compaction has run yet. I haven't seen any change on disk size used yet, so I was wondering at which point is the data physically removed from disk?

如果您想释放一些磁盘空间,您可以:

  • 等待 gc_grace_seconds 进行正常的次要压缩。
  • 运行nodetoolcompact,这将触发当前节点上的主要压缩,立即释放磁盘空间。

关于cassandra - Cassandra 何时从 SSTable 中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25886188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com