当前位置:首页 > 问答 > 正文

StackOverflow上大家最常用的数据库到底有哪些,排名出来了,你用过几个?

(来源:StackOverflow 年度开发者调查报告)

StackOverflow这个网站,可以说是全世界程序员遇到问题时最先想到的地方,它每年都会搞一次超级大规模的调查,问开发者们各种各样的问题,比如你用啥编程语言啊,用啥工具啊,薪水多少啊等等,这其中,关于数据库的调查结果特别有意思,因为它直接反映了现实中哪些数据库最流行、最多人用,我就根据它最近的报告,来直接说说大家最常用的数据库排名,咱们一起看看你用过几个。

排在第一名的,可以说毫无悬念,就是MySQL。(来源:StackOverflow调查,多年蝉联最流行数据库榜首)MySQL这东西,简直就是数据库世界里的“万金油”,它特别成熟,文档也多,社区庞大,几乎你遇到的所有问题都能在网上找到答案,关键是,它对于很多项目来说都“足够好用”,尤其是那些Web应用,比如内容管理系统(像WordPress就用它)、电商网站等等,很多初创公司一开始也会选MySQL,因为学习成本低,上手快,虽然现在有很多新的、花里胡哨的数据库出现,但MySQL凭借其深厚的根基和稳定性,依然牢牢占据着最常用数据库的宝座,我猜,只要是做过Web开发的,十有八九都接触过MySQL吧。

紧跟在MySQL后面的,是PostgreSQL。(来源:StackOverflow调查,近年来流行度持续上升)PostgreSQL这几年势头非常猛,喜欢它的开发者越来越多,大家给它起了个爱称叫“Postgres”,它和MySQL都是关系型数据库,但Postgres在某些方面更强大一些,比如它对复杂的数据类型、高级的查询功能支持得更好,很多开发者觉得Postgres更“严谨”,更符合标准,感觉上,选择Postgres的开发者,可能是在做一些对数据一致性、可靠性要求更高的项目,如果你是从MySQL转过来的,可能会需要一点时间适应,但一旦用熟了,很多人就“回不去了”,你用过这个吗?

第三名很有意思,是SQLite。(来源:StackOverflow调查,在最流行数据库榜单中常年位居前列)SQLite和前面两位老大哥不太一样,MySQL和PostgreSQL通常是作为一个独立的服务运行在服务器上,你的程序要去连接它,但SQLite更像是一个库,它直接把数据库存成一个文件,嵌入在你的应用程序里,你在手机App里、在桌面软件里,甚至在一些浏览器里,都能找到SQLite的身影,它的最大优点就是轻量、简单,不需要复杂的安装和配置,对于小型项目、测试环境或者移动端存储来说,SQLite简直是神器,可能你都没意识到,你已经用过它很多次了。

再往下看,第四名是Microsoft SQL Server。(来源:StackOverflow调查)这个很明显,主要是微软技术栈的开发者在用,如果你所在的公司是用.NET框架、C#语言来开发企业级应用,特别是那些跑在Windows服务器上的应用,那么很大概率会配套使用SQL Server,它和Visual Studio等微软开发工具集成得非常好,管理工具也很强大,它的用户群体非常集中和稳定。

第五名是MongoDB。(来源:StackOverflow调查)MongoDB是非关系型数据库(NoSQL)里最著名的代表,关系型数据库是先把数据整理成一张张规整的表格再存进去,而MongoDB是用一种类似JSON的文档格式来存数据,非常灵活,当你需要处理的数据结构不固定、经常变化,或者需要快速开发迭代的时候,MongoDB的这种灵活性就很有优势,它在处理大量非结构化数据时也表现不错,所以很多现代Web应用,尤其是Node.js技术栈的,会喜欢用它。

除了前五名,榜单上还有一些名字也经常出现。(来源:StackOverflow调查)比如Redis,它通常被用作“缓存数据库”,它的数据是放在内存里的,所以读写速度极快,经常被用来存放一些需要频繁访问但又不太变化的数据,比如网站的会话信息、热门文章列表等,以此来减轻主数据库的压力,还有Elasticsearch,它主打的是强大的搜索功能,如果你需要做一个像电商网站那样复杂的商品搜索,用传统的数据库可能很慢,Elasticsearch就能大显身手,像Oracle数据库,虽然它在超大型企业里地位很高,但因为其昂贵的价格和较高的复杂度,在更广泛的开发者社区中,使用比例反而不如前面这些开源或更亲民的数据库。

总结一下StackOverflow上这个排名给我们的启示就是:MySQL和PostgreSQL依然是绝对的主流,是很多项目的默认选择,SQLite在它特定的嵌入式领域无可替代,而像MongoDB、Redis这样的非关系型数据库,也找到了自己不可撼动的应用场景,成为了现代技术架构中非常重要的组成部分,现在回过头来看看,这排行榜上的数据库,你用过几个了呢?可能很多朋友至少用过两三个吧,了解这些流行趋势,对于我们选择技术、规划职业发展都挺有参考价值的。

StackOverflow上大家最常用的数据库到底有哪些,排名出来了,你用过几个?