新浪微博、腾讯微博:mysql数据库主表设计猜想

新浪微博、腾讯微博:mysql数据库主表设计猜想

ID:10968224

大小:99.00 KB

页数:7页

时间:2018-07-09

新浪微博、腾讯微博:mysql数据库主表设计猜想_第1页
新浪微博、腾讯微博:mysql数据库主表设计猜想_第2页
新浪微博、腾讯微博:mysql数据库主表设计猜想_第3页
新浪微博、腾讯微博:mysql数据库主表设计猜想_第4页
新浪微博、腾讯微博:mysql数据库主表设计猜想_第5页
资源描述:

《新浪微博、腾讯微博:mysql数据库主表设计猜想》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、新浪微博、腾讯微博:mysql数据库主表设计猜想发布时间:2011-08-03Youarehere:Home/SchemaDesign/新浪微博、腾讯微博:mysql数据库主表设计猜想新浪微博、腾讯微博:mysql数据库主表设计猜想八月3,2011byEugene·LeaveaComment用户信息表(t_user_info)字段名称字节数类型描述User_id4uint32用户编号(主键)User_name20Char[20]名称Msg_count4uint32发布消息数量,可以作为t_msg_info水平切分新表的auto

2、_incrementFans_count4uint32粉丝数量Follow_count4Uint32关注对象数量备注:以User_id取模分表用户之间关系表(t_user_relation),必须有关注与被关注的关系字段名称字节数类型描述User_id4uint32用户编号(联合主键)Follow_id4uint32被关注者编号(联合主键)Type1Uint8关系类型(0,粉丝;1,关注)备注:关系是单向的,以User_id取模分表用户消息索引表(t_uer_msg_index)字段名称字节数类型描述User_id4uint3

3、2用户编号(联合主键)Author_id4uint32消息发布者编号(可能是被关注者,也可能是自己)(联合主键)Msg_id4uint32消息编号(由消息发布者的msg_count自增)(联合主键)Time_t4Uint32发布时间(必须是消息元数据产生时间)备注:此表就是当我们点击“我的首页”时拉取的消息列表,只是索引,Time_t对这些消息进行排序消息与消息关系表(t_msg_msg_relation)字段名称字节数类型描述Reference_id4uint32引用消息用户编号(联合主键)Reference_msg_id4

4、uint32引用消息编号(联合主键)Referenced_id4uint32消息发布者编号Referenced_msg_id4uint32被引用消息编号Type1Uint8操作类型(1,评论;2,转发)Time_t4Uint32发布时间Page_index4Uint32转发或者评论页码备注:以Reference_id取模分表。腾讯微博比新浪微博好的一点是一个消息的所有评论和转发都是被固定页码,这样在点击看评论的时候搜索效率更高,因为多了一个wherePage_index的定位条件,当然带来的问题就是可能看到有些页的评论排版并不

5、是满页,这就是因为标识为这个Page_index的评论有删除操作。消息元数据表(t_msg_info)字段名称字节数类型描述User_id4uint32发消息用户编号(联合主键)Msg_id4uint32消息编号(联合主键)Content140Char[140]消息内容Type1Uint8消息类型(0,原创;1,评论;2,转发)Commented_count4Uint32评论过数量(只增不减,删除评论不影响此值,可以作为评论多页显示的页码)Comment_count4Uint32保留的评论数量Transferred_count

6、4Uint32转发过数量(只增不减,删除转发不影响此值,可以作为转发多页显示的页码)Transfer_count4Uint32保留的转发数量Time_t4Uint32发布时间备注:消息元数据中,content像可能存在图片,这部分可以在分布式文件系统中存储。在2011年数据库大会上听杨海潮的演讲,对于nosql也有涉及,本人能力有限,对这部分的职责还不清楚,希望高人指点。非常推崇杨海潮ppt中的归档做法,因为微博是有时间轴线的,对于一定时间之前的记录可以分层次归档,这样在前端的最新的数据表的压力就会减轻很多。业务逻辑:1.A关

7、注B1)在t_user_relation_A中添加AB12)在t_user_relation_B中添加BA02.原创发消息1)在t_msg_info_A中添加这条元消息,type为02)更新t_user_info_A中Msg_count3)在t_uer_msg_index_A中插入A发的这条消息的索引(A的编号和消息编号)4)在t_user_relation_A中找到所有关注A的人,比如B,C,D,E,F等等,并发在这些用户的t_uer_msg_index中插入A的这条信息索引,比如名人微博可以并发多个进程来实现对粉丝的消息同

8、步3.A转发B的消息msg_b1)在t_msg_info_A中添加这条元消息msg_a,type为22)更新t_user_info_A中Msg_count3)在t_uer_msg_index_A中插入A发的这条消息的索引(A的编号和消息编号)4)在t_msg_info_B中更

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。