解读JetBrains 2023年开发者生态报告,MySQL仍是全球数据库顶流 | StoneDB数据库观察 #11

作者:宇亭

​最近,全球知名的开发者工具公司 JetBrains 对外发布了《2023 年开发者生态系统报告》,报告的具体内容,前几天已经有中文互联网的媒体解读了,由于我们是做数据库的,所以自然而然想要特别关注一下数据库的情况——结果在意料之中,MySQL 在全球范围内仍是最流行的数据库。当然,只讲这个大家都知道的结果没啥意思,我们还是想来分享一下 JetBrains 的洞察总结以及我们的一些看法。

该调研报告显示, 2023 年的 MySQL 依然占据全球第一

先给读者介绍一下报告的背景:第一在于调研的发起方,JetBrains,相信正常接触过开发工具的同学们都不陌生,甚至有很多开发同学喜欢把 JetBrains 的全家桶下载装到电脑上的(虽然并不一定全都用得上~),总之,这家公司的调研相比媒体机构来说,更有垂直度和代表性,因为调研的用户基本上都是实打实的一线开发者;第二在于调研的数据基础,官网显示,今年的报告汇聚了全球 26348 位开发者的洞察,要知道,全球最大的 IT 技术问答社区之一 StackOverflow 在去年的开发者调研问卷中也才收集到七万多名用户的调研数据,而单纯作为一个开发工具公司来说,JetBrains 能收集到两万多名开发者的调研数据,这个数据量已经相当不错了。当然,并不是所有研发人员都会使用 JetBrains 的开发软件或者参与他们的调研问卷,不过,这份报告的结论对于全球开发者的洞察依旧有非常高的参考价值。

开源篇

按照惯例,一份面向开发者的调研报告里,如果没有提到开源,一定是不够全面的,包括我们作为国内本土发展起来的开源社区,其实也比较关注国际上的开源态势,到底是咱们内部开源自嗨还是全世界都在大力投入开源呢?这个问题,饱受争议,笔者认为还是需要用客观数据来说话。JetBrains 的这份报告非常长,关于开源的部分被放到“General Development Trends”(开发者通用趋势)这个章节中。

报告显示:有41%的受访者为开源做出过贡献,20%或多或少定期做出贡献。即便选择了“否”的开发者中也有大多数开发者表示愿意参与开源项目(45%)。这个结论还被 JetBrains 当作今年报告的亮点放在报告首页。

而在不同国家地区的受访者统计中,中国大陆有 52% 的开发者在为开源项目做出贡献,而位列第一、第二的是美国和德国。足以可见,开源的趋势不是只在国内如火如荼,发达国家其实依然在开源项目贡献上占据领先地位。

总结来说,受访开发者中的开源贡献者比例是比较高的,而在无论国内国外,大部分开发者们都比较热衷于为开源项目做贡献。

数据库篇

Which databases have you used in the last 12 months?

过去 12 个月,您使用过哪种(哪些)数据库?

非常经典的问题,每年必问,今年这个问题的反馈有三个图表,我们逐个解读。可以看到,调研者的反馈中,选择 MySQL 的用户足足有 52%,可以说是一骑绝尘,遥遥领先,甚至比往年还多出了一Part;而 PostgreSQL 则没有增长,稳定在 38%。

JetBrains 官方对这个报告也提出一些看法:他们发现 SQLite 的排名竟然从之前的第三下降到了第五位,这个是令人感到困惑的,因为轻量化、易于使用的 SQLite 可用于独立桌面应用程序、嵌入式开发、移动应用程序的本地存储以及几乎其他任何地方,但是现在排名却降低了(虽然占比在上涨)这个变化是否是因为云数据库的崛起导致的呢?本地数据库是否因此受到了影响?还是说有其他的更好用的嵌入式数据库出现了?

笔者的看法是,这部分可能确实没考虑到一些兴起的小型数据库,比如 DuckDB 之类。我们还可以看到 MairaDB 的用户数是在增长的,但是为啥股价上不去?这也是很有意思的点,背后的原因恐怕也和云厂商做DBaaS 的竞争有关。此外,调查显示 Oracle 的用户量在减少,这个不难理解,最近几年新兴的数据库太多了,老牌数据库厂商的份额势必会被众多新兴厂商占据一部分。

同样的问题,JetBrains 还根据受访者对 SQL 的参与程度,把结果分为三组:

  • SQL – 第一语言:包括那些在主要编程语言中将 SQL 排在第一位的人。
  • SQL – 主要语言:包括那些将 SQL 作为三种主要编程语言之一(可能作为其第一语言)的人。
  • SQL – 次要语言:包括所有在过去 12 个月内使用过 SQL 的人。

