DB-Engines 2021年10月份统计,PostgreSQL当月上升10.30点,总分是597.27;SQLServer当月大幅下降16.32,总分是954.29 。按照这样的速度,2年之内,PostgreSQL即将超越SQLServer。

PostgreSQL势力坚不可摧,势不可挡,有下面充分的理由表明,它必将超越SQL Server。

01

开源的力量

虽然许多其他数据库技术已经上升或下降,但是PostgreSQL经受住了时间的考验,它每年都在增长,不仅在功能上,而且在受欢迎程度上,都在增长。
PostgreSQL 是世界上最先进的开源关系数据库。它正乘着人气飙升的浪潮,最新Stack Overflow调查,将其列为"最需要"数据库,DB-Engines 将其评选为2020年度重磅DBMS。特别有趣的是,PostgreSQL的治理模式和所有权模式,与市场上的其他数据库相比,截然不同。PostgreSQL不受任何公司的控制,它拥有最自由的开源许可协议。这允许它被不同公司无条件共享、使用、分发和重新开发。其许可协议的自由性质,使商业项目、开源项目等都从社区生态中受益。

02

创新无止境

多年来,PostgreSQL的核心功能不断成熟和完善,但将代码直接合并进入 PostgreSQL 内核并不总是一件容易的事。全球开发组团队对新功能和代码保持严格审核。虽然这可能会引起一些寻求官方支持的功能的贡献者的担忧,但PostgreSQL的架构旨在允许开发和交付新功能作为扩展(插件)。这有效地隔离了可能为错误的新代码,引入不确定性。这种方法并非独一无二。MySQL 和MariaDB 也有插件架构;然而,它并没有证明像PostgreSQL那样受欢迎。这种扩展性(插件)允许用户和公司创建软件,在不完全分支代码的情况下增强 PostgreSQL以用于特定用途案例。事实上,45个不同的社区提供的扩展已包括在官方发布的附加模块,此外,还有数千个扩展(插件)没有被官方渠道收录。此外,许多公司都保留自己的PostgreSQL分支和"企业版"。这些扩展,分支和项目是大有可为的,由于PostgreSQL自由许可协议,它允许任何人从PostgreSQL核心包开始进行任何的迭代和开发。

03

强大生态社区

PostgreSQL社区包括全球数十万用户,以及数百家提供模块、BUG修复和扩展的公司。这一广泛而多样化的参与者,给PostgreSQL社区带来了巨大的优势。就PostgreSQL而言,数百家不同的公司提供市场营销、工程、销售、培训和教育。所有参与社区的公司都提高了意识和需求,并推动项目向前发展。这种团队力量是一个巨大的战略优势。全球团队的力量碾压一切。甲骨文正在推动其旗舰数据库的知名度,只有它的一些合作伙伴贡献了一点。但是,在PostgreSQL社区中,您拥有所有云服务提供商(微软、AWS、Google
等),以及较大的 PostgreSQL 供应商(如中国的太阳塔、Percona、EDB、CrunchyData、Ongres
等),以及不同的社区项目,所有这些提供商都携手合作。这些机构背后有很多力量。这些公司也为用户提供了大量的选择,这对采用PostgreSQL的用户来说是一个巨大的好处。这意味着,如果你不喜欢一个供应商,你可以很容易地尝试另一个。"多能的力量"在这里带来了显著的优势,增加了创新、功能和模块。PostgreSQL14已经是一个梦幻般的通用数据库,但公司在此基础上再接再厉,创建了一个伟大的"NewSQL"数据库,一个更伟大的分析数据库,等等。更多的工程师、更多的公司和更多的贡献者允许多元化和增长,而这种多样性和增长往往在大公司中会慢得多,甚至不存在(在那些公司里,群体思维可能是一个真正的问题)。在PostgreSQL,它带来更智能的解决方案和更快的创新。

04

群雄纷争

显然,它并不总是一帆风顺的。与任何社区一样,在前进的最佳方式上也存在分歧和争论。最近,我们看到一些关于商标所有权和项目治理的关注。这引起了激烈的辩论,不同的社区成员似乎意见相左。从外部看,这看起来可能很糟糕,但社区内部的公开辩论和讨论是常见的,通常是健康的。开源之所以如此伟大,部分原因在于将不同角度的人的想法汇集在一起,并采纳其中最好的一种。不是每个人都会对结果感到满意,但只要我们继续讨论、辩论和演变,我们都能取得成功。PostgreSQL 的开放式开发模式、自由许可和丰富的功能创造了非常忠诚的用户群和一大批致力于推动采用并继续保持用户群快乐的公司。PostgreSQL背后的势头没有放缓的迹象,我预测它将继续在未来几年内增长。如果它最终结束 MySQL 的统治地位,占据榜首位置,我也不会感到惊讶。

