近日,倍受关注的 2019 Stack Overflow 年度开发者调查结果已经出炉,本次年度调查共约 90,000人参与了需要耗时 20分钟的调查问卷填写。
我们重点关注一下关于数据库的信息,但是在开始之前,首先可以了解一下开发者报告的关键要点:
-
Python是增长最快的主要编程语言,在编程语言的行列中超越了Java,并成为第二个最受欢迎的语言(仅次于Rust)。
-
超过一半的受访者在十六岁时编写了第一行代码,尽管这种经历因国家和性别而异。
-
DevOps专家和SRE工程师薪酬最高,经验最丰富的开发人员,他们对工作最满意。
-
在调查的前列国家中,中国的开发者最乐观,他们相信今天出生的人将比父母拥有更好的生活,法国和德国等西欧国家的开发者对未来最悲观。
-
在考虑阻碍生产力因素时,男性认为负责的非开发工作对他们来说是一个困扰,而性别少数受访者更有可能说有损健康的工作环境是一个问题。
-
根据受访者最后一次使用和不使用我们的网站解决编码问题等问题,表明Stack Overflow每周为开发人员节省30到90分钟的时间!
接下来,是时候了解一下全球开发者对于数据库的态度了,我们知道,如果开发者背弃了某个数据库产品,这个产品的衰落也相距不远了。此外云和恩墨『墨天轮』平台的数据库流行度排行榜即将推出,中文语境的信息将得到更充分的考量。
调查中分为两个维度,一个是全部问卷,一个是专业开发者,两者差距并不大,我选择了第一个维度进行阐述。
1.使用最广泛的数据库产品
共有 75,023人回答了这个问题,在用户采用上,MySQL 以 54.0% 位列第一,成为最为广泛采用的数据库产品,PostgreSQL 以 34.3% 位列第二,而 Microsoft SQL Server 以 32.8% 位列第三。PostgreSQL 成功的超越了2018年第二名的SQL Server。
在这个榜单上,Oracle 位列第 8 位,16.5%的受访开发者在使用 Oracle 数据库,而 DB2 并未出现在前 13名当中。在这个榜单中闭源商用数据库仅有2席,SQL Server 和 Oracle数据库,开源数据库成为主流。
再来对比以下2018年的数据库采用度排行,最主要的变化是 DB2在2018年有2.5%的份额,而2019年已经消失了。在云和恩墨的数据服务客户中,DB2的采用者的确正在加速逃离,很多好的数据库产品在新的时代就这样渐行渐远,这不能不说是技术的遗憾。
2.开发者最喜爱的数据库产品
开发者对于数据库的好恶是最影响数据库普及的关键因素之一,在2019年的排行榜上,开发者最喜爱的数据库是 Redis ,71.3%的受访者选择了 Redis,这说明 Redis 的应用已经非常广泛,甚至可以说无处不在了。
PostgreSQL 以69.6%的比例排在开发者最喜爱数据库的第二位,远远超越了其他企业级RDBMS产品,这说明 PostgreSQL 的重要性日益凸现,尤其是在『去Oracle』的浪潮之下,PostgreSQL 可能是最好的替代品之一。
Elasticsearch 以63.6% 的比例排在第三位,这说明基于搜索的应用同样普及而广泛,在这个细分领域,Elasticsearch 是绝对的首选产品。类似的还有 MongoDB ,在NoSQL领域大浪淘沙之后,59.5%的选择度,说明 MongoDB 的地位已经非常稳固。
值得注意的是,在 MariaDB 以 59.1% 的比例超过了 MySQL 53.9% 的比例,这说明在 MySQL 的方向上,用户对于 Oracle公司版权变化的担忧可能正在增长,引发了用户的分歧。
在这个表格中,Oracle 仅仅以 38.2% 位列第12位,和2018年相同的位于倒数第二位,而 2018年倒数第一位的 DB2(21.8%)在今年的调查中消失了。下表是 2018年 用户最喜爱的数据库排行榜:
3.开发者最害怕的数据库产品
让开发者最恐惧、害怕的数据库,Oracle 位列第二位,61.8%的投票表明了用户的喜好。去年这个榜单上第一位的是 DB2,今年第一位换成了 Couchbase。
这个表格是用户最喜爱数据库的反向数据:
下表是2018年的排行:
4.开发者最期待的数据库产品
在用户最期待的数据库中,MongoDB 再次排在第一位,17.8%的用户期待在 MongoDB 上开展开发工作,PostgreSQL 以 13.6% 排在了第二位,这证明 PG的活力十分强劲。
而 Oracle数据库在此榜单名列倒数第三位,SQL Server还在其后,这是用户期待榜单上仅有的两个闭源商业数据库产品。
了解了开发者的选择之后,我们再来回顾一下 DB-Engines 上的数据库流行度排行,下图是 2019年4月排行,这个排行和以上的调查数据可以对比来看。
在流行度排行榜上,开源数据库的顺序是 MySQL 、PostgreSQL、MongoDB、Redis 和 Elasticsearch,这些也正是开发者最为关注的数据库产品。商用数据库中,Oracle 和 SQL Server 是常青树,依然受到广泛采用。而有些数据库身影正在淡去,比如 DB2、Access。
数据库产品,得开发者得未来,所以从开发者角度看数据库,这些数据更有参考价值。
数据来源,可以查看全部调查项:
https://insights.stackoverflow.com/survey/2019