毫无悬念的是,MySQL 在这三个用户分组中依旧占据排行榜第一。而SQLite和MongoDB看起来受到不少 SQL 用户的青睐,因为它们设置和使用起来都很简单,是开发小型应用程序、学习和原型设计的理想选择。另外,也可以看到 MS SQL Server 和 Oracle Database 这两个老牌数据库在 SQL 专业人士中明显比在非专业人士中更受欢迎。

最后一个相关的图表是比较有趣的,在这个相关表中,每个值表示有多少列所示数据库用户同样使用行所示数据库。例如,有 38% 的 MySQL 用户同样使用 PostgreSQL,而 51% 的 PostgreSQL 用户同样使用 MySQL。

从这个表我们可以看出,MySQL 几乎是所有数据库使用者都学习过的数据库,相关值全部超过了 50%。

Relative popularity of databases by region

按区域显示的数据库相对受欢迎程度

本节数据中,“相对受欢迎程度”是指一种数据库在特定地区的受欢迎成都相比于它在全球的受欢迎程度。比如,MySQL 在德国的份额为 39%,而它在全球的份额为 51%。将差值 (–12%) 除以 51%,我们得到 –24%。这就是我们定义 MySQL 在德国的相对受欢迎程度的方式。

从图中,我们明显可以看出来,MySQL 在中国大陆的相对受欢迎程度非常高,占据了 47%,受欢迎度排名第二;而排名第一的则是 Redis,达到了 83%;而 PostgreSQL 则是 -36%,排名倒数第二,虽然最近几年一直有不少厂商帮 PG 疯狂造势,但是看来结果并不是那么令人满意;令人惊讶的是,即便在大兴信创、强调“去O”的背景下,Oracle 数据库依旧在中国的受欢迎程度达到了 19%,中国大陆排名第三,可见 Oracle 的用户忠诚度之高,这和产品质量也强相关,真正实现完全“去O”,恐怕依旧任重道远。

当然,这只是在中国的情况,其他国家的情况大家也可以看图了解一下,比较突出的是,MariaDB 竟然在法国、德国、韩国这三个国家的受欢迎度超过了 100%,在西班牙是 93%,看来这几个国家的开发者还是比较青睐这个由 MySQL 原作者亲自 Fork 出来的数据库分支。

Relative popularity of databases by primary programming language

按照主要编程语言显示的数据库相对受欢迎程度

本节数据中,“相对受欢迎程度”是指一种数据库在某种编程语言的用户中的受欢迎程度相对于它在一般情况下的受欢迎程度。例如,MongoDB 在 Python 用户中的份额为 29.2%,而其一般份额为 26.6%。将差值 (+2.6%) 除以 26.6%,我们得到 +10%。我们称之为 MongoDB 在 Python 开发者中的相对受欢迎程度。

从图中可以看出,PHP 语言的使用者依旧是 MySQL 系数据库的忠实用户,这个不难理解,LAMP 建站的架构依旧在全球占据主流;用 Ruby、Scala、Typescript的开发者更喜欢用 PostgreSQL;不意外的是,使用 C# 的开发非常依赖于 MS SQL Server,毕竟是微软家的独门绝技。

Which tools do you regularly use for working with databases?

您经常使用哪种(哪些)工具处理数据库?

这一小节,主要是统计了数据库管理工具,这个列的还是比较全的,当然毕竟是 JetBrains 做得调研,排名第一的就是他们家的 DataGrip 插件。不过MySQL Workbench、命令行这两个方式依然占在前三位置,从这看来依然有部分程序员更喜欢用命令行界面去操作数据库,不一定非得给个可视化前端界面~

Relative popularity of database tools by region

按区域显示的数据库工具相对受欢迎程度

本节数据中,“相对受欢迎程度”是指一种工具在一个地区的受欢迎程度相比于它在全球的受欢迎程度。例如,命令行在阿根廷的份额为 7.8%,而在全球的份额为 19.4%。将差值 (–11.6%) 除以 19.4%,我们得到 -60%。我们称之为命令行在阿根廷的相对受欢迎程度。

这节里,有个明显的“黑马”,就是Navicat,受欢迎程度竟然高达 352%,而其他国家几乎是一片黑,对比起来就相形见绌了。当然,JetBrains 也解释了,少数工具表现出显著的区域特异性,比如 Navicat,在受访者中有 42% 的中国开发者使用它,这并不奇怪,因为这款工具是在中国香港开发的,从一开始就为中国用户量身制定,积极建立了在中国市场的强大影响力和占有率。(顺带一提,大家如果是公司使用 Navicat 一定注意要用正版哦,否则律师函警告~ 开个玩笑,商业用途还是必须使用正版软件的)

Experience with databases

数据库经验

受访者中,50%以上的开发者是具有4年以上相关数据库经验的,这也可以凸显出这份调研报告的质量。

How many connections do you have in your database explorer?

