MySQL 输了,PostgreSQL起航 !

来源:51CTO技术栈

在软件领域,数据库是毫无疑问的中流砥柱。在这片历史悠久、玩家众多的沃土上,流传着着无数技术和商业交织的故事。如今,老一代商业数据库日薄西山,开源数据库步步为营,处在浪潮之巅的我们已然可以看见其中的暗流涌动。在这场群雄逐鹿的戏码里,MySQL与PostgreSQL之争渐趋白热化。MySQL的衰落不再是某个耸人听闻的预言,而正在成为不可避免的现实。

日前,Stack Overflow面向90000名开发人员进行的一项调查显示,PostgreSQL在数据库引擎的选择上领先于MySQL,这与往年的调查相比有了显著变化。

其中,45.55%的受访者使用PostgreSQL,而MySQL和SQLite的比例分别为41.09%和30.9%。而就在三年前,同一项调查显示,MySQL和PostgreSQL的使用率分别为55.6%和36.1%,由此可见,使用PostgreSQL的用户群体的增速有多快。

336bb80eaae5a07f468274a0b801d9ea.jpeg

图源:Stack Overflow

不过,需要指出的是,由于这是一项开发人员调查,因此并不反映生产中的使用情况。根据DB-Engines的数据库流行度排名,其中Oracle排名第一,其次是MySQL、SQL Server和PostgreSQL。还要注意的是,MySQL或其分支MariaDB通常被非常流行的WordPress内容管理系统使用,占了大量的生产使用。

尽管如此,不能否认的事实是,越来越多的开发人员倾向于为他们正在开发的应用程序选择PostgreSQL。而且结合DB-Engines上总结的历年来MySQL和PostgreSQL分数的趋势变化来看,PostgreSQL从2014年开始进入高速增长状态,而MySQL自2016年以来开始缓慢下降。

7507b6ce1972125b859829d5d266786e.png

图源:DB-Engines

相较于MySQL的日渐式微,PostgreSQL为何能取得高速发展呢?我们可以从其发展履迹中一窥端倪。

01

脱胎于Ingres的开源数据库

PostgreSQL拥有很长的发展史。

其前身是美国国防部与加州大学伯克利分校合作的一个名为Ingres研究项目。1985年Ingres项目终止,随后开源,Postgre诞生。后来为了强调对SQL的支持,又更名为PostgreSQL,这一名字延用至今。粗略估算一下,不包括Ingres时期的开发,这一项目的开发历史也差不多38年了。

作为开源数据库的PostgreSQL有其鲜明的特点。

其一,跨平台属性强,支持几乎所有的操作系统和CPU硬件平台,如AIX,HPUX,Linux,BSD,Windows等。

其二,社区支持强大。项目由全世界超过1000名贡献者所维护,社区成员来自于全球的商业公司、高校、研究机构。而且PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。目前国内有很多公司基于PostgreSQL数据库开发自己的商业产品。

另外,PostgreSQL提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。部分粉丝甚至会说PostgreSQL堪与Oracle相媲美,而且没有那么昂贵的价格和傲慢的客服。

相较于MySQL,PostgreSQL还有一些明显的特点,比如,支持更广泛的高级数据类型,更精细的索引系统,支持用各种语言编写的存储过程,能够满足绝大多数企业级应用的需求。

02

MySQL衰退,并不出奇

PostgreSQL和MySQL同为开源的关系型数据库,两者都经历了几十年的发展,并且已被证明高可靠、安全和可扩展。但是回顾其发展历程,两者又有着显著不同。

到2023年,PostgreSQL仍然是完全开源和社区驱动的,而MySQL在许可方面有着更复杂的历史。MySQL的开发主体是瑞典MySQLAB公司,最初MySQL是作为公司的商业产品开发的,同时提供免费版和付费版。

2008年1月,MySQLAB被Sun公司以10亿美元的价格收购。此后不久,Oracle又以74亿美元得价格收购了Sun,这一系列收购事件一度让MySQL数据库前途未卜,也引起了部分开发人员对其开源未来的担忧。后来,包括MariaDB和Percona在内的原始MySQL的几个开源分支帮助缓解了这些问题,但这些动荡依旧为MySQL的发展留下了挥之不去的暗影。

