【发布时间】:2020-04-23 20:43:22
【问题描述】:
我想了解 truncate 命令在 Cassandra(3.9 版)中的工作原理,以便能够知道在以下情况下会发生什么:
- 我的生产表中有大约 100GB 的数据需要截断。
- 我想截断这个表,但同时每秒会有几百个请求同时进行插入。
我试图理解,理论上这将如何发挥作用。
-
truncate会在继续之前尝试在表上获取某种锁吗?并可能停止插入请求或本身超时? - 或者
truncate会在请求进入时按顺序通过,随后的插入请求会创建额外的行,而我最终会在截断后剩下少量行。
我只是想回收空间,所以如果在 truncate 命令之后运行的插入请求中剩余少量数据,我并不特别担心。
我只是想了解您是否希望这会成功完成,否则会失败/超时。
我将尝试在较小的集群上运行类似的场景,但我不确定这是否可以很好地替代了解实际行为。任何输入都会有所帮助。
【问题讨论】: