像Facebook这样的Mysql结构

时间:2010-10-31 12:53:31

标签: php mysql database facebook

我正在考虑使用生物页面,朋友请求等建立一个facebook风格的网站,大概建议使用哪种数据库表?

IE中。用户,状态?

粗略的清单会有帮助吗?

由于

3 个答案:

答案 0 :(得分:1)

关于FB的一切都是人,所以你肯定需要一个具有自引用多对多关系的Person表。你真的想用PHP ORM这样做,比如教义,它会大大简化你的生活。

人:  id:int,  name:string

RelatedPerson:  person_id:int,  related_person_id:int,  relationship_id:int

关系:  id:int,  name:string

还有更多表格,但很抱歉我无法列出所有表格。一条建议是,一切都应该围绕着人们。你打算做什么准确的事?

答案 1 :(得分:0)

我将不得不同意德米特里的意见。 当mysql数据库达到一定的大小时,很难让它像Facebook(有时)一样快速流畅地运行。

至于你的问题,你至少需要用户,用户 - 朋友,状态,朋友请求等等。我建议从小开始。

答案 2 :(得分:-1)

如果/当你的网站增长到数百万或记录时,你会发现mysql是你最大的敌人。 Facebook已经在那里,他们从Mysql开始然后切换到Cassandra。如果你想写你的Facebook,那么做一个研究,看看Facebook如何/正在使用。他们实际上非常开放,他们开源Cassandra,Twitter现在也使用它。

我的建议是不要使用MySQL,这是一个定时炸弹。我的意思是它从奇妙,快速,快乐的时刻开始。然后随着您的数据库规模的扩大,您将发现自己正在与MySQL进行永无止境的优化战斗,这是您无法赢得的战斗。