市场领先者MySQL的挑战者:PostgreSQL的崛起

最新的DB-Engines的排名,可以看到有个DB的上升趋势非常的猛,那就是PostgreSQL。今天我们就来看看这个数据库。

"The world's most advanced Open Source Database"

这简介比较霸气:世界上最先进的开源数据库

发展史

PostgreSQL,简称PG,是一个开源的对象关系型数据库管理系统(ORDBMS),其起源可以追溯到1986年的加州大学伯克利分校。由Michael Stonebraker教授领导的POSTGRES项目,旨在探索数据库技术的新领域。

1986年:PostgreSQL的前身是加州大学伯克利分校的POSTGRES项目,由Michael Stonebraker教授领导,他后来因此获得了图灵奖。

1989年:发布了Postgres的第一个版本,这是一个探索对象关系数据库概念的重要步骤。

1995年:Postgres项目经过重大改进,引入了SQL语言,从而成为了PostgreSQL。

2000年代初:PostgreSQL开始支持高级功能,如GIS数据类型和索引,以及窗口查询和递归查询。

9.0版本:引入了异步流复制,提高了数据库的可靠性和灾难恢复能力¹。

9.1版本:增加了同步流复制和KNN查询索引支持,进一步提升了性能和功能¹。

9.4版本 :引入了JSONB数据类型和多主复制功能,使得PostgreSQL在处理JSON数据和高可用性方面更加强大¹近年来:PostgreSQL社区继续活跃,不断推出新版本,每个版本都带来性能提升和新功能。

特点

PostgreSQL以其高级功能和可扩展性而著称。它支持复杂的数据类型、多版本并发控制(MVCC)、异步复制、GIS数据处理等。此外,PG的可扩展性允许用户通过添加扩展如PostGIS来增强其功能。

**功能丰富:**PostgreSQL提供了许多其他开源数据库系统所不具备的特性,如复杂数据类型、触发器、表继承、函数索引等。

**扩展性:**通过其插件架构,用户可以添加新的数据类型、函数、操作符、聚合函数等。

**数据完整性:**PostgreSQL提供了强大的数据完整性支持,包括外键、唯一约束、检查约束等。

**MVCC:**多版本并发控制支持,允许在不锁定资源的情况下进行读取操作,从而提高并发性能。

**全文检索:**内置的全文检索功能,支持多种语言。

**地理空间数据:**通过PostGIS扩展,PostgreSQL支持地理空间数据存储和查询。

**安全性:**提供行级安全性和角色管理,确保数据安全。

市场使用现状

尽管PostgreSQL在技术上具有许多优势,但根据最新的市场占有率数据,MySQL的市场份额为52%,而PostgreSQL的市场份额为36%,MySQL仍然是市场上最受欢迎的数据库系统之一。

上图是2023年Stack Overflow关于最受欢迎的数据库的调查排名。

PostgreSQL在全球范围内也得到了广泛的应用,从小型企业到大型互联网公司。如Apple、Red Hat、IMDb等都在使用PostgreSQL。

开源背后的力量

可以看出有多家知名公司支持PostgreSQL项目。这些公司包括:

  • Google
  • Amazon Web Services (AWS)
  • Microsoft
  • Red Hat
  • Fujitsu
  • ....

这些公司的支持对PostgreSQL社区的发展至关重要,它们提供的资金和资源有助于推动项目的持续创新和改进。如果您想了解更多关于PostgreSQL赞助商的详细信息,可以访问PostgreSQL的官方网站,那里有一个完整的赞助商列表和相关信息。这些赞助商的贡献确保了PostgreSQL作为一个开源项目能够维持其活力和竞争力。

客户端工具

PostgreSQL客户端工具有多种。以下是一些流行的PostgreSQL客户端工具:

  • PgAdmin: 是PostgreSQL用户最流行的GUI之一,支持所有PostgreSQL功能的开源项目。
  • Navicat: 是一个付费工具,支持多种SQL语言,包括MongoDB、MySQL和PostgreSQL。
  • DBeaver: 是一个基于Java开发的免费开源通用数据库管理和开发工具,支持多种不同类型的数据库。

基本与mysql类似。

PostgreSQL 的广泛应用和深远影响力不容小觑。企业在选择数据库技术时,必须全面考量多方面因素,包括技术团队的专长、企业的业务需求、技术架构的兼容性以及未来的扩展性等。这些因素共同决定了 PostgreSQL 在企业中的角色是作为现有技术的补充还是替代。未来企业在不断变化的技术环境中如何做出最合适的选择,我们拭目以待。

相关推荐
闲人不梦卿37 分钟前
数据库安全和事务以及sql
数据库·sql
@220642 分钟前
银河麒麟系统离线环境下用docke方式部署(Postgres、Nginx、Redis、JDK)
运维·数据库·redis·nginx
阿坤带你走近大数据1 小时前
oracle的varchar2(200)和mysql的varchar(200) 最大支持的字节数和字符数都一样吗
数据库·mysql·oracle
马克学长1 小时前
SSM新能源汽车销售管理系统gooct(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·汽车·ssm框架·新能源汽车销售管理·车辆库存
小蜗的房子1 小时前
Oracle 19C RAC Public IP单网卡改为bond模式操作指南
运维·网络·数据库·sql·tcp/ip·oracle·oracle rac
不吃饭的猪1 小时前
nacos默认数据库密码查询
数据库
You丶小明快跑1 小时前
部署redis 集群和redis常用命令
数据库·redis·缓存
lkbhua莱克瓦242 小时前
进阶-InnoDB引擎-架构
数据库·mysql·架构·innodb·内存结构
白兰地空瓶2 小时前
PostgreSQL核心概念深度解析:从"户口本"到"高级工程师"的跃迁之路
postgresql
十里八乡有名的后俊生2 小时前
PostgreSQL 常用关键字速查
数据库