本文譯自 《Why old-school PostgreSQL is so hip again》 by Matt Asay
PostgreSQL(也就是Postgres)非常老了,但是過去的5年中,它卻像金子一樣重新發(fā)光了。 MongoDB 進(jìn)行了數(shù)十億美元的IPO,AWS則發(fā)布了思路非常Aurora Serverless,而PostgreSQL則一直進(jìn)行著自己的發(fā)展。
根據(jù)DB-Engines’ multicomponent ranking排名,PostgreSQL是目前世界上位居最受歡迎排行榜第四位的數(shù)據(jù)庫,在它超越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不僅僅是傳統(tǒng)數(shù)據(jù)庫的熱門選擇,在現(xiàn)在也是一個時髦的熱門話題呢?
多虧了Citus,PostgreSQL現(xiàn)在是可擴(kuò)展的
毫無疑問近些年來對于PostgreSQL來說,能讓它看起來并不那么落伍的最大的功能就是:PostgreSQL9.2對于native JSON的支持功能。一開始它并不太好,但是到了9.4版本,JSONB為這款古老的數(shù)據(jù)庫帶來了顯著的魔力(和重量級的索引)。
同時,就像Redmonk公司分析師James Governor 指出的那樣,“有一些NoSQL 和大數(shù)據(jù) 的審美疲勞”,所以突然有一些開發(fā)者在一些關(guān)鍵的工作中嘗試使用PostgreSQL來替換MongoDB和Apache Cassandra。
很意外吧。
當(dāng)然同時,PostgreSQL(以及其他的RDBMS)在可擴(kuò)展方面做的還不夠好。當(dāng)然你也可以花大價錢獲取Oracle的條目級垂直擴(kuò)展能力,但是并不是所有工作都這么做了。Google,F(xiàn)acebook和其他公司已經(jīng)展示了真正的擴(kuò)展是水平的--而這也曾經(jīng)是PostgreSQL所缺失的。
“曾經(jīng)”是個很好的詞。
Citus,是PostgreSQL的一個開源擴(kuò)展??梢酝ㄟ^它很容易的將PostgreSQL擴(kuò)展到多個節(jié)點,將事務(wù)和SQL查詢智能分發(fā)以進(jìn)行大規(guī)模的并行化,就像數(shù)據(jù)庫運行于一臺具有超強(qiáng)計算能力,超大內(nèi)存和磁盤的機(jī)器上一樣。Citus背后的公司提供工具(可以管理Citus數(shù)據(jù)庫),使得管理擴(kuò)展非常容易。就像Craig Kerstiens(Citus’s head of cloud)說的那樣,基于PostgreSQL的SaaS初創(chuàng)公司或企業(yè)可以不用擔(dān)心未來他們?yōu)榱双@得可擴(kuò)展性而需要為NoSQL重新做架構(gòu)。通過Citus,PostgreSQL自帶可擴(kuò)展能力。
讓無聊的事情無聊下去
除了這個新的可擴(kuò)展功能和NoSQL-y功能外,PostgreSQL在數(shù)據(jù)庫基本功能上做的一直不錯。存儲(并且不丟)數(shù)據(jù)。事實上,當(dāng)我問為什么PostgreSQL能能力如此復(fù)興時,大多數(shù)回答者都聚焦在這些令人印象深刻的方面:保證數(shù)據(jù)的完整性和正確性,通過插件進(jìn)行運行時擴(kuò)展的能力,通過使用其他語言包查詢其他系統(tǒng)的能力。
不止是這些,根據(jù)Elijah Zupancic所說,PostgreSQL也獲得了開發(fā)者的認(rèn)可:“從一個開發(fā)者的角度講,PostgreSQL很好用。文檔很棒,數(shù)據(jù)類型與開發(fā)者很匹配,也沒什么小驚喜。”不想Top10的其他數(shù)據(jù)庫,PostgreSQL不依靠單一貢獻(xiàn)者。它的真正貢獻(xiàn)者是開源社區(qū)。
最后要說的一點是,在未來PostgreSQL很有可能會取代MySQL。因為MySQL的最大貢獻(xiàn)者是:Oracle。OpsCompass CTO John Grange 指出他的客戶更喜歡PostgreSQL,就因為它不是Oracle。他的客戶并不少見。
不管MySQL還是Oracle在未來都不會很快的將世界最受歡迎的兩款數(shù)據(jù)庫的位置讓給PostgreSQL或者其他產(chǎn)品。但是,趨勢是有利于PostgreSQL的。某種程度上,是因為人們喜歡它的穩(wěn)定性。然而同時,也很看重這種無聊的美德:就像有人在Hacker News中發(fā)表的評論,“他不太流行,也不太好搭建,但是當(dāng)你搭建完畢了,你就擁有了一個讓你能做任何事情的可靠的平臺”。