微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 cassandra 中更新集群键中的值

如何解决在 cassandra 中更新集群键中的值

我有一个架构:

id、目标、值

id=primary key,target=cluster key

现在,我希望根据 id 更新目标中的一些值。这可能吗?

解决方法

虽然您没有提供太多上下文,但在 Cassandra 中,您永远无法更新主键中的列(在分区端或集群端)。

实现等效的唯一方法是删除要更新列的行,然后使用更新后的值重新插入它。然而,这不应该真正作为标准操作来完成。 (当由于用户或应用程序错误而需要在生产中更新数据时,我使用了此模式,但我从未将应用程序设计为使用此模式)。然而,还有另一个问题,如果您“更新”的行是宽行,那么经常这样做您会开始遇到墓碑问题,更不用说开销了。

我的建议是,避免更新聚类列,尝试以其他方式实现唯一性并将可更新列移至常规列。但是,如果您需要该列来实现过滤功能,那么事情就会变得更加困难。
干杯。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。