進擊的 PostgreSQL,下墜的 MySQL

語言: CN / TW / HK

theme: nico

本文正在參加「技術專題19期 漫談資料庫技術」活動

原文連結:https://mp.weixin.qq.com/s/27SH8RFoWInD9zM3Dt1h1Q

2022 開發者調查報告

640 (1).png

StackOverflow 釋出的 2022 開發者調查報告中,在專業開發者群體受歡迎排行榜中,PostgreSQL(46.48%)首次超越 MySQL(45.68%)拔得頭籌。專業開發者與初學者的不同之處在於,他們更傾向於選擇 Redis、PostgreSQL、Microsoft SQL Server 和 Elasticsearch。

初學者群體當中,MySQL 也並不樂觀,緊隨其後的 MongoDB 位居第二,佔比近1/3。“這很合理,因為它支援大量的語言和應用開發平臺。”

值得一提的是,正在使用 MySQL 的開發者同樣也在考慮、希望或想要使用別的資料庫工作,下圖展示了調查結果。

640.png

有 11185 名 MySQL 開發者想使用 PostgreSQL 工作,以及 9520 名 MySQL 開發者想使用 MongoDB 工作。

不止 StackOverflow 的報告,根據最新的 10 月 DB-Engines 流行趨勢上看,也可以看見 MySQL 的受歡迎程度已經連續幾年呈現下滑趨勢。

640 (1).png

MySQL

可以判斷,如果不出意外,同樣在開源關係型資料庫之列的 PostgreSQL ,超越 MySQL 只是時間的問題。 1. 如今,行業的發展開始向金融、電信、物聯網、零售、製造等傳統行業傾斜,這些行業與二十年前的網際網路相比,更加註重資料可靠性、安全性、規範性。 2. 疫情以來,企業基礎設施的現代化要求加速提上議程,旨在讓企業更加靈活,並對快速變化的客戶需求做出反應。而承擔這些專案的全球系統整合商們,往往選擇應用最容易部署的技術,從而為其服務帶來最佳利潤,然而,商業版 MySQL 是需要付費的,且 MySQL 對於多語言的支援明視訊記憶體在自身的瓶頸。 3. MySQL 的客戶端遵循 GPL 許可協議,所以開發人員必須向 Oracle 付費或者將自己的應用程式開源。而 PostgreSQL 採用類似 MIT 的許可協議,允許開發人員做任何事情,包括在開源或閉源產品中商用。從這個層面講,不管出於商用還是其他,PostgreSQL 都是最有利的選擇。

PostgreSQL

前面我們從開源熱情、行業發展、商用的角度分析了 MySQL 停滯的原因。這裡我們以開發者的視角,具體列舉一些 PostgreSQL 的好處: 1. 支援多種可用於商業解決方案的效能優化,包括地理空間資料支援、無讀鎖併發等,被廣泛應用於大型系統; 2. 對於需要執行復雜查詢的系統最為有利; 3. 在商業智慧(BI)應用程式中表現良好,更適合需要快速讀/寫速度的資料分析和資料倉庫應用程式,因此,它也適用於 OLTP/OLAP 系統; 4. 可以在單個產品中儲存結構化和非結構化資料型別,它支援大多數資料型別,比如對 JSON 的支援。多年來 PostgreSQL 的最大創新之一是在其 PostgreSQL 9.2 中引入了生成 JSON 資料功能。

640.png

另外,雲端計算公司 Joyent 的解決方案工程總監 Elijah Zupancic 也提到了文件的重要性,“從開發的角度來看,使用它是一種樂趣,其文件很精彩,資料型別反映了開發人員的工作型別。”