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

新浪微博「点赞功能」数据库如何设计的,第1张

对于第一个问题,设计一个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、MySQL:是一种跨平台的开源关系型数据库管理系统RDBMS,由C和C加加开发,支持多种 *** 作系统,包括Windows、Linux、MacOS、Solaris等。

2、MongoDB:是一种跨平台的NoSQL数据库,它采用了文档存储模型,支持多种 *** 作系统,包括Windows、Linux、MacOS等。

这些数据放在数据库中比较好,便于管理和更新。一些小型的程序,用MYSQL相当合适,做好后当然是游戏程序和数据库文件捆绑在一块的

发布时不用再装MYSQL了,因为你发布的是一个带有数据库文件的游戏程序,只要该程序能调用数据库文件中的数据即可

祝你获得成功,呵呵

mysql 和 sqlite 区别

SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率

MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率

MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sqlite是一款小型数据库,简单移植性好无需安装只需要几个文件。一般手机,终端等用的比较多

单机版如果用mssql数据库,那是需要装的,不过可以装msde,有些单机版的软件用access,网络版也可以装msde,用户多了msde是不行的,就必须装ms sql了 ,msde是免费的,ms sql是收费的,一般装盗版就可以了,如果你们公司是大公司,建议别装盗版,微软会找上门来索赔的

我认为随着技术系统在市场上的创新,传统的技术早就已经衰退,新的机会已经产生了,这是it界最自然的规律,所以数据库的未来极有可能会是htap,而且未来还会出现更多的高性能和性价比的产品。

我认为无论是什么阶层的用户,在未来的规划和使用过程中,首先考量的一个基本要素就是性价比,而且如今集群的规模逐渐的增强,每个人如果性能优化的成本都特别高的话,那么实际上对于一些普通用户来说并不是特别可观的,而对于普通用户来讲优化工作最直接的作用就是在成本可控的基本情况下,能够整体的提高整个数据库的能力,这也是这个行业所有的产品最核心的一个价值考量。

在考量一个数据库的成本以及性价比的过程中,免不了的,就需要考虑到机房供电和高端的配电网络等等设备的支出,而HTAP和ARM结构的适配,可以在同样等级的处理能力,甚至是略微高密度的处理能力,条件下让用户群实现应用成本越来越低的好处。对于用户而言,如果部署成本可以有所降低的话,那么单台机器的CPU核数将可能会增多,处理能力也会随之加强,在语言的优化层面,它可以上升的空间则更加的广阔,数据库性能也会有所提高。

在如今的大背景之下,数据库最常面临的问题就是昂贵的成本以及运行维度比较难,还有扩展性比较低的重大问题,特别是对于传统的数据库而言,经常在服务用户的过程中,因为各种各样的原因而无法满足用户的需求,而如今用HTAP云计算再加上数据库,可以使得运营的成本更加的低,而且运营的效率更加灵活,这肯定会成为未来数据库发展的一个免不了的主旋律。

以上就是关于新浪微博「点赞功能」数据库如何设计的全部的内容,包括:新浪微博「点赞功能」数据库如何设计的、跨平台的单机数据库有哪些、单机游戏用的数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10100668.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存