在Scylla数据库中,从SizeTiered切换到级别压缩策略需要多少磁盘空间



我有一个20节点的scylla db集群,每个节点的磁盘空间使用率为70%。我想从大小分层策略切换到分层压缩策略。我能用剩下的这么多磁盘空间吗?最大需要多少磁盘空间?

通常使用"大小分层压缩策略"或"水平压缩策略"时,您希望保留大约50%的可用磁盘空间。

我们有一个Scylla Enterprise功能,增量压缩策略,它更适合在70%的磁盘利用率下舒适地运行。

更改压缩策略和重写所有当前表所需的磁盘空间是当前使用的磁盘空间的两倍。(目前使用率的140%。(因此,您可能需要临时扩展集群才能正确运行压缩。

据我所知,这首先需要时间来均衡地重新平衡节点。然后,您应该使用现有策略进行全面压缩,并更改为新策略。然后,如果您已经通过压缩节省了空间,那么您就可以解除任何不需要的节点。

如果您有更具体的问题,我邀请您加入我们的Slack,直接询问我们的社区成员。

如前所述,您没有足够的磁盘空间来切换压缩策略。我可以想出2种或3种方法来解决这个问题。

  1. 添加更多磁盘空间-如果您在云环境中,增加数据磁盘和扩展文件系统可能不会成为问题
  2. 添加更多节点-但是,这需要一段时间,因为数据必须流式传输到所有新节点,然后您需要在集群上运行nodetool cleanup来回收未使用的空间
  3. 一次更改一个表的压缩策略。从可以容纳30%空间的小桌子开始。这也将花费很长时间,并且如果您选择了错误的表来进行ALTER,则存在空间不足的风险

最新更新