我正在尝试使用Cassandra构建新闻馈送系统,我正在考虑使用扇出方法,其中如果用户发布新帖子,我会在他的所有文章中写入新记录朋友的饲料表。表结构看起来像:更新Cassandra中的非规范化数据
CREATE TABLE users (
user_name TEXT,
first_name TEXT,
last_name TEXT,
profile_pic TEXT,
PRIMARY KEY (user_name)
);
CREATE TABLE user_feed (
user_name TEXT,
posted_time TIMESTAMP,
post_id UUID,
posted_by TEXT, //posted by username
posted_by_profile_pic TEXT,
post_content TEXT,
PRIMARY KEY ((user_name), posted_time)
) WITH CLUSTERING ORDER BY(posted_time desc);
现在,我可以得到一个特定用户的饲料在单个查询中一切正常。如果发布Feed的用户更新了他的个人资料照片,该怎么办?我如何去更新user_feed表中的数据?
你'users'表看看显示的'主键user_id'但是没有'user_id'的列? – markc
对不起,主键是user_name – gameOne
因此,如果用户更新他们的个人资料图片,那么您将写入给定事件的两个表,如果用户更新他们的个人资料图片,那么它也会作为“个人资料更新”事件进入'user_feed'表它会不会? – markc