用户-朋友列表数据库设计与性能,该怎么处理

用户-朋友列表数据库设计与性能,该怎么处理

用户-朋友列表数据库设计与性能

现在很多网站都有用户朋友列表功能;对于用户数少的网站数据库设计如下是没有什么问题的

User: id,name,。。。。

Friend:id,usrid(外键)

但是如果网站的用户人数比较多,且在极限情况下我估计至少一个用户有100个朋友(应该还不止这么多,暂且以100个朋友来讨论),那么如果还是按照上面的数据库设计,如果有50万的注册用户,每个用户有100个朋友,那么:

User表就是50万条记录,Friend表就是50万*100=5000万;我觉得这还是比较保守的情况,暂且先以这个计算,

可想而知,如果用户注册数打到100万,每个用户200个朋友,那数据库就够大了;

问题:对于上面的情况,各位有什么好的想法吗?一般采用什么方案解决?

1、从数据库设计上考虑?

2、从数据库本身优化考虑?

3、从硬件考虑?

4、其它?

请大家指点如何来最好实现上面的问题,多谢大家!!


数据库设计上没什么问题,标准的设计。

== 思想重于技巧 ==


Friend:id,usrid(外键) == 20 byte

1,000,000 * 200 = 200 M 记录

200 M records * 20 Bytes = 4,000 M = 4G

好像现在的HW没什么问题

== 思想重于技巧 ==




User: 

id | name | friends

1 | faisun | 2,3,4,5,6

这样就行了 

用户-朋友列表数据库设计与性能,该怎么处理

相关文章:

你感兴趣的文章:

标签云: