カサンドラを使ってニュースフィードシステムを構築しようとしていますが、ユーザーが新しい投稿を投稿すると、友達のフィードテーブル。テーブルの構造は次のようになります。カサンドラで非正規化データを更新する
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);
ここで、1つのクエリで特定のユーザーのフィードをすべて取得できます。フィードを投稿したユーザーがプロフィールを更新した場合はどうなりますか? user_feedテーブルのデータを更新するにはどうすればよいですか?
あなた 'users'テーブルを見てみましょう'の主キーを示していuser_id'の列はありません。 – markc
申し訳ありませんが、プライマリキーはuser_name – gameOne
です。つまり、ユーザーが自分のプロフィール画像を更新すると、「プロフィール更新」イベントとして 'user_feed'テーブルにも移動しますそれはありませんか? – markc