如果你关注国内数据库行业,一定听过这样一句话:国内 80% 的自研数据库,本质上都是 PostgreSQL 的 "换皮"。这句话虽然有些夸张,但绝非空穴来风。

从华为 GaussDB、阿里云 PolarDB 到人大金仓、南大通用,几乎所有叫得上名字的国产关系型数据库,都深度基于 PostgreSQL 开源项目二次开发。它就像数据库界的 "Linux",不仅是全球最先进的开源数据库,更是中国数据库产业崛起的基石。

本文将从历史、技术、生态三个维度,带你看懂 PostgreSQL 为什么能成为国产数据库的 "母体",以及它到底强在哪里。

一、PostgreSQL 的前世今生:从学术项目到开源王者

PostgreSQL 的历史可以追溯到 1973 年,比 MySQL 还要早 20 多年,它的诞生地是加州大学伯克利分校(UCB)

  1. 1973-1985 年:Ingres 时代 伯克利的 Michael Stonebraker 教授带领团队开发了 Ingres 数据库,这是世界上最早的关系型数据库之一,后来衍生出了 Sybase、SQL Server 等商业数据库。

  2. 1986-1994 年:Postgres 时代 Stonebraker 教授离开 Ingres 后,回到伯克利开发了 Postgres 项目,目标是解决当时关系型数据库的局限性,支持复杂数据类型和面向对象特性。

  3. 1995 年至今:PostgreSQL 时代 1995 年,Postgres 加入了 SQL 支持,正式更名为 PostgreSQL。此后,它由全球开源社区共同维护,经过 30 多年的迭代,已经成为功能最全面、最稳定的开源关系型数据库。

与 MySQL 被 Oracle 收购后发展受限不同,PostgreSQL 始终保持着完全开源、社区驱动的发展模式,采用宽松的 PostgreSQL 许可证,允许任何人免费使用、修改和分发,甚至可以用于商业用途,这也是它能被国内企业广泛采用的核心原因之一。

二、PostgreSQL 的核心优势:为什么国产数据库都选它?

国内自研数据库之所以几乎全部选择 PostgreSQL 作为底座,而不是 MySQL,根本原因在于 PostgreSQL 的技术先进性和架构灵活性,它天生就适合做企业级数据库。

1. 功能全面,几乎覆盖所有企业级需求

PostgreSQL 被称为 "最像 Oracle 的开源数据库",它支持几乎所有 Oracle 的核心功能:

  • 完整的 ACID 事务支持,支持分布式事务
  • 强大的 SQL 标准支持,支持 SQL:2023 标准的大部分特性
  • 内置丰富的数据类型:JSON/JSONB、数组、地理信息(PostGIS)、全文搜索、XML 等
  • 支持存储过程、触发器、视图、索引、外键等所有数据库高级特性
  • 支持并行查询、分区表、物化视图等性能优化功能

相比之下,MySQL 的功能相对简单,很多企业级特性需要通过第三方插件实现,稳定性和性能都不如 PostgreSQL 原生支持。

2. 架构灵活,扩展性极强

PostgreSQL 采用了模块化的架构设计,内核和扩展分离,开发者可以很方便地扩展其功能,而不需要修改内核代码。

这种架构让国内企业可以在不破坏原有稳定性的前提下,根据自己的需求进行定制化开发:

  • 增加分布式存储和计算能力,打造分布式数据库
  • 优化存储引擎,提升特定场景的性能
  • 增加国产化硬件支持,适配鲲鹏、飞腾等国产 CPU
  • 增加安全特性,满足等保三级、四级要求

3. 稳定性和可靠性极高

PostgreSQL 以稳定性著称,很多企业用它运行核心业务系统,连续运行数年不重启是常有的事。它的代码质量非常高,经过了全球数百万开发者的检验,bug 率远低于其他开源数据库。

4. 开源协议友好,无商业风险

PostgreSQL 采用的是BSD 风格的许可证,这是最宽松的开源许可证之一:

  • 允许商业使用,不需要开源自己的修改代码
  • 没有专利风险,不会被原作者起诉
  • 可以自由分发和销售基于 PostgreSQL 的产品

这对于国内企业来说至关重要,避免了像 MySQL 那样被 Oracle 卡脖子的风险。

三、国内 PostgreSQL 生态:撑起国产数据库的半壁江山

据不完全统计,国内超过 70% 的自研关系型数据库都是基于 PostgreSQL 开发的,它们构成了国产数据库的主力军:

1. 互联网大厂系

  • 阿里云 PolarDB-PG:阿里云基于 PostgreSQL 开发的云原生分布式数据库,是阿里云数据库的核心产品之一
  • 腾讯云 TDSQL-PG:腾讯云基于 PostgreSQL 开发的分布式数据库,广泛应用于金融、政务等领域
  • 华为 GaussDB:华为基于 PostgreSQL 开发的企业级分布式数据库,是华为云的核心数据库产品

2. 传统国产数据库厂商

  • 人大金仓 KingbaseES:国内最早的国产数据库之一,基于 PostgreSQL 开发,广泛应用于政务、军工等领域
  • 南大通用 GBase 8s:国内领先的国产数据库,核心产品基于 PostgreSQL 开发
  • 达梦数据库:虽然达梦有自己的内核,但很多设计思想和功能都借鉴了 PostgreSQL

3. 创业公司系

  • PingCAP TiDB:虽然 TiDB 的存储引擎是自研的,但 SQL 层大量借鉴了 PostgreSQL 的设计
  • 星环科技 Transwarp PostgreSQL:基于 PostgreSQL 开发的分布式数据库
  • 巨杉数据库 SequoiaDB:支持 PostgreSQL 协议的分布式数据库

这些国产数据库在 PostgreSQL 的基础上,增加了分布式、国产化、安全等特性,满足了国内企业的需求,也推动了中国数据库产业的快速发展。

四、为什么现在一定要学习 PostgreSQL?

对于数据库开发者、DBA 和后端工程师来说,PostgreSQL 已经成为了必备技能:

  1. 就业前景广阔:几乎所有的互联网公司、国企、政府单位都在使用或正在迁移到 PostgreSQL 或基于它的国产数据库
  2. 技术深度足够:PostgreSQL 的内核设计非常优秀,学习它可以深入理解数据库的底层原理
  3. 生态持续繁荣:随着国产数据库的崛起,PostgreSQL 的生态会越来越完善,需求也会越来越大

入门学习建议

  1. 先掌握基础 SQL:熟练掌握 SELECT、INSERT、UPDATE、DELETE 等基本操作
  2. 学习 PostgreSQL 核心特性:重点掌握事务、索引、视图、存储过程、JSONB、分区表等
  3. 实践操作:安装 PostgreSQL,自己动手创建数据库、表,编写 SQL 语句
  4. 深入学习内核:如果想成为高级 DBA 或数据库内核开发工程师,可以学习 PostgreSQL 的源码

五、总结与展望

PostgreSQL 不仅是一款优秀的开源数据库,更是中国数据库产业崛起的 "孵化器"。它用 30 多年的时间,证明了开源的力量,也为国内企业提供了一条快速追赶国际先进水平的道路。

未来,随着国产数据库的不断发展,PostgreSQL 的地位会更加重要。它会继续作为国产数据库的底座,支撑着中国数字经济的发展。

对于我们技术人来说,掌握 PostgreSQL,不仅是掌握了一门技术,更是抓住了国产数据库崛起的时代机遇。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