我们有一个冗余列,希望从 Cassandra 数据库(版本 2.1.15)中删除。这是一个文本列,代表磁盘上的大部分数据(15 个节点 X 每个节点 1.8 TB)。
最简单的选择似乎是更改表来删除该列,然后让 Cassandra 压缩来处理事情(还运行 Cassandra Reaper 来管理修复)。然而,考虑到数据集的大小,我担心我会通过大量删除来破坏集群。
我考虑的其他选项是一个将通过键空间运行的过程,将值设置为 null,但我认为这与删除列具有相同的效果,但更不受控制(但也需要编写一些东西来执行此操作) )。
有人对如何解决这个问题有任何建议吗?
Thanks!
删除列确实会将已删除的值标记为逻辑删除。列值立即变得不可用,并且列数据将在下一个压缩周期中删除。
如果您想在压缩发生之前加快删除列的速度,您可以运行节点工具升级稳定使用后删除数据修改表命令更改列的元数据。
请参阅文档: https://docs.datastax.com/en/cql/3.1/cql/cql_reference/alter_table_r.html https://docs.datastax.com/en/cql/3.1/cql/cql_reference/alter_table_r.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)