【译】为什么传统的PostgreSQL又流行起来了

待兔 等级 870 0 0

本文译自 《Why old-school PostgreSQL is so hip again》 by Matt Asay

PostgreSQL(也就是Postgres)非常老了,但是过去的5年中,它却像金子一样重新发光了。 MongoDB 进行了数十亿美元的IPO,AWS则发布了思路非常Aurora Serverless,而PostgreSQL则一直进行着自己的发展。

根据DB-Engines’ multicomponent ranking排名,PostgreSQL是目前世界上位居最受欢迎排行榜第四位的数据库,在它超越Oracle,MySQL和微软的SQLServer的道路上还有很长的路要走。但是在趋势榜上,有很多理由能

**From InfoWorld’s experts: What is SQL? The language of databases explained. | Database slow? Improve the speed and scalability of your RDBMS with these 21 rules for faster SQL queries. | What is NoSQL? NoSQL databases explained. **

问题是为什么?为什么PostgreSQL不仅仅是传统数据库的热门选择,在现在也是一个时髦的热门话题呢?

多亏了Citus,PostgreSQL现在是可扩展的

毫无疑问近些年来对于PostgreSQL来说,能让它看起来并不那么落伍的最大的功能就是:PostgreSQL9.2对于native JSON的支持功能。一开始它并不太好,但是到了9.4版本,JSONB为这款古老的数据库带来了显著的魔力(和重量级的索引)。

同时,就像Redmonk公司分析师James Governor 指出的那样,“有一些NoSQL大数据 的审美疲劳”,所以突然有一些开发者在一些关键的工作中尝试使用PostgreSQL来替换MongoDB和Apache Cassandra

很意外吧。

当然同时,PostgreSQL(以及其他的RDBMS)在可扩展方面做的还不够好。当然你也可以花大价钱获取Oracle的条目级垂直扩展能力,但是并不是所有工作都这么做了。Google,Facebook和其他公司已经展示了真正的扩展是水平的--而这也曾经是PostgreSQL所缺失的。

“曾经”是个很好的词。

Citus,是PostgreSQL的一个开源扩展。可以通过它很容易的将PostgreSQL扩展到多个节点,将事务和SQL查询智能分发以进行大规模的并行化,就像数据库运行于一台具有超强计算能力,超大内存和磁盘的机器上一样。Citus背后的公司提供工具(可以管理Citus数据库),使得管理扩展非常容易。就像Craig Kerstiens(Citus’s head of cloud)说的那样,基于PostgreSQL的SaaS初创公司或企业可以不用担心未来他们为了获得可扩展性而需要为NoSQL重新做架构。通过Citus,PostgreSQL自带可扩展能力。

让无聊的事情无聊下去

除了这个新的可扩展功能和NoSQL-y功能外,PostgreSQL在数据库基本功能上做的一直不错。存储(并且不丢)数据。事实上,当我问为什么PostgreSQL能能力如此复兴时,大多数回答者都聚焦在这些令人印象深刻的方面:保证数据的完整性和正确性,通过插件进行运行时扩展的能力,通过使用其他语言包查询其他系统的能力。

不止是这些,根据Elijah Zupancic所说,PostgreSQL也获得了开发者的认可:“从一个开发者的角度讲,PostgreSQL很好用。文档很棒,数据类型与开发者很匹配,也没什么小惊喜。”不想Top10的其他数据库,PostgreSQL不依靠单一贡献者。它的真正贡献者是开源社区。

最后要说的一点是,在未来PostgreSQL很有可能会取代MySQL。因为MySQL的最大贡献者是:Oracle。OpsCompass CTO John Grange 指出他的客户更喜欢PostgreSQL,就因为它不是Oracle。他的客户并不少见。

不管MySQL还是Oracle在未来都不会很快的将世界最受欢迎的两款数据库的位置让给PostgreSQL或者其他产品。但是,趋势是有利于PostgreSQL的。某种程度上,是因为人们喜欢它的稳定性。然而同时,也很看重这种无聊的美德:就像有人在Hacker News中发表的评论,“他不太流行,也不太好搭建,但是当你搭建完毕了,你就拥有了一个让你能做任何事情的可靠的平台”。

收藏
评论区

相关推荐

