探索PostgreSQL:全球领先的开源数据库系统

发表时间: 2019-05-18 14:50

常用数据库的朋友,对PostgreSQL应该并不陌生,这个号称“世界最先进的开源数据库系统”,着实让不少朋友着迷。

然而遗憾的是,PostgreSQL在国内的应用并不广泛,可能大家用的最多的,还是MySQL、SQLServer、Oracle这些数据库。

Oracle和SQLServer都是商业闭源数据库,都是美国的,MySQL又被Oracle收购了,其开源前景非常暗淡。

在目前中美贸易战的大背景下,连华为都在砸锅卖铁做到全流程国产化,我们作为搞数据库的所谓IT人士,真的应该开始花时间研究包括PostgreSQL在内的各类极品开源系统了。

当然,今天我们聊PostgreSQL,主要出发点并不是因为当前的世界局势,而是PostgreSQL本身,她有着“世界最先进的开源数据库系统”的名号,这名号不是吹出来的,是实实在在的。

今天,我们就谈谈PostgreSQL到底好在哪里。

PostgreSQL是完全开源的,无需任何商业授权,她属于世界,有不计其数的顶级高手和顶级黑客为其奉献!

有朋友会问,这一点真的很重要吗?我的回答是真的非常重要。PostgreSQL是属于全世界的开源数据库系统,她拥有一支遍布全球的非常活跃的开发队伍。除了登记注册的全球志愿者团队负责维护开发外,还包括很多顶尖黑客都愿意为此奉献。

您试想一下,有如此众多高手的大力支持和无私奉献,PostgreSQL会差吗?您可以不相信微软、可以不相信Oracle,难道您连全世界顶尖高手和顶尖黑客的无私奉献都信不过?

从这个角度延伸一下,作为开源的系统,PostgreSQL的无私奉献真的很了不起。SQL Server、Oracle、DB2这些都是闭源的,PostgreSQL想要汲取它们的营养非常难,而反过来就很难说了。谁是伟大的、谁是无耻的,还需要明讲吗?

PostgreSQL对SQL标准的支持非常棒,没有最棒、只有更棒!

作为完全可以对标甚至超越Oracle、SQLServer的大型数据库系统,PostgreSQL对SQL标准的支持非常棒,基本全面覆盖了所有 SQL-2/SQL-92 和 SQL-3/SQL-99标准。换句话说,要说那个数据库最正统,那非PostgreSQL莫属。

PostgreSQL很早就是全功能的自由软件数据库。她支持非常丰富的数据类型(丰富到变态级别)、她支持支持事务和子查询、她支持多版本并行控制系统(MVCC)、她支持数据完整性检查等等。

无论您是入门级的数据库新手、还是高深莫测的数据库管理员,PostgreSQL奉献给您的,是最标准、最正统的SQL标准支持,如果您不选她、那选谁还会更合适呢?

PostgreSQL跨各种主流平台,完美支持绝大部分的主流编程语言

无论是各种Linux、还是Windows,PostgreSQL的支持都非常棒;无论您是用C、还是用Pascal、PHP、GO、Python、Kotlin、C#、Java、Ruby等等,PostgreSQL都为您提供了非常完美的编程接口支持。

当然,其它数据库可能也能做到,但作为完全开源的全功能数据库系统,能够获得所有主流编程语言的支持,实属难得啊。不要跟我提MySQL,这个被流氓公司收购了的前途未卜、半死不活的,根本没有跟PostgreSQL对比的资格。

所以说,无论您是数据库管理员、还是程序员,如果您希望选择一个相对完美的数据库系统,我敢自信的说PostgreSQL绝对是最靠近完美的那个。

PostgreSQL对JSON的支持到了变态的地步,正逐步蜕变到NewSQL数据库!

对NoSQL和NewSQL比较了解的朋友应该清楚,JSON是NoSQL和NewSQL的基础,我们无法定论是JSON成就了NoSQL和NewSQL、还是NoSQL和NewSQL成就了JSON,总之NoSQL、特别是NewSQL已经是未来数据库发展的大方向,这是铁的事实。

PostgreSQL对JSON的支持,是所有传统关系型数据库中最彻底最全面的,她是字段级别的直接支持,而且提供了大量的JSON处理函数。从这个角度来看,PostgreSQL与NewSQL的距离越来越靠近。

当然,并不是说支持JSON好就算是NewSQL了,还有很多其它技术进步融合,包括OLAP、OLTP的完美支持,PostgreSQL都在越做越好。拥抱PostgreSQL,从某种意义上也可以说是拥抱了未来。

PostgreSQL性能优异、稳定性坚若磐石!

这是重点,也是PostgreSQL在全世界受到极大青睐的主因之一。很多朋友理解性能和稳定性,喜欢从纯技术的角度出发,我这里换一个角度。

前几天,跟一个朋友聊起,他帮一个客户开发的系统,已经用了四五年了,单个表的数据量已经涨到了千万级别,他没做任何处理(分表、清理等都没做),现在的速度跟刚开始启用的时间没什么变化。

就问您服了没有?

说了这么多,如果您还是认为死贵死贵的Oracle和SQLServer是个宝,那就是我明珠暗投了。

拥抱PostgreSQL、您就拥抱了未来!