在cassandra中更新集群键中的值

Updating values in cluster key in cassandra

我有一个模式:

id, target, 值

id=主键,target=簇键

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

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

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

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