【发布时间】:2015-04-11 14:28:45
【问题描述】:
大家好。我仍然是 Cassandra 的菜鸟,所以请多多包涵。
我的问题是,当我运行主要压缩时,我是否必须在所有节点中运行它,或者我只需要在一个节点中运行它,这将触发所有剩余节点中的主要压缩?
【问题讨论】:
标签: cassandra
大家好。我仍然是 Cassandra 的菜鸟,所以请多多包涵。
我的问题是,当我运行主要压缩时,我是否必须在所有节点中运行它,或者我只需要在一个节点中运行它,这将触发所有剩余节点中的主要压缩?
【问题讨论】:
标签: cassandra
如果使用nodetool compact,它将仅在您运行 nodetool 的 cassandra 节点上执行主要压缩。我会避免在生产中同时对所有节点进行主要压缩,因为压缩会影响性能。您还应该有充分的理由进行重大压缩,因为这是一项昂贵的操作,而且在大多数用例中您都不会这样做。
【讨论】:
您的数据模型听起来很像队列,这是众所周知的 cassandra 反模式。
一般来说,如果您希望您的数据一次只存在 5 分钟,那么强制执行主要压缩可能是您能做的最糟糕的事情 - 理想情况下,您希望使用 TTL,或者可能将 GCGS 降到非常低并且考虑使用 Date Tiered Compaction 而不是 Size tiered 或 Leveled,以便可以快速有效地删除整个 sstable。
【讨论】: