【发布时间】:2011-03-30 04:39:46
【问题描述】:
就像 facebook,每个人的墙上都有消息。所有消息是否只存储在一张表中?并且在加载页面时只会显示属于用户ID的消息?如果是,那么该表中将有这么多行。一张表的行数有限制吗?
或者每个用户只有一张表只存储自己的消息?
【问题讨论】:
标签: mysql database nosql cassandra
就像 facebook,每个人的墙上都有消息。所有消息是否只存储在一张表中?并且在加载页面时只会显示属于用户ID的消息?如果是,那么该表中将有这么多行。一张表的行数有限制吗?
或者每个用户只有一张表只存储自己的消息?
【问题讨论】:
标签: mysql database nosql cassandra
据我所知,Facebook 的墙根本没有存储在 MySQL 中。他们使用 Cassandra - 我认为是 Apache 的 NoSQL 数据库,作为 NoSQL,它使用与 relative 关系数据库(如 MySQL)完全不同的哲学
http://en.wikipedia.org/wiki/Apache_Cassandra
他们使用 MySQL 来处理其他数据。
在这里也可以看到类似的问题(已回答):
【讨论】:
或者每个用户只有一个表存储 他们自己的消息?
这不是一个好主意,您最终可能会得到很多桌子。多行更好。
我会简单地使用一个“表”,将message_id 与user_id 与适当的索引配对,以快速找到归属于特定用户的消息。
行数是否有限制 桌子?
支持大型数据库。我们用 带有数据库的 MySQL 服务器 包含 5000 万条记录。我们也 了解使用 MySQL Server 的用户 有 200,000 张桌子和大约 5,000,000,000 行。
【讨论】: