如何优化类似Cassandra队列的列族?

时间:2016-05-12 06:33:29

标签: cassandra datastax datastax-enterprise

我有一个类似队列的列系列,每隔一小时就会更新一次。几个小时或一天后,cassandra有很多读取时间。

我试过这个但是还没有得到结果:gc_grace_seconds = 0并使用LeveledCompaction。

或者你会推荐datetieredcompactionstrategy,还是有另外一个更好的策略呢?

如果我无法解决这个问题,我认为切换到另一个数据库你觉得有必要吗?

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

你所做的是anti-pattern并且有很多与之相关的问题,这一点很重要。

那就是说你真的想要控制你的墓碑,因为你越来越多地引起了很多GC问题并增加了读取延迟(必须从磁盘上读取大量数据才能读取空队列)。由于默认tombstone_compaction_interval,您可能无法获得gc_grace设置为零的好处。

我建议您更新compaction strategy以提供帮助:

ALTER TABLE footable WITH
  compaction = {'class': 'LeveledCompactionStrategy', 
    'sstable_size_in_mb': '256mb',
    'tombstone_compaction_interval': '1',
    'unchecked_tombstone_compaction': 'true',
    'tombstone_threshold': '0.05'} AND 
  gc_grace_seconds = 0

请记住,更具攻击性的墓碑删除会使删除失败的可能性达到最高水平。真的,如果可能的话,你应该考虑更新你的应用程序以使用更合适的东西。