您的数据库资源管理器中有多少个连接?

从数据来看,5个以下连接的更集中一些,不过5个以上连接的比例要更多一些。

Approximately how many rows (or equivalent) does your largest table have?

您最大的表中大约有多少行(或同等)?

这节数据显示,“数千行”“数百万行”数据在各个数据库使用中是比较常见的,或许说明大部分公司的场景根本不会达到数十亿数据存一张表的情况,即便有,也不是主流。

以上就是 JetBrains 2023年开发者生态报告中的关于数据库的主要内容,为了方便阅读,我们挑选了比较典型的图表数据进行解读,综合来看,MySQL 在全球数据库的占比依旧很高,标题这里用了“顶流”二字,或许略显高调,不过,也算是符合事实了,而且是有数据的事实。

StoneDB 产品介绍

StoneDB 是石原子科技自主设计研发的国内首款完全兼容于 MySQL 生态的开源一体化实时 HTAP 数据库产品,具备行列混存、智能索引等核心特性,为 MySQL 数据库提供在线数据实时就近分析服务,能够高效解决 MySQL 数据库在分析型应用场景中面临的能力问题。同时,StoneDB 使用多存储引擎架构的设计,事务引擎具有数据强一致特性,具备完整的事务并发处理能力,使得 StoneDB 可以替代 MySQL 数据库满足在线事务处理场景的需求,使用 MySQL 的用户,通过 StoneDB 可以实现 TP+AP 混合负载,分析性能提升 10 倍以上,不需要进行数据迁移,也无需与其他 AP 集成,弥补 MySQL 分析领域的空白。

StoneDB 社区

