cassandra - 在 cassandra 中更新集群键中的值
问题描述
我有一个架构:
标识,目标,价值
id=主键,目标=集群键
现在,我希望根据 id 更新目标中的一些值。这可能吗?
解决方案
虽然您没有提供太多上下文,但在 Cassandra 中,您永远无法更新主键中的列(无论是在分区端还是在集群端)。
实现等效的唯一方法是删除要更新列的行,然后使用更新的值重新插入它。然而,这实际上不应该作为标准操作来完成。(当由于用户或应用程序错误而需要在生产中更新数据时,我使用过此模式,但我从未设计应用程序来使用此模式)。然而,还有另一个问题,如果你“更新”的行是一个宽行,那么经常这样做你会开始遇到墓碑问题,更不用说开销了。
我的建议是,避免更新集群列,尝试以其他方式实现唯一性,并将可更新列移动到常规列。但是,如果您需要该列来获得过滤功能,那么事情就会变得更加困难。
干杯。
推荐阅读
- vue.js - 在 vue 中定位和操作单个 DOM 元素
- c++ - 数组作为函数参数错误查找数组的长度
- redis - Redis 实例映射到单独 CPU 内核背后的机制
- javascript - 多维数组给出“错误”的答案
- javascript - 如何为每个附加的 div 元素设置 onchange 函数
- angular - Angular - 从 json 对象获取属性并将其显示为图像
- python - 在 Python 中解析 json 时如何处理双引号和反斜杠
- python - 如何在使用 Python 3 和 asyncio 实时写入文件时读取文件,例如“tail -f”
- django - 如何使用 Retrofit2 通过移动应用程序中的社交帐户对用户进行身份验证?
- amp-html - 如何在 amp-html 中添加标题图标(网站图标)