cassandra注释表数据建模

cassandra注释表数据建模,cassandra,datastax,cassandra-3.0,Cassandra,Datastax,Cassandra 3.0,我想执行查询,选择*from comments_by_post,其中post_id='postid'; 我设计了如下的评论表- CREATE TABLE comments_by_post ( post_id text, posted_timestamp timestamp, actor_id text, comment_id text, actor_info frozen<actor>, actor_type text, com

我想执行查询,选择*from comments_by_post,其中post_id='postid'; 我设计了如下的评论表-

CREATE TABLE comments_by_post (
    post_id text,
    posted_timestamp timestamp,
    actor_id text,
    comment_id text,
    actor_info frozen<actor>,
    actor_type text,
    comment text,
    PRIMARY KEY (post_id, posted_timestamp, actor_id, comment_id)
) WITH CLUSTERING ORDER BY (posted_timestamp DESC, actor_id ASC, comment_id ASC)
通过发布创建表注释(
post_id文本,
张贴时间戳时间戳,
演员id文本,
注释id文本,
演员信息冻结,
演员类型文本,
评论文本,
主键(post\u id、post\u时间戳、actor\u id、comment\u id)
)使用集群顺序(发布的时间戳描述、参与者id ASC、注释id ASC)

一切进展顺利,但问题是当参与者更新他/她的信息时,我如何更新参与者信息,因为要更新信息,我需要提供post_id、posted_时间戳和参与者id,而一次更新一行信息是不可行的。什么是最佳表。

冻结值将多个组件序列化为单个值。非冻结类型允许对单个字段进行更新。Cassandra将冻结类型的值视为blob。必须覆盖整个值

因此,当更新有关某个参与者的信息时,您应该更新comments表中该参与者的整个值


稍后编辑:由于actor_信息不会经常更新,您可以在actor_id上进行选择,以获取完整的主键,然后进行更新。在此之前,必须创建演员id的二级索引

问题是要更新演员信息,我还必须在演员id旁边提供发布的演员时间戳。你能提供演员的定义吗?