阿里云德哥:PostgreSQL 数据库的前世今生
内容摘要 PostgreSQL是以加州大学伯克利分校计算机系开发的 Posrgres,现在已经更名为PostgreSQL。它是一个自由的对象关系数据库服务器(数据库管理系统),它在灵活的 BSD风格许可证下发行。PostgreSQL 中国社区发起人之一Digoal为我们带来PostgreSQL 前世今生、社区理念以及阿里云Postgr
PostgreSQL介绍以及如何开发框架中使用PostgreSQL数据库
最近准备下PostgreSQL数据库开发的相关知识,本文把总结的PPT内容通过博客记录分享,本随笔的主要内容是介绍PostgreSQL数据库的基础信息,以及如何在我们的开发框架中使用PostgreSQL数据库,希望大家多多提意见。 1、PostgreSQL数据库介绍 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更
【译】为什么传统的PostgreSQL又流行起来了
本文译自 《Why oldschool PostgreSQL is so hip again》(https://www.infoworld.com/article/3240064/sql/whyoldschoolpostgresqlissohipagain.html) by Matt Asay(https://www.infoworl
Kubernetes部署高可用PostgreSQL集群
PostgreSQL 是一个功能强大的开源关系数据库,它使用和扩展了 SQL 语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL 的起源可以追溯到 1986 年,作为加利福尼亚大学伯克利分校 POSTGRES 项目的一部分,与 Linux 内核相似,PostgreSQL 是由社区驱动的开源项目,由全世界贡献者所维护。Postgre
VS2010编译PostgreSQL 9.2.2
我用的是VS2010英文专业版,PostgreSQL的版本是9.2.2,操作系统的平台是win7 32bit/64bit。 首先下载PostgreSQL 9.2.2的源码,链接地址是[http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.gz](https://www.oschin
CentOS 7 安装、配置、使用 PostgreSQL 9.5(一)安装及基础配置
> 一直不知道怎么读这个数据库的名字,在官网上找到了文档。 > PostgreSQL is pronounced Post-Gres-Q-L. [读音](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fwww.postgresql.org%2Ffiles%2Fpostgresql.mp3)
Linux系统:Centos7下搭建PostgreSQL关系型数据库
本文源码:[GitHub·点这里](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgithub.com%2Fcicadasmile%2Flinux-system-base) || [GitEE·点这里](https://gitee.com/cicadasmile/linux-system-
PostgreSQL 数据库备份与恢复 pd_dump pg_restore
备份 PG 数据库生成的文件可以有两种,一种是 SQL 文件,一种是二进制文件,二进制文件只能使用 pg\_restore 进行恢复。 PostgreSQL 数据库操作简要说明 PostgreSQL数据库版本 psql --version psql (PostgreSQL) 9.1.3 下面是在linux下的操作,在windows下面将su -p
PostgreSQL 逻辑复制文档 (pglogical 文档 ) [翻译]
本文档适用于 PostgreSQL 9.4 9.6 [原文连接](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2F2ndquadrant.com%2Fresources%2Fpglogical%2Fpglogical-docs%2F) ##### 翻译:亭亭小次郎 pglogical是
PostgreSQL.Live生而全球 敢于颠覆
这,是开源技术的未来 这,汇集中外大咖 分享核心技术 这,畅聊主流话题 交流顶尖技术 这,与顶级企业联手,合作共赢 ****PostgreSQL.Live简介**** PostgreSQL.Live由中国PostgreSQL分会与PostgreSQL国际社区共同筹备、知名PostgreSQL生态链企业参与,live沙龙将以在线直播+按需学习相结合的
PostgreSQL“ DESCRIBE TABLE”
### 问题: 如何在PostgreSQL中执行等效于Oracle `DESCRIBE TABLE`的命令(使用psql命令)? * * * ### 解决方案: 参考一: [https://stackoom.com/question/SRJ/PostgreSQL-DESCRIBE-TABLE](https://www.oschina.net/acti
PostgreSQL数据库从入门到精通
**阿里云大学课程:[PostgreSQL数据库从入门到精通](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fclick.aliyun.com%2Fm%2F1000010034%2F)** **课程介绍:** PostgreSQL被誉为“世界上功能最强大的开源数据库”,是以加州大学伯克利
PostgreSQL物理坏块和文件损坏案例分享
作者简介 ---- **王睿操**,平安好医数据库架构岗,多年postgresql数据库运维开发工作。曾就职于中国民航信息,迪卡侬。对其他数据库产品也有一定的涉猎。 背景 -- 笔者最近发现很多朋友经常遇到PostgreSQL坏块或者数据混乱的情况,网上中文资料比较少,于是整理了一下笔者遇到各种各样的报错以及解决方案 案例一:物理坏块 -------
Postgresql 数据库控制解析(一)
前面我们通过“探索postgresql数据库(一)”和“探索postgresql数据库(二)”基本了解了postgresql数据库。接下来本文开始介绍下数据库控制(server control)。。 一、手动开启数据库(Starting the database server manually) 默认postgresql会随着系统自动启动,不过
Postgresql部署及简单操作
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚。 但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先了解它,然后才可有话语权。 为了更多的了解postgresql,我们就先部署一套实例作为了解它的基础。 ![](https://oscimg.oschina