在Cassandra的Map type列中使用密集更新是反模式的吗?

在Cassandra的Map type列中使用密集更新是反模式的吗?,cassandra,anti-patterns,Cassandra,Anti Patterns,朋友们 我正在Cassandra中建模一个表,其中包含一个映射列。所以这个映射应该包含动态值,并且该行的更新量很大(我将使用主键更新) 这是反模式吗?我应该考虑其他选项吗? < P>你想做的可能是我所描述的。 我想到的第一个大限制是规范中给出的限制: 64KB是集合中项目的最大大小 65536是集合中可查询元素的最大数目 还有其他帖子中描述的问题 无法检索集合的一部分:即使映射的每个条目在内部存储为列,也只能检索整个集合(这可能会导致性能非常慢) 您必须选择是在键上创建索引还是在值上创建索引

朋友们

我正在Cassandra中建模一个表,其中包含一个映射列。所以这个映射应该包含动态值,并且该行的更新量很大(我将使用主键更新)


这是反模式吗?我应该考虑其他选项吗?

< P>你想做的可能是我所描述的。

我想到的第一个大限制是规范中给出的限制:

  • 64KB是集合中项目的最大大小
  • 65536是集合中可查询元素的最大数目
还有其他帖子中描述的问题

  • 无法检索集合的一部分:即使映射的每个条目在内部存储为列,也只能检索整个集合(这可能会导致性能非常慢)
  • 您必须选择是在键上创建索引还是在值上创建索引,两者都不受支持
  • 由于映射是类型化的,所以不能将混合值放入其中:必须将所有内容表示为字符串或字节,然后转换数据客户端
  • 我个人认为这种方法是一种反模式,因为所有这些原因——这种方法提供了一种无模式的解决方案,但是降低了性能,并引入了许多限制,如一次索引和打字。
    HTH,Carlo

    你能展示一些更新命令的示例吗?如果你能提供你对这些命令的看法,那就太好了。这会有很大的帮助。谢谢