上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3 RDS for PostgreSQL
PostgreSQL(以下简称PGSQL)作为近几年逐步升温的开源关系型数据库,正在逐步被行业内所了解。行业内对它的厚望,并不是取代MySQL,而是“去O”。
正如前文所述,MySQL固然是当前市场上最为流行的开源关系型数据库,但因为其平民化的架构设计,加上多种历史原因,先天性存在一些性能瓶颈。如今MySQL社区也是由Oracle所主导的,对于Oracle是否希望MySQL能够成长为一个类似于Oracle Database的当家产品,市场上众说纷纭,这样推测似乎也合情合理。所以,即便我们看见MySQL正在逐步向它的“老大哥”学习,但本质上,两者还是有较大的区别的。
PGSQL具有学术背景,这一点在社区或科研单位也经常被提及。虽然PGSQL的生态圈、知名度、使用率可能远不及MySQL,但这种学术出身也成为一种隐形优势。2019年MongoDB社区就曾经状告各类云计算公司“吸血”,不能反哺社区,于是紧急更改了开源协议。类似的还有Oracle公司突然在MySQL 8.0中大刀阔斧地调整代码结构,无论出发点是什么,确实让第三方分支的代码难以跟进。正是因为如果一个产品有强力的主导,那么其他人(或组织)就难以左右产品的趋势,这对于投入数据库研发的公司是有巨大风险的。PGSQL缺少统一的或者说强力的领袖,反而是目前最平稳、值得投入的数据库产品。这也是百花齐放的数据库“战国时代”,有非常多的基于PGSQL衍生的数据库,而不是清一色的MySQL系产品。
说完形势,我们再说说PGSQL的内核特点。相比于前面介绍的MySQL和SQL Server,本节将对PGSQL的两个内核特点进行介绍:一是它的优化器;二是它的MVCC实现方式。