【发布时间】:2011-07-15 22:05:38
【问题描述】:
我想知道 id 为 x 的用户与 id 为 z,y,w 的用户是朋友的信息是如何存储在像 facebook 这样的大规模应用程序中的。
我正在考虑几种可能性
a) 有一个表格,将友谊与相关人员的 id 作为外键映射,如下所示:
Person|isFriendsWith
x --------------------y
x ------------------ z
x------------------- w
在我看来,它根本无法很好地扩展。
b) 在用户行中有一个字段,该字段以字符串“#z#y#w”之类的序列化格式存储他们朋友的 ID。我想用正确的算法解析和更新这个字符串会很容易。
c) 与每个用户的朋友有一张单独的桌子。这会对服务器造成太大的负载吗?
d) 别的?
因此,如果有人知道 Facebook 的功能并可以分享详细信息,我们将不胜感激,这就是问题所在。此外,如果有人可以分享我在此处列出的内容无法很好地扩展或在性能方面存在其他问题的见解,我有兴趣听到它。
谢谢
【问题讨论】:
-
MySQL friends table的可能重复
-
这就是百万美元的问题:)
标签: facebook foreign-keys mysql