多年前,PostgreSQL创始人之一的Bruce Momjian在接受对外采访时就曾表示:“MySQL衰退,这并不是一件很令人惊奇的事情。”在他看来,MySQL的衰退可以归因于两点,其一,MySQL目标定位不明晰,其二,MySQL不是一个纯粹的开源数据库。

Momjian对此解释道:“之所以说MySQL目标定位不明晰,是因为其目标定位是在网络应用的用户层面上,而互联网企业要求的是一个快速反应时间和较小的用户量,但相对大用户来说,MySQL就有点捉襟见肘了,虽然他们非常努力去试图满足大客户的应用,想扩展企业级大客户的应用标准,但因为前期开发的框架不是很明晰,导致不是很成功。”

在关于开源的纯粹性上,Momjian认为:“MySQL数据库是一个公司的一产品,是一个公司做了绝大部分开发的工作,所以MySQL不是完全意义上的开源数据库,这是个劣势,不能得到绝大多数人的支持,或让社区更多人参与进来。”

在他看来,与MySQL不同,PostgreSQL一开始就是定位在Oracle这些大数据库能做的事情。所以MySQL势力越来越小,而PostgreSQL却在变大。尽管谁也不知道未来会如何发展,但PostgreSQL的增长是有目共睹的。

03

在曲折中探索:多进程还是多线程

立足当下,回顾过往,PostgreSQL能在开发者调查中超越MySQL,并非一朝一夕之功。至于未来如何,及时了解其最新的发展动向至关重要。

最近就有一项关于PostgreSQL的重大提案正在发生。

众所周知,和线程架构的MySQL不同,PostgreSQL数据库为进程架构模型,每一个连接都会启动一个服务进程为该连接服务。

一个PostgreSQL实例作为一大组协作进程运行,包括一个用于每个连接的客户端的进程。这些进程使用精心设计的库通过多个共享内存区域进行通信,该库允许在并非所有进程都具有映射到相同地址的相同内存的设置中创建复杂的数据结构。长期以来,这个模型都在如此为这个项目服务。

但PostgreSQL开发团队觉得到了需要改变的时候,要重新考虑是否延用这种面向进程的模型,还是将其迁移到线程模型。

事实上,多进程的优缺点都很分明。

好处在于:可以并行地执行多个任务,提高运行效率,数据安全,空间独立,一个进程崩溃也不会影响其他进程;不足在于:进程的创建和销毁过程需要消耗较多的计算机资源,在需要频繁创建和删除较多进程的情况下,资源消耗过多,不适宜使用多进程完成任务。

6月初,PostgreSQL的核心贡献者之一Heikki Linnakangas跟进了一些相关的讨论。从讨论走向来看,支持和反对的双方都各有其缘由。

支持方代表Andres Freund提出,开发团队已经遇到了诸多与进程模型相关的限制。比如:

1、跨进程上下文切换的开销本来就比同一进程中线程之间的切换要高,合理怀疑这种开销会继续增加;

2、进程模型增加了开发成本,迫使项目维护大量重复代码,包括在单个地址空间中不需要的几种内存管理机制。

反对方代表则认为不应该贸然进行这种根本性变革,“这将是一场灾难。有太多的代码会被破坏”。主要理由集中如下:

1、安全性会降低,变革成本过大。可能产生“不止一个安全级漏洞”,而且收益无法抵消成本。

2、可能还有其他工作应该具有更高的优先级。

3、失去由单独进程提供的隔离,可能会降低系统的整体健壮性。

6070ce951ecc4c0f9922c86e5546f3cf.jpeg

网友评论

不过,总体而言,仍有许多PostgreSQL开发人员还是谨慎地赞成至少探索这一变化。Robert Haas表示 ,PostgreSQL在大型系统上的扩展性不佳,这主要是因为所有这些进程都消耗了资源。“并非所有数据库都有这个问题,如果不进行某种重大的架构更改,PostgreSQL将无法解决这个问题”。在他看来,仅仅切换到线程可能还不够,但他认为,这种探索性的尝试将带来许多其他改进。

如果再进一步思考,我们会注意到,无论是支持基于进程还是基于线程的模式,可能都不会有终极答案。