Github:​​​​GitHub - stoneatom/stonedb: StoneDB is an Open-Source MySQL HTAP and MySQL-Native DataBase for OLTP, Real-Time Analytics, a counterpart of MySQLHeatWave. (https://stonedb.io)

Gitee:stonedb: StoneDB是国内首款MySQL原生一体化HTAP实时开源数据库。对标MySQL HeatWave,是下一代MySQL热数据分析加速器。

社区官网:StoneDB - A Real-time HTAP Database | StoneDB

哔哩哔哩:StoneDB的个人空间-StoneDB个人主页-哔哩哔哩视频

Twitter:https://twitter.com/StoneDataBase

Linkedin:https://www.linkedin.com/in/stonedb/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219156.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

模拟版图快速画图参考——《版图基础入门图解版》

模拟版图是IC行业门槛比较低的一个岗位,近年来有很多同学通过模拟版图来进入IC行业,本科生甚至是专科生都有这个机会。 学习模拟版图可能会有一些挑战,但通过系统性的学习、实践和逐步提升难度,今天为大家推荐一本经典的模拟版图…

c语言怎么“简单”表示9个变量互不相等?

c语言怎么“简单”表示9个变量互不相等? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C语言从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家!&#xff0…

考研失利后,我是如何零基础转行测试开发 ,成功拿下独角兽公司offer?

想当年,从一个什么都不懂的非科班测试小白,考研失利后,转行到K12教育知名互联网公司做测试开发工程师,我用了大概半年的时间。 这个过程中我自己也摸索出了一条学习路线,在这里想给大家分享一下我的学习路线&#xff…

【Node.js】笔记梳理 8 - API和JWT

写在最前:跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识,需要格外注重实战和官方技术文档,文档建议作为手册使用 系列文章 【Node.js】笔记整理 1 - 基础知识【Node.js】笔记整理 2 - 常用模块【Node.js】笔记整理 3 - n…

uniapp踩坑之项目:使用过滤器将时间格式化为特定格式

利用filters过滤器对数据直接进行格式化&#xff0c;注意&#xff1a;与method、onLoad、data同层级 <template><div><!-- orderInfo.time的数据为&#xff1a;2023-12-12 12:10:23 --><p>{{ orderInfo.time | formatDate }}</p> <!-- 2023-1…

【算法】Boyer-Moore 算法

目录 1.概述1.1.Boyer-Moore 算法介绍1.2.坏字符规则表1.3.好后缀规则表1.4.总结 2.代码实现3.应用 更多数据结构与算法的相关知识可以查看数据结构与算法这一专栏。 有关字符串模式匹配的其它算法&#xff1a; 【算法】Brute-Force 算法 【算法】KMP 算法 【算法】Rabin-Karp …

Mac电脑vm虚拟机 VMware Fusion Pro中文 for mac

VMware Fusion Pro是一款功能强大的虚拟机软件&#xff0c;适用于需要在Mac电脑上运行其他操作系统的用户。它具有广泛的支持、快速稳定的特点以及多种高级功能&#xff0c;可以满足用户的各种需求和场景。 多操作系统支持&#xff1a;VMware Fusion Pro允许在Mac电脑上运行多…

合理的从度设置参数

环境&#xff1a;主库双1模式 一。单SQL线程 1.pos模式 1.1 position mode 模式&#xff08;最安全&#xff09; master_info_repository table relay_log_info_repository table recovery_relay_log off sync_master_info 1 sync_relay_log 1 sync_relay_log_in…

完善根文件系统

一. 简介 本文完善之前创建的根文件系统。 上一篇文章通过 设置 bootargs参数&#xff0c;使开发板通过 nfs服务从 ubuntu系统加载根文件系统。文章地址如下&#xff1a; 根文件系统初步测试-CSDN博客 二. 完善根文件系统 上一篇文章通过 设置 bootargs参数&#xff0c;使…

C++笔试题之回文数的判断

“回文”是指正读反读都能读通的句子&#xff0c;它是古今中外都有的一种修辞方式和文字游戏&#xff0c;如“我为人人&#xff0c;人人为我”等。在数学中也有这样一类数字有这样的特征&#xff0c;成为回文数&#xff08;palindrome number&#xff09;。 设n是一任意自然数…

创意设计利器:分享六款最佳的平面设计软件

1. 即时设计 即时设计是一种基于云的在线协作设计工具&#xff0c;具有原型、设计、交付、管理等全栈能力&#xff0c;对于个人及中小团队永久免费&#xff0c;至今已成为越来越多设计师的首选。 矢量编辑&#xff1a;即时设计允许用户创建、编辑和操纵矢量图形。它提供了各种…

外包干了4年,技术退步明显...

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

基因组变异注释 — ANNOVAR(一)

基因组变异注释 — ANNOVAR&#xff08;一&#xff09; 1 简介 ANNOVAR 是一款高效的基因组注释工具&#xff0c;专门用于分析和注释来自多种生物基因组&#xff08;包括人类的 hg18、hg19、hg38&#xff0c;以及小鼠、蠕虫、果蝇、酵母等&#xff09;的遗传变异。这个工具实际…

【工作生活】汽车电子嵌入式开发简介

目录 1. 目标 2. 要分享什么 3.1 行业知识 3.1.1车载行业知识&#xff1a; 3.1.2项目&#xff1a; 3.1.3开发测试工具&#xff1a; 3.2 硬件平台 3.3 基础知识 3.4 工作生活 3. 我们是谁 1. 目标 随着新能源汽车的快速崛起&#xff0c;汽车电子行业开始快速发展&…

iEnglish:家长陪伴助力养成阅读兴趣与坚持习惯

日前,一则10岁男孩子铮连续进行英语原版阅读超过940天的打卡视频在短视频平台刷屏,评论区成为家长热议互动的平台,高赞评论包括“孩子是如何做到愿意阅读的?”“口语太棒了!”“别人家的孩子就是优秀!”“求子铮妈妈分享经验”等等。 子铮妈妈对于自己孩子的优秀也是十分开心…

通达信指标公式19:龙虎榜股票池——主力控盘度的计算方法

0.小红牛本指标&#xff0c;选股的思路说明&#xff1a;控盘度&#xff0c;又称主力控盘&#xff0c;是指主力控制了某只股票的大部分流通股&#xff0c;从而控制了股票的价格。主力控盘的目的通常是为了获取更多的收益&#xff0c;通过控制股票价格来实现其策略。所以首要分析…

数据结构——链表题目

文章目录 JZ25 合并两个排序的链表&#xff08;简单&#xff09;NC22 合并两个有序的数组&#xff08;简单&#xff09;NC3 链表中环的入口节点&#xff08;中等&#xff09;NC50 链表中的节点每k个一组翻转&#xff08;中等&#xff09;NC53 删除链表的倒数第n个节点(中等) JZ…

软件崩溃时VS中看不到有效的调用堆栈,使用Windbg动态调试去分析定位

目录 1、问题说明 2、使用Windbg查看崩溃时详细的函数调用堆栈 3、将Windbg中显示的函数调用堆栈对照着C源码进一步分析 4、最后 VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/art…

[Java学习日记]多线程练习、线程池

目录 一.案例&#xff1a;五个人抢红包 二.案例&#xff1a;两个抽奖池抽奖 三.案例&#xff1a;两个抽奖池抽奖&#xff1a;获取线程运行的结果 四.线程池&#xff1a;用来存放线程&#xff0c;避免多次重复创建线程 五.自定义线程池 六.最大并行数与线程池大小 一.案例&…

【Android】Glide的简单使用(上)

文章目录 引入Glide的优点:缺点: 使用常用方法:从网络加载图片从文件加载图片加载resource资源加载URI地址设置占位图出错时的图片占位图图片过渡的Transitions自定义过渡动画图片大小调整缩放图片播放gifasGif()把Gif当作Bitmap播放显示本地视频缩略图 引入 Glide是Google员工…