Code前端首页关于Code前端联系我们

2023 年 StackOverflow 调查结果:PostgreSQL 是全球最成功的数据库

terry 2年前 (2023-09-26) 阅读数 51 #后端开发

2023 年 StackOverflow 调查结果刚刚发布,来自 185 个国家和地区的 9 万名开发者提供了高质量的反馈。在今年的调查中,PostgreSQL在所有三个数据库调查指标(人气、喜爱度、需求)上毫无争议地获得了全能冠军,成为真正意义上的“最成功”数据库——“PostgreSQL是数据库的Linux” ! "

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

当我们说数据库“成功”时,我们到底在谈论什么?评价数据库的标准有很多:功能、质量、安全、性能、成本,但没有一个可以通用。但成功既代表成功,又代表传承,所以成功与“有传承”联系在一起。对于一项技术来说,用户规模、偏好和需求决定了生态系统的繁荣。只有这种终极存在意义上的神圣审判,才能让任何人信服。连续七年进行的StackOverflow年度开发者调查,为我们打开了一扇了解技术发展流行趋势的窗口。

PostgreSQL 现在是世界上最受欢迎的数据库

PostgreSQL 是最受开发者欢迎的数据库!

PostgreSQL是用户需求最强烈的数据库!

人气代表过去,喜爱代表现在,需求代表未来。这三个指标很好地体现了一项技术的生命力。库存和增长、时间和动力都站在 PostgreSQL 一边。恐怕几年后就不会再有竞争对手挑战 PostgreSQL 的地位了。

作为 PostgreSQL 的忠实用户、社区成员、专家、布道者和贡献者,我相信这一天从我采用 PostgreSQL 的那一刻起就到来了。然而,亲眼目睹这一刻,仍然让我深受感动。所以我写这篇文章来谈谈这件事的原因和背后的原因。

数据来源:社区调查

数据库的使用者是开发者,没有比直接询问开发者更具代表性的调查方式了。StackOverflow 调查结果提供了受欢迎度、欣赏度和渴望度三个结果指标,但这三个数据都来自同一个精心设计的问卷问题:

“去年您在哪种数据库环境中进行了密集的工作?为了开发工作,明年您想使用哪些数据库?如果您去年使用过该数据库并希望明年继续使用它,请勾选两个框。

“去年您在哪个数据库环境中进行了大量的开发工作,明年您想在哪个数据库环境中工作?如果您已经使用过这两个数据库并想继续,请选中这两个字段”

毕竟如果开发者勾选了第一个框,即我去年使用过这个数据库,它就会被标记为“已使用”;如果开发者勾选了第二个框,那就意味着我想要这个明年的数据库中,它将被标记为“通缉”,并且两个框都被选中。选中框的开发者将被标记为“喜爱/钦佩”。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

用户占总数的比例为人气 ,即使用率,用上图左侧的条形图来表示,需求占总数的比例为需求度,即的渴望度蓝点位于上图右侧。欣赏者与现有用户的比例为欣赏,即喜爱/口碑,由上图右侧的红点表示。不难看出,2023年PostgreSQL的受欢迎程度将超过MySQL,成为全球最受欢迎的数据库。从需求和声誉来看,它比其他数据库要独特得多。

同样的问题连续七年被问到。如果我们结合近七年的变化,将主流数据库受欢迎程度——网络喜爱度——前10名绘制在二维散点图上,就会更容易洞察数据库领域的演变,对了解数据库领域的发展有很大帮助。培养适当的比例感

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

X轴是人气,Y轴是网爱(2*爱% - 100)。图形元素的大小与流行度和喜爱度的几何平均值成正比。

2023年本次截,四个角分别被四个数据库占据:右上角是最热门最流行的PostgreSQL,右下角是流行但不流行的 MySQL

,左上角是中等热门但受人喜爱的Redis,左下角是过时且不受欢迎的Oracle。这四个中,有比较中等的SQLiteMongoDBSQL Server。

结合时间线不难看出,PostgreSQL的受欢迎程度和普及度将会持续增长; MySQL的受欢迎程度没有太大变化,但受欢迎程度有所下降; Redis 和 SQLite 整体上正在进步,而 MongoDB 则开始走向顶峰和下滑。 SQL Server 和 Oracle 这两种商业关系数据库近年来持续走下坡路。

从图中我们可以得出一个基本的判断:未来几年,数据库领域不会有足够强大的对手来挑战PostgreSQL。 PostgreSQL在数据库领域的地位就像Linux在服务器操作系统中的地位一样难以撼动

