为何PostgreSQL即将超越SQL Server?

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?的更多相关文章
- 连接到 PostgreSQL 数据源(SQL Server 导入和导出向导)
本主题向你介绍如何从 SQL Server 导入和导出向导的“选择数据源”页或“选择目标”页连接到 PostgreSQL 数据源. 重要 连接到 PostgreSQL 数据库的详细需求和先决条件不在此 ...
- C# 以附加文件方式连接SQL Server数据库文件
string str = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFileName=z:\ttt.mdf;Us ...
- [ASP.NET]SQL Server 连接字符串和身份验证
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; Property ...
- SQL Server 连接字符串和身份验证详解
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; ...
- SQL Server 连接字符串和身份验证
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1;P ...
- Sql Server连接字符串
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; ...
- SQL Server 连接字符串和身份验证 学习
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; ...
- SQL Server 导出数据到 PostgreSQL
乘着倒数据这会儿,把方法记录一下 需求:因为数据迁移,需要将SQL Server 2012中的数据库导入到PostgreSQL 数据库中 思路:创建一个空的数据库,便于导入数据.下载PostgreSQ ...
- [原创]从Oracle和Microsoft Sql Server迁移到PostgreSQL Plus Advanced Server
一.了解PPAS的迁移方式1.在线迁移和离线迁移使用Migration Studio或Migration Toolkit直接向PPAS数据库进行对象定义和数据表中数据的迁移称为在线迁移,生成要迁移对象 ...
随机推荐
- 开源三轴云台EVVGC(simple BGC)分析
一. 主程序分析 主程序结构清晰,流程如图所示,下面将对每个部分做详细分析 二. 系统初始化 系统初始化部分的流程如上图所示,下面对每部分做具体分析 1. 时钟初始化 该部分主要是使能DWT,用DWT ...
- BZOJ3159: 决战(FHQ Treap)
传送门: 解题思路: 算是补坑了,这题除了Invert以外就可以树剖线段树解决了. 考虑Invert操作,延续先前树链剖分的做法,考虑先前算法的瓶颈. 最暴力的方法是暴力交换权值,然而这种方法忽略了当 ...
- HyBird App(混合应用)核心原理JSBridge
目录 app分类 HyBird App(混合应用) JSBridge介绍 优势及应用场景 JsBridge的核心 1.Web端调用Native端代码 1.1 拦截URL Schema 1.2 注入ap ...
- leedcode算法
1.LeetCode - 合并两个链表 2. 3. 链表是否有环 https://jingyan.baidu.com/article/066074d69afb8d83c31cb068.ht ...
- 文件下载文件名包含中文时,乱码的处理方法(url编解码)
utf-8/gbk编码 "中"这个汉子的utf-8编码为:E4B8AD gbk编码为:D6D0 urlencode 经过urlencode编码后, %E4%B8%AD %D6%D0 ...
- 如何在 Spring Boot 中禁用 Actuator 端点安全性?
默认情况下,所有敏感的 HTTP 端点都是安全的,只有具有 ACTUATOR 角色的用户才能访问它们.安全性是使用标准的 HttpServletRequest.isUserInRole 方法实施的. ...
- 什么是 Spring Batch?
Spring Boot Batch 提供可重用的函数,这些函数在处理大量记录时非常重要,包括日志/跟踪,事务管理,作业处理统计信息,作业重新启动,跳过和资源管理.它还提供了更先进的技术服务和功能,通过 ...
- python 列表list-增删改查操作
初始化: a. data_list1 = [] b. data_list2 = [a,b,c] c. data_list = list() 新增: a. data_list1.ap ...
- Mac安装swoole中遇到的问题
转:https://blog.csdn.net/lishanleilixin/article/details/96137272 1:下载swoole源码,https://github.com/swoo ...
- python 基础数据类型汇总
数据类型小结(各数据类型常用操作) 一.数字/整型int int()强行转化数字 二.bool类型False&True bool()强行转化布尔类型. 0,None,及各个空的字符类型为Fal ...