因为线程可能不会在所有用例中都表现得更好,或者一些重要的扩展可能永远不会获得在线程中运行的支持。移除进程支持是一个只有在线程运行良好时才能真正考虑的问题。虽然讨论的结果表明大多数PostgreSQL开发人员认为这种探索式的变化在抽象上是好的,但也明显担心它在实践中如何运作。在不进则退的开源世界,不断迭代更新才能顺应时代变化,但变化的方向从来没有确定的航标,如何在螺旋中上升是开源开发者们需要审慎考虑的永恒命题。

参考链接:

https://devclass.com/2023/06/13/postgresql-now-top-developer-choice-ahead-of-mysql-according-to-massive-new-survey/

https://lwn.net/SubscriberLink/934940/3abb2d4086680b78/

https://www.51cto.com/article/167890.html

https://zhuanlan.zhihu.com/p/362598819

http://www.linuxeden.com/html/news/20091203/69348.html

—  —

 ChatGPT中文网站

12a0f567724f2bc2b48dde48e97ac5f8.gif

可以在国内同ChatGPT直接进行对话,支持GPT4.0 和 AI绘图,简直太方便了,今天新注册的直接送50次提问次数 !

   http://ai.cxyquan.com/ (复制到浏览器打开)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业机器人及工控系统

一、为什么要发展人形机器人? 中国劳动力人口数量持续下滑,美、德、日等多国具有同样趋势。根据国家统计局发布的数 据显示,2022 年我国人口从年龄构成看,16~59 岁的劳动年龄人口 8.76 亿人,占全国人口的比 重为 62.0…

AIGC令人惊叹,也令人害怕

编|Aeneas 源|新智元 ChatGPT诞生之后,用自己强悍的文本创作能力,不断刷新着我们的认知。AI即将给大学校园带来怎样的爆炸性改变?似乎还没人做好准备。Nature已经发文,担心ChatGPT会成为学生写论文的工具。…

这些你熟知的 app 和服务,都用上了人工智能

从微软在 Microsoft 365 服务中全面整合 GPT-4 能力 ,让 PPT、Word 文档、Excel 表格的制作变成了「一句话的事」,到 Adobe 刚刚发布 Adobe Firefly模型集合,让图形设计、字体风格、视频渲染乃至 3D 建模的门槛显著降低——你我熟知的那些工…

CSDN上海城市开发者社区线下活动纪实

引言 5月27号中午,很高兴能和现CSDN副总裁、前微软 Azure 工程团队首席研发经理、技术畅销书《编程之美》及《构建之法》的作者邹欣邹老师,以及CSDN的 “上海城市开发者社区” 的部分成员齐聚一堂,参加CSDN上海城市开发者社区自5月初成立以来…

中国开发者薪酬集中在 20万-34万元、Vite 爆火、Angular 下行,最新 JavaScript 年度报告重磅发布!...

整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 诞生于世纪之交的 JavaScript,经历了 27 年的发展,已成为当今世界上最受开发者欢迎的编程语言之一。 近日,stateofjs.com 网站正式发布了《2022 年 JavaScript 年度调…

Voice Control for ChatGPT 沉浸式的与ChatGPT进行交流学习。

Voice Control for ChatGPT 日常生活中,我们与亲人朋友沟通交流一般都是喜欢语音的形式来完成的,毕竟相对于文字来说语音就不会显的那么的苍白无力,同时最大的好处就是能解放我们的双手吧,能更快实现两者间的对话,沟通…

语音识别之语音控制

接上文,如何实现语音控制呢?比如当我们说天气的时候,界面会自动呈现的天气预报的界面,当我们说UC的时候,会自动跳转到UC浏览器上等等。其实方法很简单,仅仅需要对识别到的字符串进行判断,当它符…

ChatGPT的焦虑蔓延,暴露了企业转型的关键要素

由美国OpenAI公司研发的聊天机器人程序ChatGPT,可以说是火遍了全网。据瑞银集团的报告显示,在ChatGPT推出仅两个月后,它在2023年1月末的月活用户已经突破了1亿,成为史上用户增长速度最快的消费级应用程序。根据Sensor Tower的数据…

如何获取ChatGPT的APIKEY

点击跳转官网,右上角个人中心查看key 进入后查看左侧API keys,点击生成即可 key已生成,即可调用API进行自主调用 API文档,点击查看 ChatGPT的API接口是基于OpenAI的GPT-3.5预训练模型,使用RESTful API架构和JSON格式进…