过去的积累:流行度

PostgreSQL - 全球最受欢迎的数据库

一项技术的用户占总人口的比例是流行度。它的意思是:去年使用过这项技术的用户百分比是多少。流行度代表过去一年的累计使用量。它是股票指标,也是主要技术指标。

2023年,“最先进”的PostgreSQL在所有开发者中的消费率为45.6%,超过了“-数据库时代第一MyS-数据库”的比率41.1%,领先4.5%。 ,使用率是第二名MySQL的1.1倍。对于专业开发人员(约占总样本的3/4)来说,PostgreSQL的使用率在去年(2022年)已经超过MySQL,领先0.8个百分点,分别为46.5%和45.7%。到2023年,这一差距将进一步拉大至49.1% vs 40.6,领先8.5%——换句话说,在专业开发人员中,PostgreSQL的使用率已经是MySQL的1.2倍。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

近年来,MySQL稳居数据库流行榜榜首,傲然高举“全球全球最流行开源关系数据库”的旗帜。但这一次“最受欢迎”的桂冠确实落到了 PostgreSQL 身上。就流行度来说,其他数据库根本没有PostgreSQL/MySQL那么难,当然就别管它们了。

更重要的是变化的趋势:在长期排名的十几个头部数据库中,只有PostgreSQL的受欢迎程度持续上升并保持快速增长势头,而其他 所有数据库使用量均减少。随着时间的推移,PostgreSQL 与其他数据库之间的受欢迎程度差距只会继续拉大——所以在很长一段时间内,恐怕看不到任何能够动摇 PostgreSQL 目前地位的挑战者。 。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

值得一提的是,“国产数据库”的标杆“TiDB”此次也加入了 StackOverflow 排行榜,排在倒数 32 名。

人气体现了当前的规模潜力数据库,而Likeability反映了未来数据库的增长潜力。

当前动力:热爱

PostgreSQL——最受开发者欢迎的数据库

所谓“口碑” ”愿意继续使用这项技术。这是一个年度“留存率”指标,可以反映用户对一项技术的看法和评价。

2023 年,PostgreSQL 仍然是最受开发者欢迎的数据库。 Redis 是近几年来深受用户喜爱的数据库。到2022年,PostgreSQL首次超越Redis,成为最受开发者欢迎的数据库。 PostgreSQL 和 Redis 的声誉一直介于它们之间(70%),与其他后来者之间存在非常显着的差距。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

作为交叉印证,在2022年PostgreSQL社区年度调查中,对于现有的PostgreSQL用户来说,使用程度有所加深,增加使用(蓝色/粉色)的比例主导了缩减使用(黄绿)的比例)) 性多数足以说明基本市场保留的稳定性。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

Redis 是一个简单易用的数据结构缓存服务器。它经常与关系型数据库PostgreSQL结合使用,受到很多开发者的喜爱(但受欢迎程度一般,只有20%,第六)。在随后的交叉分析环节中,我们还可以看到两者在所有数据库之间的联系最为紧密——86%的Redis用户希望使用PostgreSQL,30%的PostgreSQL用户希望使用Redis。

其他获得正面评价的数据库包括:SQLite、MongoDB、SQL Server等。MySQL和ElasticSearch的声誉参差不齐,在50%中间。列表中最不受欢迎的数据库是 Access、IBM DB2、CouchDB、Couchbase 和 Oracle。

并非所有势能都可以转化为实际的动能。用户喜爱并不一定会带来行动,这就是第三个指标回答的问题——需求。

未来趋势:需求

PostgreSQL - 需求最高的数据库

需求占总数的比例就是需求率(want),或者说渴望程度(desire)。它的意思是明年真正选择使用这项技术的用户百分比是多少。

就需求/愿望而言,PostgreSQL 是最好的,远远落后于其他数据库。以42.3%的比例连续第二年排名第一,并保持强劲的增长趋势。不断与迟到者保持距离。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

2023年,一些数据库的需求出现了显着增长。这大概率是由于OpenAI ChatGPT引领的大语言模型AI浪潮所致:对智能的需求引领了对数据基础设施的需求。十年前,对JSONB/GIN等NoSQL特性的支持,为PostgreSQL在互联网黄金时代的蓬勃发展奠定了基础。如今,第一个基于成熟数据库构建的矢量扩展pgvector让PostgreSQL有机会进入AI时代。门票是未来十年增长的垫脚石。

