我正在嘗試使用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