我们有带有分级压缩策略的 Cassandra 1.1.1 服务器。
系统工作,以便有读取和删除操作。每半年我们都会删除大约一半的数据,同时有新数据进来。有时磁盘使用率会上升到 75%,而我们知道实际数据占用大约 40-50% 的其他空间被墓碑占用。为了避免磁盘溢出,我们通过将所有 SSTable 降到 0 级来强制压缩表。为此,我们删除 .json 清单文件并重新启动 Cassandra 节点。(gc_grace 选项没有帮助,因为压缩仅在填充级别后开始)
从 Cassandra 2.0 开始,清单文件被移动到 sstable 文件本身:https ://issues.apache.org/jira/browse/CASSANDRA-4872
我们正在考虑迁移到 Cassandra 2.x,但我们担心我们将不再有强制分级压缩的可能性。
我的问题是:我们如何才能使我们的表具有磁盘空间限制,例如 150GB?(当超过限制时,它会自动触发压缩)。问题主要是关于 Cassandra 2.x。同时也欢迎 Cassandra 1.1.1 的任何替代解决方案。