对于第一个问题,设计一个schema->(messageID,likedCount),记录每条微博的点赞数。messageID是微博的编号,likedCount是该微博的点赞人数。但是这里有两个问题需要解决,第一是并发,第二是数据量。
每条微博都有可能有很多人同时点赞,为了保证点赞人数精确就需要保证likedCount是原子 *** 作,这个可以由应用程序来实现,也可以用redis的事务来实现(如果redis有事务机制或者自增功能的话),但是我觉得为了性能考虑,也可以不用实现原子 *** 作,具体原因就不展开了。
每天都上亿可能更多的微博内容产生,这样就会有上亿个新的(messageID,likedCount)生成,这样的数据量是比较大的,单机数据库比较难提供高效的服务,所以需要采取sharding的功能(有时候也叫分表分库),可能根据messageID把这些schema分散到十个或者更多的shards上(据说,sina微博有600个节点,如何三个节点组成一个shard,就有200个shards),这样每个shard处理的请求就只有原来的十分之一,从而就能提高服务的性能。
关于点赞人列表的设计,一般来说,可能想到的schema是(messageID,userID),但是这样的设计有一个小问题,就是有些大发的微博可能会得到几十万的点赞,这样就会产生几十万个条数据,这样数据有点多,读取起来可能也慢。所以可以用这样一个schema(messageID,partID,userIDs),让一个messageID对于多个userID,同时比对应太多的userID,所以加入一个新的partID,一个part存1000个userID,这样几十万个点赞,只需要存几百条数据。这样做还有一个好处,用户点赞人时的,一般都不是完全显示所有点赞人,而是一批一批显示,这样可以一次只读一条数据,就可显示一批点赞用户信息。
1、使用腾讯微博帐号登录,在“首页”右侧点击“微空间”,进入微空间管理后台,左侧导航“应用广场”中即有大量为企业用户提供的专属应用。2、在“应用广场”页面,可以对已添加的应用进行“设置/删除“等 *** 作。后续关于微空间的问题,请您直接通过微博@或私信微客服咨询,给您带来不便,敬请谅解。
该答案来自腾讯微博官方网站
最大保存量约是1百万TB,1000,0001024102410241024字节。
新浪微博系统采用的是数据库有望更换为ORACLE最新版本,而且有定期清理功能,再大的数据库也架不住1/10网民的狂轰滥炸,况且越来越多的人开始像开垦QQ农场一样加入微博。
微博通讯录功能截止到2022年11月29日已经恢复。根据查询相关资料信息,截止到2022年11月29日,微博通讯录功能已恢复,可通过以下三个步骤完成。
1、打开微博,点击右下角我的图标。
2、点击右上角的添加好友图标。
3、跳转界面向下滑动,即可找到添加通讯录好友的界面。
微博是指一种基于用户关系信息分享、传播以及获取的通过关注机制分享简短实时信息的广播式的社交媒体、网络平台。
允许用户通过Web、Wap、Mail、App、IM、SMS以及用户可以通过PC、手机等多种移动终端接入,以文字、、视频等多媒体形式,实现信息的即时分享、传播互动。
新浪微博是由新浪网推出,提供微型博客的服务网站。推广策略上,新浪微博以名人效应拉动。用户可以通过网页、移动端等发布文字、和链接视频,实现即时分享。
以上就是关于新浪微博「点赞功能」数据库如何设计的全部的内容,包括:新浪微博「点赞功能」数据库如何设计的、腾讯微博新版微空间中怎么管理我的应用、新浪微博最大保存量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)