y******l 发帖数: 16 | 1 原文在这里
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=13
实现function:
1. subscribe / unsubscribe feeds
2. mark 整个feed topic as read / unreader
table schema :
user table:.
id name ... join_date
Feed table:
id name created_date
Post table: ( 1 feed includ many posts)
id feedId created_date
Post_status table:. From 1point 3acres bbs
id userId, postId, status (read/unread) created_time
================================================
对于第二个 function, 除了用Post_status挨个mark postId, 我们 可以design 一个
table 如下:
Feed_status table:
id userId feedId status (read/unread) postTime postIdRange
如果 user mark 完了 , 还有新的post 进来 , 我们可以用Post Time 来标识,
或者我们可以用个postId range 来表示 在user mark all as read/unread 时候的所
有 postId, 我们认为 新的 postId 总是更大。
还有更好的办法么? 不知道为啥被挂了 | x*****n 发帖数: 195 | 2 这种multi tenants system,楼主讨论scale的问题了么?简单得修改table里的row的
值,会不会经常出现table level locking的情况呢。或者加入sharding,queue,
cache,那又怎么做呢?
我的想法reader会涉及到不少读和写,具体多少和频率跟fb feeds一样完全因人而已,
怎么优化。好多因为要考虑,至少得跟面试官简单探讨一下。 |
|