AutoGPT爆火,GitHub上已有42k星标,打造一款属于自己的AI助手,什么是全自动AI?ChatGPT已过时?

GitHub上线了一个新的基于GPT-4的开源应用项目AutoGPT,凭借超42k的Star数在开发者圈爆火。 AutoGPT能够根据用户需求,在用户完全不插手的情况下自主执行任务,包括日常的事件分析、营销方案撰写、代码编程、数学运算等事务都能代劳。比如某国…

【chatgbt (一)】 AI绘图 Midjourney

1. 注册一个Midjourney 账号 1.1 有一个可靠的网络环境 ( 这里的 可靠 就是 可靠的意思。你懂的) 1.2 注册一个discord账号 到这个页面就是OK了 1.3 注册一个Midjourney账号 接受邀请就到这里了 2. 画图 2.1 指令作图 进错频道发送了 /imagin 指令 机器人告诉我要去#new…

ChatGPT+Ai绘图【stable-diffusion实战】

ai绘图 stable-diffusion生成【还有很大的提升空间】 提示词1 Picture a planet where every living thing is made of light. The landscapes are breathtakingly beautiful, with mountains and waterfalls made of swirling patterns of color. What kind of societies m…

孔乙己的长衫!ChatGPT 最可能取代的 10 种工作!

所谓的【孔乙己的长衫】,是近来很火的网络热梗。它指的是,经济不好,就业形势不乐观,一些媒体就此发表看法,说现在年轻人普遍存在问题:把学历看得太重,以致于不愿意放下身段去劳动了,…

拆解追溯ChatGPT各项能力的起源

https://franxyao.github.io/blog.html 作者:符尧, yao.fued.ac.uk,爱丁堡大学 (University of Edinburgh) 博士生,本科毕业于北京大学与 彭昊,Tushar Khot在 艾伦人工智能研究院 (Allen Institute for AI) 共同完成英文原稿与 剑…

万字拆解!追溯ChatGPT各项能力的起源

导语 一篇十分深度剖析GPT系列模型的文章,作者翻译成了中文,在这里分享给大家。 来源:李rumor 作者:符尧, yao.fued.ac.uk,爱丁堡大学 (University of Edinburgh) 博士生,本科毕业于北京大学与 彭昊&#x…

阿里版ChatGPT已进入内部测试!中文聊天截图曝光!

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 来自:量子位 | 公众号 QbitAI 谷歌硬刚ChatGPT消息一出,科技圈全坐不住了。 就在昨晚,阿里百度网易京东一众公司全宣布要推出类ChatGPT新产品,战况那叫一…

微软ChatGPT的投资在AI上赚的是名声大起,又爆新品微软Copilot

微软宣布向ChatGPT开发者OpenAI追加投资数十亿美元,这也是人工智能领域史上规模最大的一笔投资。 微软公司周一公告称,这将是一项“多年、数十亿美元”的投资协议,下一阶段将专注于将各类工具推向市场。微软CEO纳德拉在公告中表示&#xff0c…

AI“应用商店”来了!OpenAI首批70个ChatGPT Plugin最全梳理

OpenAI放出大招,本周将向所有ChatGPT Plus用户开放联网功能和众多插件本周将向所有ChatGPT Plus用户开放联网功能和众多插件,允许ChatGPT访问互联网并使用70个第三方插件。 本批第三方插件能够全方位覆盖衣食住行、社交、工作以及学习等日常所需&#x…

GitHub14.5k stars!ChatGPT科研扩展来啦

ChatGPT 学术优化 今天给大家推荐一个科研工作者专用的ChatGPT拓展,目前已经是14.5k stars,地址:https://github.com/binary-husky/chatgpt_academic 主要亮点:特别优化学术Paper润色体验,支持自定义快捷按钮&#x…

教你快速导出 ChatGPT 对话数据!

距离 ChatGPT 上线已经过了半年,ChatGPT 已成为最有价值的工具,相信大家已经在使用 ChatGPT 高效地完成各项工作了。在 2023 年 4 月 25 日 OpenAI 开放了保存对话数据的功能,让我们在使用 ChatGPT 来进行创意写作或编码等工作时,…