关于社交网站的DB的问题

时间:2010-08-15 21:23:48

标签: mysql database nosql cassandra

像Facebook一样,每个人都有留言。所有消息都只存储在一个表中吗?它只会在加载页面时显示属于用户ID的消息?如果是,那么该表中将有如此多的行。一个表中的行有限制吗?

或者每个用户只有一个表只存储自己的消息?

2 个答案:

答案 0 :(得分:2)

据我所知,Facebook的墙壁根本没有存储在MySQL中。他们使用Cassandra--我认为是Apache的NoSQL数据库,而NoSQL使用的完全不同于 relative 关系数据库(如MySQL)

http://en.wikipedia.org/wiki/Apache_Cassandra

他们将MySQL用于其他数据。

此处也可以看到类似的问题(已回答):

Facebook wall's database structure

答案 1 :(得分:1)

  

或者每个用户只有一个表存储   他们自己的消息?

这不是一个好主意,你最终可能会有很多桌子。很多行都比较好。

我只需使用“message_iduser_id配对的”表格“,以便快速查找归因于特定用户的邮件。

  

一行中是否有任何限制   表

引自MySQL 5.1 Features

  

支持大型数据库。我们用   MySQL服务器与数据库   包含5000万条记录。我们也   了解使用MySQL Server的用户   有200,000张表和约   5,000,000,000行。