嘿,我很难相信Facebook使用简单的sql,当然它会使用一些其他方法,但现在假设它使用sql如何将代码同化'墙'工作?快速浏览Facebook的数据库?
比方说,有三个表(只是例子)
好友:ID(输入键) - UID(您的ID) - FID(你的队友身份证)
墙:ID(输入键) - 用户名 - 评论 - 时间 - commentcount
评论:ID(输入键) - WID(墙ID(原文评论)) - 回复 - 时间
让我们忘了像部分和报告等,以及mod的东西(IP,禁令等)这将如何工作?
选择wall.id,wall.username,wall.comment,wall.time,wall.commentcount,comments.wid,comments.reply,comments.time从墙内部加入评论ON wall.id = comments.wid ORDER BY wall.time;
这是你自己的墙,但他们怎么得到朋友的?一堆工会?
事实上他们并没有。 Facebook开始使用MySQL,但转移到[Apache Cassandra](http://en.wikipedia.org/wiki/Cassandra_%28database%29),[NoSQL](http://en.wikipedia.org/wiki/NoSQL )的解决方案,有时他们大约有1亿用户:http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf – 2010-05-07 05:56:38
我敢打赌,人们如何知道**他们**得到朋友列表或谁**完全知道**的Facebook数据库架构 - 不会谈论它;-) – zerkms 2010-05-07 06:01:27
其中wall.username/*应该是uID offcourse */in(从选择fid id = yourid朋友)或什么? – Konerak 2010-05-07 06:15:50