cassandra - Cassandra 删除大量行的最佳实践
问题描述
我很好奇人们如何处理大量行的删除。由于删除了一百万多行、墓碑、自动压缩/30 秒长的 GC,我们遇到了中断。我想在未来避免这种情况......
解决方案
您需要删除不同的方式,具体取决于您的架构(按优先级顺序,从好到坏):
- 截断表
- 按分区键删除 -
delete from ks.table where pk = id
- 按范围删除 -
delete from ks.table where pk = id and c1 > val1 and c1 < val2
- 删除行 - 从 ks.table 中删除,其中 pk = id 和 c1 = val1 和 c2 = val2 ...`
- 删除单个单元格 - 删除 col1, col2 where pk = id ....`
推荐阅读
- html - 如何在 HTML 中为段落着色?
- mysql - 我不明白两个查询之间 EXPLAIN 输出的区别。唯一的区别是 MYSQL 中的 LEFT JOIN 与 INNER JOIN
- drupal - Drupal 升级后 Drupal 模块丢失
- eclipse - 在 STS 中安装 Mac os Lombok
- javascript - 从地图文件中获取上下文
- java - 将本地时间转换为 EST 时区
- image-processing - 如何检查图像是否为损坏的图像?
- unity3d - 为什么 Input.MouseButtonDown 和 OnPointerClicked 不在同一帧中触发?
- javascript - 如何使动画完全可见html
- jekyll-paginator - Paginator 不在 github 页面上工作,但它在 localhost 上工作