但是为什么呢?

PostgreSQL 在需求率、使用率、普及率方面均排名第一。天时、地利、人和,既有动能,又有潜力。足以称得上是最成功的数据库,甚至几年后肉眼就能看出来。没有挑战者。但令人好奇的是,为什么PostgreSQL 如此成功? 其实秘密就藏在它的slogan:“全球最先进的开源关系型数据库”R和国家数据库这么受欢迎。也许其他键值、文档、搜索引擎、时间序列、图、向量等数据库类别加起来都无法匹配其中的一小部分。所以当人们谈论数据库时,如果没有具体说明,他们都隐含地指的是“关系数据库”敢不敢说没有其他数据库类别可以称为“主流”。

去年《为什么PostgreSQL将成为最成功的数据库?》我们详细介绍了关系型数据库的竞争格局 - 三大支柱:关系型数据库的生态位,如果排除微软关闭的相对独立的商业数据库SQL Server,在目前的融合阶段,基于WireProtocol可以作为“根”的数据库只有三个: Oracle、MySQL 和 PostgreSQL。关系数据库世界中正在发生的事情是三个王国的浪漫

今天下降了3点,但是Oracle/MySQL累了太阳下山了,S随着太阳升起而进步很大。 。一件事下降,另一件事上升,未来是无限的。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

Oracle有才无德,MySQL有才无德,

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

Oracle是一个老牌的商业数据库,有着深厚的历史和技术积累,功能丰富,支持完善。深受那些不缺钱又需要替罪羊的公司的喜爱,尤其是金融行业。然而,它价格昂贵,并且由于其诉讼行为而成为业界已知的毒瘤。 Microsoft SQL Server 本质上与 Oracle 类似,都是商业数据库。商业数据库整体受到开源数据库的影响,处于缓慢衰退的状态。

MySQL号称“最受欢迎”,却是大树引风:前有狼后有虎,上野父下奸,正处于四面楚歌的局面:在严谨的事务处理和数据分析方面,MySQL也被认为是最受欢迎的。开源生态小众中的 PostgreSQL 就在几个街区之外;而且就原始且快速的敏捷方法论而言,MySQL 并不像新兴的 NoSQL 那样易于使用;养父Oracle打压,兄弟MariaDB分家,逆子TiDB/OB兼容NewSQL分一杯羹,因此走向没落。

Oracle 作为老牌商业数据库,其才华毋庸置疑;但作为行业毒瘤就不需要再谈“德”了,所以俗话说:“有才无德”。

MySQL虽然有开源的优点,但仍难认贼当爹;人才少学识少,功能简单,只能做CRUD,所以俗话说:“人才少,德小”。

PostgreSQL德才兼备:不仅占据了源码上来的时间,还抢到了最热门的 位置好,还有先进稳定人。

俗话说:君子将臂收于身,随时而动。不出声就一鸣惊人!

开源且先进。

开源——意味着软件本身可以免费使用,可以二次开发,没有厂商锁定,不存在“卡脖子问题”。 可靠 - 意味着它可以正确稳定地工作,按预期运行,并且在大型生产环境中长期拥有良好的记录。经验越丰富的开发人员,就越欣赏这两个属性。

广义上来说,扩展、生态、社区和协议都可以合并为“开源”。而稳定可靠、ACID、SQL、扩展、可用性,可以概括为“高级”。这正好重复了PostgreSQL的口号——全球最先进开源

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

开源的美德

PG的“美德”在于在开源。一个祖传的开源项目,是全世界开发者集体努力的伟大成果。该协议对BSD友好,生态系统丰富且不断扩展。枝叶繁茂,子孙满堂,甲骨文取代旗手

什么是“德”,符合“道”的表达就是德。而这个“道”就是开源。 PostgreSQL是一个历史悠久的祖传开源项目,是全球开发者集体努力的典范成果。

很久以前,软件/信息服务的发展需要使用非常昂贵的商业数据库软件。仅软件许可证的成本就可能达到六到七位数,加上类似的硬件成本和服务订阅成本。 Oracle一个CPU核每年的软件授权费用高达数十万,连阿里巴巴都无法承受,想要“去IOE”。以PostgreSQL / MySQL为代表的开源数据库的崛起,给了世界一个新的选择。

