我有一个 3 节点 cassandra (2.1.8) 集群,我正在使用 titan db (v0.5.4) 在其上运行应用程序。数据量非常小(<20 MB),但由于我的用例需要不时删除,我已经遇到了墓碑问题。我无法摆脱已经创建的墓碑。我尝试的解决方案是:
- 将指定graphindex表的 gc_grace降低到 60s
- 运行 nodetool 刷新
- 运行 nodetool 修复
- 对于 titan.graphindex 表设置压缩选项为 {'class': 'SizeTieredCompactionStrategy', 'unchecked_tombstone_compaction': 'true', 'tombstone_compaction_interval': '0', 'tombstone_threshold': '0.1'};
- 从 jmx 运行 forceUserDefinedCompaction。
结果统计数据有所下降,但平均每片墓碑数和每片最大墓碑数仍然不令人满意:
Table: graphindex
**SSTable count: 1**
Space used (live): 661873
Space used (total): 661873
Space used by snapshots (total): 0
Off heap memory used (total): 6544
SSTable Compression Ratio: 0.6139286819777781
Number of keys (estimate): 4082
Memtable cell count: 0
Memtable data size: 0
Memtable off heap memory used: 0
Memtable switch count: 15
Local read count: 25983
Local read latency: 0.931 ms
Local write count: 23610
Local write latency: 0.057 ms
Pending flushes: 0
Bloom filter false positives: 0
Bloom filter false ratio: 0.00000
Bloom filter space used: 5208
Bloom filter off heap memory used: 5200
Index summary off heap memory used: 1248
Compression metadata off heap memory used: 96
Compacted partition minimum bytes: 43
Compacted partition maximum bytes: 152321
Compacted partition mean bytes: 203
Average live cells per slice (last five minutes): 728.4188892737559
Maximum live cells per slice (last five minutes): 4025.0
**Average tombstones per slice (last five minutes): 317.34938228841935**
**Maximum tombstones per slice (last five minutes): 8031.0**
是否有任何选项可以删除所有墓碑?提前感谢您的任何建议。