ソーシャルフィード(ニュースフィード)を作成するタスクがあります。標準機能については説明不要かと思いますが、どれも FB のようです。私はソリューションapache cassandraを選択し、投稿ユーザーに関する情報を保存するためのデータ列Postsを設計しました。
CREATE TABLE Posts (
post_id uuid,
post_at timestamp,
user_id text,
name varchar,
category set<text>,
link varchar,
image set<varchar>,
video set<varchar>,
content map<text, text>,
private boolean,
PRIMARY KEY ((post_id, user_id), post_at)
)
WITH CLUSTERING ORDER BY (post_at DESC) COMPACT STORAGE;
次の表には、id ユーザーの投稿が含まれています。
CREATE TABLE posts_user (
post_id bigint,
post_at timestamp,
user_id bigint,
PRIMARY KEY ((post_id), post_at, user_id)
)
WITH CLUSTERING ORDER BY (post_at DESC) AND COMPACT STORAGE;
どうですか、いいですか?そのようなデータモデルで何を変更しますか?