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. WinCE知识介绍

    学习WinCE基本开发的步骤: 1.了解WinCE发展史: 2.WinCE开发环境搭建:[软件工具+插件] 3.简单案例: 参考:http://blog.csdn.net/educast/articl ...

  2. 什么是Spring MVC框架的控制器?

    控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现.控制器解析用户输入并将其转换为一个由视图呈现给用户的模型.Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器.

  3. selenium 模块使用

    selenium 概念:基于浏览器自动化的一个模块,可以模拟浏览器行为 环境的安装:下载selenium模块 selenium和爬虫之间的关联是什么? 便捷的获取页面中动态加载的数据 requests ...

  4. scrapy --爬取媒体文件示例详解

    scrapy 图片数据的爬取 基于scrapy进行图片数据的爬取: 在爬虫文件中只需要解析提取出图片地址,然后将地址提交给管道 配置文件中写入文件存储位置:IMAGES_STORE = './imgs ...

  5. 学习Puppet(二)

    puppet的工作流程 1.简介 puppet是一种采用C/S星状结构的linux.Unix平台的集中配置管理系统.puppet拥有自己的语言,可管理配置文件.用户.cron任务.软件包.系统服务等. ...

  6. 数据库遇到的问题之“datetime设置默认为CURRENT_TIMESTAMP时报无效默认问题”和“时区问题”

    一.问题1 问题描述: 今日加入创建时间和修改时间,并设置为默认CURRENT_TIMESTAMP时,出现错误,指向sql中的datetime字段,查了一下,发现是版本问题 立马查询自己的MySQL版 ...

  7. 业务网关之AK中心建设

    啥是AK AK(Access Key)是一种身份证明,它解决了"资源的使用者是谁"这个问题,比如在生活中,身份证可以证明你是你,而在云计算或程序中,AK能证明你是这个应用的拥有者. ...

  8. 设计一个基于svg的涂鸦组件(一)

    基于svg写了一个涂鸦组件,说项目之前先附上几张效果图: 项目地址:SVGraffiti 由于篇幅问题,本文先总体介绍一下项目的大概情况,重点介绍一下组件间的通信方式. 一.项目说明 该项目是基于we ...

  9. tf.test.is_gpu_available() 返回结果为False解决办法

    安装完gpu版本的tensorflow,导入正常,但是tf.test.is_gpu_available()一直返回False,解决办法: 1.打开NVIDIA控制面板,查看CUDA的驱动版本,如果版本 ...

  10. IDEA中Tomcat找不到war包导出按钮解决办法

    解决办法 (1) 打开Idea,点击File,然后点击Project Structure-,进入项目结构 (2) 具体步骤看下图: (3) 具体步骤如下图: (4) 具体步骤如下图: (5) 问题解决 ...