聊聊PostgreSQL的生态发展

今天是PGCONF 2021的第一天,所以我今天写篇和PG有关的文章。有兴趣的朋友可以前往观摩:https://2021.postgresconf.cn/

今天我来聊聊PG的生态。PostgreSQL似乎是目前除了Mysql之外最火的开源关系型数据库了。大家可能觉得PG是一个后来者,实际上PG这个80后足足比Mysql早诞生了6年。不过在随之而来的开源数据库浪潮中,PG起了个大早,赶了个晚集。哪怕是1996年Postgres改名为PostgreSQL以后,也没有赶上以SQL为核心的关系型数据库大行其道的这火红二十年。

2013年一个客户让我帮助分析一下,如果他们必须去IOE,那么Mysql和PostgreSQL这二者中,用哪个数据库来替代Oracle比较合适呢?我们团队通过一系列的分析,最后给出的答案是Mysql,因为那时候的PostgreSQL还不够成熟,在RDBMS产品上,vacuum导致的问题对高并发的核心应用系统来说,运维难度很大。其周边的生态建设更是落后Mysql太多了。

聊聊PostgreSQL的生态发展

不过这些年PG数据库已经逐渐赶上来了。大家可以看到从2013年开始PG在DB-ENGINES上的只有不足200分,到2021年底突破600分,PG数据库只用了8年时间。在最近几年的DB-ENGINES的DBMS OF THE YEAR中,PG摘取了2017/2018/2020,MYSQL摘取了2019。不出意外的话,今年的DBMS OF THE YEAR 2021又将被PG摘取。

聊聊PostgreSQL的生态发展

为什么现在应该是看好PG数据库的时候了呢?这和PG已经逐渐形成的生态有很大的关系。PG的生态发展与Mysql有所不同。Mysql的生态的发展是伴随着互联网的兴起的,在大量的互联网公司中的成功应用下,Mysql逐渐发展起来,并奠定了Mysql第一开源数据库的地位。大家用的好造就了Mysql生态的快速发展。基于Mysql的各种数据库产品、存储引擎、高可用集群、云平台、运维工具营运而生,最终推动了Mysql数据库的十年繁华。

从上表中我们可以看出,目前PG的生态产品也已经不少了,基本上涵盖了企业信息化中数据库应用的主要领域,在表格里我还没有列出国产数据库相关的信息以及高可用集群、应用解决方面的生态产品。从上面的表格中我们还可以看出另外一个信息,PG生态产品的创建时间普遍晚于Mysql的生态产品,大部分项目是2012年以后才创建的,不过几乎所有的生态产品都已经经历了最痛苦的5年,已经进入了成熟期。

PG生态的发展虽然也和它的用户群体不断壮大有关,不过PG生态发展过程中,出现了一些与Mysql生态发展不同的特征,PG数据库的发展的推动主力并不是互联网企业,而是企业用户。2000年以来,PG数据库在日本企业界得到了相当好的应用。近年来,中国的PG应用时长也蓬勃发展。那就是围绕PG的核心代码,发展出了大量的开源与商用数据库系统和PG数据库插件。在国产数据库厂商中,基于PG开源代码的数据库产品数量也十分庞大。这种生态发展得益于PG数据库的较为宽松的BSD开源协议,而对源代码贡献者提供较好保护的GPL开源协议在某些方面影响了MYSQL向商业应用发展的动力。

Mysql的生态发展是互联网企业先打了个样板,然后推动企业市场发展起来的。PG生态的发展起源于企业应用市场,互联网企业也随之发现了其中的商机,很快将其纳入到云服务平台之中。大量的国产数据库产品也以PG的开源项目为基础,包括人大金仓、神通、瀚高、优炫、华为Opengauss、海量G100、腾讯TBASE、阿里Polardb-PG等一系列国产数据库都是基于BSD授权的PG源码。也正是因为大量的国产数据库厂商纷纷以PG数据库源码作为产品起点,也培养了一大批熟悉PG代码,掌握PG数据库运维关键技术的人才,这也会极大的推动PG数据库在商业领域的应用。

比Mysql更为成熟的CBO优化器,灵活可扩展的架构,更开放的开源授权协议让PG数据库更容易在研发能力远远不如互联网企业的政企应用中受到客户的青睐,其生态发展也将会更快速的发展。不过和传统的商用数据库,特别是Oracle相比,PG数据库的运行指标体系依然十分简陋,甚至还不如Mysql。这对于构建强大的PG运维服务生态十分不利,因此我想PG社区也应该在这方面更多的着力,如果能够构建一个类似ORACLE OWI的运维数据接口,那将会让PG数据库的运行更加透明,也更能够在大型企业级应用中发挥作用。


聊聊PostgreSQL的生态发展》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.hashtobe.com/371.html