Cassandra删除大量行的最佳实践

Cassandra删除大量行的最佳实践,cassandra,Cassandra,我很好奇人们是如何处理删除大量行的。由于删除了100多万行、墓碑、自动压缩/30秒长的地面军事系统,我们出现了停机。我希望在将来避免这种情况…您需要根据您的模式以不同的方式删除(按优先级顺序,从最好到最差): 截断表 按分区键删除-从pk=id的ks.table中删除 按范围删除-从ks.表中删除,其中pk=id和c1>val1和c1

我很好奇人们是如何处理删除大量行的。由于删除了100多万行、墓碑、自动压缩/30秒长的地面军事系统,我们出现了停机。我希望在将来避免这种情况…

您需要根据您的模式以不同的方式删除(按优先级顺序,从最好到最差):

  • 截断表
  • 按分区键删除-
    从pk=id的ks.table中删除
  • 按范围删除-
    从ks.表中删除,其中pk=id和c1>val1和c1
  • 删除行-从ks.table中删除,其中pk=id,c1=val1,c2=val2`
  • 删除单个单元格-删除col1、col2,其中pk=id`

是的,整个“删除”的事情在卡桑德拉并没有那么好-因为你提到的。如果您有时间序列数据(基本上只插入一次,不插入,最终删除行),那么使用TTLs的TWCS是目前处理这些数据的最佳方式。我不确定你是否有这种类型的数据,但如果你有,我强烈推荐它。您是否必须同时频繁地执行这些大的删除集?我们通常很少执行删除,但是我们的一个开发人员有一个失控的过程—他创建了数百万行。我们仍在努力清理那些乱七八糟的东西。你真的要删除吗?