求助:关于新浪微博的用户相互关注的关系模型
本人做web开发,新手,想实现新浪微博的那种用户间相互关注获取关注的人发布的信息以及统计粉丝数的功能。由于数据库学得不是好,在设计用户与用户间互相关注的问题时,这种M:N关系的模型应该怎样设计?
我有两种想法,一种是给每一个用户增加两张表,关注表和粉丝表,分别只记录相应用户的ID。这样的话,发布新鲜事的时候就根据粉丝表向每一个粉丝发送该事件,这样便于统计关注的人和粉丝。坏处好像就是表太多。请问大家还有什么坏处?
另一种是,将所有用户的关注关系放在一张表中,字段是 关注与被关注 ,然后通过查询来统计某个用户关注的人、粉丝,以及发送发布信息。这样的话,如果用户数量达到千万级甚至上亿,那这个表的行也太太太多了!
哪位大神能相告,大型网站是如何存储管理海量的用户数据的,像新浪微博这样又是如何处理这种关注关系的?感激不尽?