PG考试相关详情:http://www.pgccc.com.cn/

为何PostgreSQL即将超越SQL Server?的更多相关文章

  1. 连接到 PostgreSQL 数据源(SQL Server 导入和导出向导)

    本主题向你介绍如何从 SQL Server 导入和导出向导的“选择数据源”页或“选择目标”页连接到 PostgreSQL 数据源. 重要 连接到 PostgreSQL 数据库的详细需求和先决条件不在此 ...

  2. C# 以附加文件方式连接SQL Server数据库文件

    string str = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFileName=z:\ttt.mdf;Us ...

  3. [ASP.NET]SQL Server 连接字符串和身份验证

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; Property ...

  4. SQL Server 连接字符串和身份验证详解

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  5. SQL Server 连接字符串和身份验证

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.         PropertyName1=Value1;P ...

  6. Sql Server连接字符串

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  7. SQL Server 连接字符串和身份验证 学习

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  8. SQL Server 导出数据到 PostgreSQL

    乘着倒数据这会儿,把方法记录一下 需求:因为数据迁移,需要将SQL Server 2012中的数据库导入到PostgreSQL 数据库中 思路:创建一个空的数据库,便于导入数据.下载PostgreSQ ...

  9. [原创]从Oracle和Microsoft Sql Server迁移到PostgreSQL Plus Advanced Server

    一.了解PPAS的迁移方式1.在线迁移和离线迁移使用Migration Studio或Migration Toolkit直接向PPAS数据库进行对象定义和数据表中数据的迁移称为在线迁移,生成要迁移对象 ...

随机推荐

  1. bzoj5315/luoguP4517 [SDOI2018]战略游戏(圆方树,虚树)

    bzoj5315/luoguP4517 [SDOI2018]战略游戏(圆方树,虚树) bzoj Luogu 题目描述略(太长了) 题解时间 切掉一个点,连通性变化. 上圆方树. $ \sum |S| ...

  2. [八省联考2018]制胡窜 (SAM+大讨论)

    正着做着实不太好做,正难则反,考虑反着做. 把i,j看成在切割字符串,我们统计有多少对(i,j)会切割所有与\(s_{l,r}\)相同的串.对于在后缀自动机上表示\(s_{l,r}\)的节点x,x的p ...

  3. HTTP发展史,HTTP1.1与HTTP2.0的区别

    前言 我们知道HTTP是浏览器中最重要且使用最多的协议,它不仅是浏览器与服务端的通信语言,更是互联网的基石.随着浏览器的不断更新迭代,HTTP为了适应技术的更新也在不断进化,学习HTTP的最佳途径就是 ...

  4. 『现学现忘』Docker基础 — 33、Docker数据卷容器的说明与共享数据原理

    目录 1.数据卷容器的说明 2.数据卷容器共享数据原理 3.总结 4.练习:MySQL实现数据共享 1.数据卷容器的说明 (1)什么是数据卷容器 一个容器中已经创建好的数据卷,其它容器通过这个容器实现 ...

  5. maven下载出现unknown文件夹

    问题场景 maven下载配置完成后,发现如上图代码包下载失败,本地maven库中出现unknown文件夹,也就是说,maven无法定位下载到上面的代码包. 解决过程 仔细观察发现,所有下载失败的代码包 ...

  6. yarn上运行flink环境搭建

    主要完成hadoop集群搭建和yarn上运行flink 1.搭建hadoop伪集群 主要是搭建hadoop MapReduce(yarn)和HDFS 1.1 下载&配置环境变量 这里下载的ha ...

  7. 你在项目中哪些地方用到了 XML?

    XML 的主要作用有两个方面:数据交换和信息配置.在做数据交换时,XML 将数 据用标签组装成起来,然后压缩打包加密后通过网络传送给接收者,接收解密与 解压缩后再从 XML 文件中还原相关信息进行处理 ...

  8. 解释 Spring 支持的几种 bean 的作用域?

    Spring 框架支持以下五种 bean 的作用域:singleton : bean 在每个 Spring ioc 容器中只有一个实例.prototype:一个 bean 的定义可以有多个实例.req ...

  9. 微信APP支付V3版本签名 && APP下单/订单查询接口Python版实现

    问题背景 最近接入微信支付,微信官方并没有提供Python版的服务端SDK,因而只能根据文档手动实现一版,这里记录一下微信支付的整体流程.踩坑过程与最终具体实现. 微信支付APP下单流程 根据微信官方 ...

  10. Linux网络配置:Nat和桥接模式详解

    Linux网络配置:Nat和桥接模式详解 一.我们首先说一下VMware的几个虚拟设备: Centos虚拟网络编辑器中的虚拟交换机: VMnet0:用于虚拟桥接网络下的虚拟交换机: VMnet1:用于 ...