“不要钱”的开源数据库让我们可以自由地使用数据库软件,这引发了行业的变革:从几万元/核·每月的商业数据库软件授权到20元/核·纯硬件每月费用。数据库由普通公司输入,这使得提供免费信息服务成为可能。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

开源有很大的优点:互联网的历史就是开源软件的历史。如今IT行业繁荣,人们可以享受如此多的免费信息服务,核心原因之一就是开源软件。 开源是开发者为了软件自由而形成的真正成功的共产主义(共产主义

核心生产产业已经改变为全世界开发者可用并按需分发。开发者各尽所能,大家为一,大家为一。

一个开源程序员工作的时候,他的工作背后可能是数以万计的顶尖开发者的智慧。基本上,程序员工资高的原因是,开发者基本上不是一个简单的工人,而是一个指挥软件和硬件工作的承包商。程序员本身就是核心生产资料;软件来自公共社区;服务器硬件现成;因此,一名或多名高级软件工程师可以轻松使用开源生态快速解决领域问题。

通过开源,所有社区开发者共同努力,大大减少重新发明轮子的内耗。整个行业的技术水平以令人难以置信的速度持续提升。开源的势头就像滚雪球一样,到了今天已经势不可挡。 软件越基础,开源就越占主导地位。基本上,除了一些特殊场景和路径依赖之外,在软件尤其是基础软件中,所谓闭门造车的“自信”已经成为业界的一个大笑话。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

开源是PostgreSQL对抗Oracle的最大优势。

Oracle 很先进,但 PostgreSQL 也不错。 PostgreSQL 是与 Oracle 兼容的开源数据库。支持原生 Oracle 85% 功能,也有具有96% 功能兼容性的专业版本。但更重要的是Oracle价格昂贵,而PG是开源免费的。压倒性的成本优势让PG拥有了巨大的生态利基基础:它并不需要在功能先进性上超越Oracle才能成功。 90%的便宜和准确足以击败Oracle。

PostgreSQL可以认为是“Oracle”的开源版本,是唯一能够真正威胁到Oracle的数据库。作为“去O”反旗斗士,PG可以说是子孙满堂,支持了一大批自主可控国产数据库公司。据信息通信技术研究所统计,36%的“国产数据库”是直接基于PG“二次版本/魔改/脱壳/换皮”。华为的openGuass和GaussDB就是典型的例子。重要的是,PostgreSQL 使用了类 BSD 的 PostgreSQL 协议,允许这种行为——只要不以 PG 的名义作弊,就可以改个名字直接卖掉。这样的开放心态,是被Oracle收购、使用GPL协议的MySQL无法比拟的。

高级天赋

PG的“天赋”在于高级。一个专业、多种能力、全栈多模式:“自主可控、自动驾驶、时间序列地理空间AI矢量、分布式文档地图、全文检索、可编程超融合联邦流批集成HTAP无服务器全栈平台数据库”,单一组件几乎可以覆盖所有数据库需求

PG的“天赋”在于一个专长和多种技能。 PostgreSQL不仅仅是一个简单的只能做传统意义上的OLTP的“关系型数据库”,而是一个多模态数据库。对于中小企业来说,单个基础组件就足以覆盖大多数中小企业场景的数据需求:OLTP、OLAP、时间序列、地理空间GIS、分词和全文检索、JSON/XML文档、NoSQL特征、图形、向量、All可用的。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

皇帝数据库——自主可控自主驱动时间序列地理空间AI矢量分布式文档图全文检索可编程超融合联邦流批集成HTAP无服务器全栈平台数据库

增加PostgreS的备份能力已知的内核稳定性还体现在其强大的可扩展性。插件系统使得PostgreSQL不再只是一个单线程进化的数据库核心,而是可以拥有无​​数并行进化的扩展插件,同时探索各个方向的可能性,就像量子计算机一样。在数据处理的任何细分垂直领域,PostgreSQL都永远不会缺席。

就像:PostGIS用于地理空间和时态数据库,TimescaleDB用于时间序列数据库,Citus用于分布式/列存储/HTAP数据库,PGVector用于AI矢量数据库,AGE用于图数据库,PipelineDB用于流处理。 ;最终技巧——使用外部数据源包装器(FDW)以统一的SQL访问所有异构外部数据库。可以说PG是一个真正的全栈数据库平台。与MySQL等简单的OLTP数据库相比,它们的功能要先进得多。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

在相当大的规模内,PostgreSQL可以独立发挥多面手的作用,一个组件可以当多个组件使用。 选择单个数据组件可以大大降低项目的额外复杂性,这意味着节省大量成本。它让十个人能做的事情变成一个人就能完成的事情。 在使用“专用数据库”之前请记住:针对不需要的规模进行设计是浪费精力,并且是过早优化的一种形式❀。如果有一种技术可以满足您的所有需求,那么使用该技术是最好的选择,而不是尝试使用多个组件重新实现它。

以探探为例。在250w TPS200 TB不重复TP数据的亮度下,单个PostgreSQL选型可以有效支持我们的SQL选型。业务并取得大规模的多个专业。除了本身的OLTP之外,PG在很长一段时间里还扮演着缓存、OLAP、批处理、甚至消息队列的角色。当然,乌龟的寿命虽长,但也有它的时候。最终,这些兼职功能必须逐渐分离出来并由专用组件处理,但这已经有近数百万日常活跃用户

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

PostgreSQL的进步体现在其丰富的生态系统上。以数据库核心为中心,往上,衍生出专门的变体和构建在其之上的“上层数据库”——Greenplum数据仓库、Firebase的开源替代品Supabase、专用图数据库edgedb等。最重要的是,有几个开源/商业/云发行版可以集成不同的工具以形成共同的力量 - 任何公司的 RDS、Pigsty 开箱即用;横向上,甚至还有一些强大的模仿组件/版本,可以通过兼容Wire Protocol的方式模拟其他数据库,无需更改客户端驱动即可完成数据库迁移——Babelfish模拟SQL Server、FerretDB模拟MongoDB、EnterpriseDB / IvorySQL与Oracle兼容的都是例子。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

PostgreSQL的进步是有目共睹的,这才是它在与老对手MySQL(同样是开源关系型数据库)对抗时真正的核心竞争力。

先进是PostgreSQL相对于MySQL的核心竞争力。

MySQL的口号是“世界上最受欢迎的开源关系数据库”。其核心特征是粗暴、快速,其基础基础是互联网公司。

互联网公司的典型特征是什么?跟随潮流粗暴快速讲互联网公司简单的业务场景(多为CRUD);数据的重要性不高,不像传统行业(如银行)那样关心数据的一致性和正确性;可用性是优先考虑的,相比停止服务更能容忍数据丢失和错误,而一些传统行业宁愿停止服务也不愿允许会计错误。 我的讲互联网行业的海量数据。他们需要的是水泥罐车来进行大规模的CRUD,而不是高铁和载人航天器。 谈互联网行业不断变化的需求,生产周期短,响应时间快。人们迫切需要的是开箱即​​用的软件(例如 LAMP)和易于上手的培训。现场 CRUD 男孩。于是,粗暴的互联网公司和粗暴的MySQL一拍即合,MySQL从互联网的崛起中收获了一波巨大的红利。

然而,到了时候,天地齐心协力,英雄将获得自由。随着时间的推移,PostgreSQL 取得了飞速的进步。 MySQL不再在“快”和“强大”方面占主导地位,现在只剩下“”。

2023StackOverflow 调研结果:PostgreSQL是世界上最成功的数据库

MySQL其实默认允许部分成功的事务视图

先进的原因体现为流行的效果,流行的东西会因为回来而变得过时,先进的东西会因为先进而变得流行。在这个变革的时代,没有先进的功能,“流行”不会长久。时间所赐予的红利,也会随着时间的流逝而退去。调查结果也用事实证明,MySQL唯一值得骄傲的“人气

”,在PostgreSQL压倒性的“先进❝”❝面前根本无法维持。

高级开源是PostgreSQL成功的最大法宝。 Oracle 先进,MySQL 开源,PostgreSQL 先进且开源。天时、地利、人到位,何愁达不到大成呢?

展望未来

PostgreSQL数据库核心在数据库领域的生态位与Linux操作系统核心在操作系统领域的生态位类似。对于数据库来说,至少对于OLTP数据库来说,数据库内核之争已经解决——PostgreSQL已经是一个完全足够的内核引擎了。

然而,用户最终需要的不仅仅是一台发动机,而是整车、驾驶技能和运输服务。数据库领域的竞争焦点已经从软件本身转向软件支持的服务——完整的数据库分发和数据库服务。对于基于PostgreSQL核心的数据库发行版来说,竞争才刚刚开始。 Debian、RedHat、Ubuntu的PG是谁? ? 、用好数据库。当然,限于篇幅,那是另外一个故事要介绍了。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门