我有创建社交提要(新闻提要)的任务。我认为没有必要解释标准功能 - 一切都像 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;
你觉得怎么样,好不好?你对这样的数据模型做了什么改变?