您的位置:首页 > 其它

如何设计上十亿的用户表

2014-06-15 21:00 239 查看

当用户表达到了上十亿这样的规模,我们应该如果设计好呢?

我们假设一般项目的用户有哪些基础应用功能呢?一般至少应该有“注册/登录” 和 “填写/修改用户资料”两个基本基本功能是吧?那么我们就根据这两个基本的功能来设计表,如果有其他扩展功能,可以增加其他扩展表方式,本章不讨论其他扩展表的设计。

针对注册/登录功能,我们采用hash散列设计 user_register 表,表只有三列,分别为user_id,user_name,password,把user_name做为hask_key进行hash散列,方式:把user_name进行md5加密变成16进制的数字,然后转化成10进制数字,采用hash散列算法,就可以判断是存储到哪个库的哪个表。可以设计10个库,每个库100个表,表里面的user_name存储的是原始的user_name值,hash散列算法只是实现判断具体存储在哪个库的哪个表而已,这样用户在注册或者登录时,就可以引导用户连接到具体的分表去操作。

针对“填写/修改用户资料”,我们根据 user_id 进行hash散列,因为user_id本身已经是数字,所以直接计算就可以了,比较简单。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: