我如何了解有关网站分片用户数据的更多信息?

时间:2009-06-28 07:43:55

标签: sharding

我有兴趣在多台服务器上分割我的网站用户数据。

例如,用户将从同一个地方登录。但登录脚本需要弄清楚用户数据所在的服务器。因此,登录脚本将在主注册表中查询该用户名,并且它可能会返回它在服务器B上。登录脚本然后将连接到服务器B并验证用户名/密码。那有意义吗?拥有类似主注册表的东西以解决数据所在的位置是否正常?

也 - 我已经搜索了但是我没有太多运气找到关于分片的教程/信息/策略。如果您有关于该主题的任何在线资源,我将非常感谢您,如果您愿意分享,以便我可以自学。谢谢!

2 个答案:

答案 0 :(得分:8)

您应该查看信息丰富的网站http://highscalability.com。帖子值得一读:

一般情况下,您遵循正确的方法,但如果您需要对多个群集进行查询,这可能会非常快速 - 例如“你朋友最近的帖子”类型查询。

答案 1 :(得分:1)

您可能需要考虑的一个选项:使用简单的哈希。例如,取用户名的MD5哈希值,然后将其最后8个字节视为long。拿那个长mod(服务器数量)并使服务器放入数据。这样,除了有序的服务器列表之外,您不需要任何中央注册表/配置。

缺点是更改服务器数量涉及将所有数据移动到新的“正确”位置......

(还有一个问题是,如果一台机器发生故障,那些用户就会被塞满 - 你会考虑使用某种冗余。)