评论点赞数据库设计(点赞数据库怎么设计)

程序开发 90
本篇文章给大家谈谈评论点赞数据库设计,以及点赞数据库怎么设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 网站在线发文章评论回复点赞数据库表设计 那就在数据库建一统计表 ,或者直接在当前信息加一列 用来统计,然后js去控制点赞之类的特效跟更新数据库数据库设计问题,一篇文章对应多个评论 数据库怎么设计?

本篇文章给大家谈谈评论点赞数据库设计,以及点赞数据库怎么设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

网站在线发文章评论回复点赞数据库表设计

那就在数据库建一统计表 ,或者直接在当前信息加一列 用来统计,然后js去控制点赞之类的特效跟更新数据库

数据库设计问题,一篇文章对应多个评论 数据库怎么设计?

文章表、评论表 各一个挺好的,两者之间建立一对多关联即可,建立索引后查找很快,不存在遍历整个表的问题。

新浪微博「点赞功能」数据库如何设计的?

对于第一个问题,设计一个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,这样几十万个点赞,只需要存几百条数据。这样做还有一个好处,用户点击查看点赞人时的,一般都不是完全显示所有点赞人,而是一批一批显示,这样可以一次只读一条数据,就可显示一批点赞用户信息。

评论点赞数据库设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于点赞数据库怎么设计、评论点赞数据库设计的信息别忘了在本站进行查找喔。

评论点赞数据库设计 点赞功能数据库设计评论的数据库设计评论表数据库设计评论系统数据库设计评论回复数据库设计微博评论数据库设计评论盖楼数据库设计评论点赞数据库设计收藏功能数据库设计系统报表功能数据库设计
扫码二维码