2025年:MySQL vs PostgreSQL
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
在 2025 年的當(dāng)下,MySQL 無論是在功能特性集,質(zhì)量正確性,性能表現(xiàn),還是生態(tài)與社區(qū)上都被 PostgreSQL 拉開了差距,而且這個(gè)差距還在進(jìn)一步擴(kuò)大中。 今天我們就來對(duì) MySQL 與 PostgreSQL 進(jìn)行一個(gè)全方位的對(duì)比,從功能,性能,質(zhì)量,生態(tài)來全方位反映這幾年的生態(tài)變化。 功能讓我們先從開發(fā)者最關(guān)注的東西 —— 功能特性開始說起。 新版本昨天,MySQL 發(fā)布了 “創(chuàng)新版本” 9.3[3] 但是看上去和先前的 9.x 一樣,都是些修修補(bǔ)補(bǔ),看不到什么創(chuàng)新的東西。 搜索尚未發(fā)布的 PostgreSQL 18,你能看到無數(shù)特性預(yù)覽的介紹文章;而搜索 MySQL 9.3,能看到的是社區(qū)對(duì)此的抱怨與失望。 MySQL 老司機(jī)丁奇看完 ReleaseNote 之后表示,《MySQL創(chuàng)新版正在逐漸失去它的意義》,德哥看后寫了 《MySQL將保持平庸》。 對(duì)于 MySQL 的 “創(chuàng)新版本”,Percona CEO, Peter Zaitsev 也發(fā)三篇《MySQL將何去何從[4]》,《Oracle最終還是殺死了MySQL[5]》,《Oracle還能挽救MySQL嗎[6]》,公開表達(dá)了對(duì) MySQL 的失望與沮喪。 在最近幾年,MySQL 在新功能上乏善可陳,與突飛猛進(jìn)的 PostgreSQL 形成了鮮明的對(duì)比。 新功能以數(shù)據(jù)庫(kù)領(lǐng)域最近兩年最為火爆的增量場(chǎng)景 —— 向量數(shù)據(jù)庫(kù)為例。在前兩年的 向量數(shù)據(jù)庫(kù)熱潮中,PostgreSQL 生態(tài)里就涌現(xiàn)出了至少六七款向量數(shù)據(jù)庫(kù)擴(kuò)展( 在當(dāng)下,PostgreSQL 生態(tài)正在進(jìn)行著 如火如荼的 DuckDB 縫合大賽 ,
而 MySQL 在這段時(shí)間里更新了什么功能呢?一個(gè)不支持計(jì)算距離與索引的羞辱性 VECTOR 實(shí)現(xiàn)[10]; 還有一個(gè)企業(yè)版專屬的 JS 存儲(chǔ)過程支持(開源版沒有?。?,而這是 PG 15 年前就可以通過 當(dāng) MySQL 還局限在 “關(guān)系型 OLTP 數(shù)據(jù)庫(kù)” 的定位時(shí), PostgreSQL 早已經(jīng)放飛自我,從一個(gè)關(guān)系型數(shù)據(jù)庫(kù)發(fā)展成了一個(gè)多模態(tài)的數(shù)據(jù)庫(kù),成為了一個(gè)數(shù)據(jù)管理的抽象框架與開發(fā)平臺(tái)了。 擴(kuò)展性來自 CMU 的 Abigale Kim 對(duì)主流數(shù)據(jù)庫(kù)的可擴(kuò)展性[11]進(jìn)行了研究:PostgreSQL 有著所有 DBMS 中最好的 可擴(kuò)展性(Extensibility),以及其他數(shù)據(jù)庫(kù)生態(tài)難望其項(xiàng)背的擴(kuò)展插件數(shù)量 —— 375+,這還只是 PGXN 注冊(cè)在案的實(shí)用插件,實(shí)際生態(tài)擴(kuò)展總數(shù)已經(jīng)破千[12]。至少在開源的 PostgreSQL RDS 發(fā)行版 Pigsty 中,就已經(jīng)開箱即用的提供 405 個(gè)擴(kuò)展的 DEB/RPM 包了。 PostgreSQL 有著一個(gè)繁榮的擴(kuò)展生態(tài) —— 地理空間,時(shí)間序列,向量檢索,機(jī)器學(xué)習(xí),OLAP分析,全文檢索,圖數(shù)據(jù)庫(kù);這些擴(kuò)展讓 PostgreSQL 真正成為一專多長(zhǎng)的全棧數(shù)據(jù)庫(kù) —— 單一數(shù)據(jù)庫(kù)選型便可替代各式各樣的專用組件: MySQL,MongoDB,Kafka,Redis,ElasticSearch,Neo4j,甚至是專用分析數(shù)倉(cāng)與數(shù)據(jù)湖。 PostgreSQL正在吞噬數(shù)據(jù)庫(kù)世界[13] —— 它正在通過插件的方式,將整個(gè)數(shù)據(jù)庫(kù)世界內(nèi)化其中?!?/span>一切皆用 Postgres[14]” 也已經(jīng)不再是少數(shù)精英團(tuán)隊(duì)的前沿探索,而是成為了一種進(jìn)入主流視野的最佳實(shí)踐。 而在新功能支持上,MySQL 卻顯得十分消極 —— 一個(gè)應(yīng)該有大量 Breaking Change 的“創(chuàng)新大版本更新”,不是糊弄人的擺爛特性,就是企業(yè)級(jí)的特供雞肋,一個(gè)大版本就連雞零狗碎的小修小補(bǔ)都湊不夠數(shù)。 兼容性除了海量擴(kuò)展外,PostgreSQL 生態(tài)還有更離譜的:兼容功能:你還可以使用擴(kuò)展或者分支,實(shí)現(xiàn)對(duì)其他數(shù)據(jù)庫(kù)的兼容。 其中,openHalo 對(duì) MySQL 生態(tài)可謂釜底抽薪 —— 在 PG 上直接兼容 MySQL 的線纜協(xié)議,這意味著 MySQL 應(yīng)用可以在不改驅(qū)動(dòng)/代碼的情況下遷移到 PostgreSQL 上來。 另外,OrioleDB 在原生 PostgreSQL 的基礎(chǔ)上,增加了云原生 Undo 存儲(chǔ)引擎,解決了膨脹/XID回卷問題,并實(shí)現(xiàn)了 4x 的吞吐量性能。 這并非紙面上的 PR 稿,這些內(nèi)核/擴(kuò)展都已經(jīng)全部在 PostgreSQL 發(fā)行版 Pigsty 中作為開箱即用的 RDS 服務(wù)直接可用。在這種全能性能怪獸面前,MySQL 將何去何從? 性能缺少功能也許并不是一個(gè)無法克服的問題 —— 對(duì)于一個(gè)數(shù)據(jù)庫(kù)來說,只要它能將自己的本職工作做得足夠出彩,那么架構(gòu)師總是可以多費(fèi)些神,用各種其他的數(shù)據(jù)積木一起拼湊出所需的功能。 性能劣化的MYSQLMySQL 曾引以為傲的核心特點(diǎn)便是 性能 —— 至少對(duì)于互聯(lián)網(wǎng)場(chǎng)景下的簡(jiǎn)單 OLTP CURD 來說,它的性能是非常不錯(cuò)的。然而不幸地是,這一點(diǎn)也正在遭受挑戰(zhàn):Percona 的博文《Sakila:你將何去何從[15]》中提出了一個(gè)令人震驚的結(jié)論: MySQL 的版本越新,性能反而越差。 根據(jù) Percona 的測(cè)試,在 sysbench 與 TPC-C 測(cè)試下,最新 MySQL 8.4 版本的性能相比 MySQL 5.7 出現(xiàn)了平均高達(dá) 20% 的下降。而 MySQL 專家 Mark Callaghan 進(jìn)一步進(jìn)行了 詳細(xì)的性能回歸測(cè)試[16],確認(rèn)了這一現(xiàn)象:
雞肋的分析性能盡管 MySQL 的優(yōu)化器在 8.x 有一些改進(jìn),一些復(fù)雜查詢場(chǎng)景下的性能有所改善,但分析與復(fù)雜查詢本來就不是 MySQL 的長(zhǎng)處與適用場(chǎng)景,只能說聊勝于無。相反,如果作為基本盤的 OLTP CRUD 性能出了這么大的折損,那確實(shí)是完全說不過去的。
而另一方面,PostgreSQL 在 DuckDB 系列擴(kuò)展與列存擴(kuò)展的加持下,甚至可以達(dá)到比肩 ClickHouse 的分析性能。 Peter Zaitsev 在博文《Oracle最終還是殺死了MySQL[18]》中評(píng)論:“與 MySQL 5.6 相比,MySQL 8.x 單線程簡(jiǎn)單工作負(fù)載上的性能出現(xiàn)了大幅下滑。你可能會(huì)說增加功能難免會(huì)以犧牲性能為代價(jià),但 MariaDB 的性能退化要輕微得多,而 PostgreSQL 甚至能在 新增功能的同時(shí)顯著提升性能[19]”。 穩(wěn)步提升的PostgreSQL性能MySQL的性能隨版本更新而逐步衰減,但在同樣的性能回歸測(cè)試中,PostgreSQL 性能卻可以隨版本更新有著穩(wěn)步提升。特別是在最關(guān)鍵的寫入吞吐性能上,最新的 PostgreSQL 17beta1 相比六年前的 PG 10 甚至有了 30% ~ 70% 的提升。 在 Mark Callaghan 的 性能橫向?qū)Ρ?/span>[20] (sysbench 吞吐場(chǎng)景) 中,我們可以看到五年前 PG 11 與 MySQL 5.6 的性能比值(藍(lán)),與當(dāng)下 PG 16 與 MySQL 8.0.34 的性能比值(紅)。PostgreSQL 和 MySQL 的性能差距在這五年間拉的越來越大。 幾年前的業(yè)界共識(shí)是 PostgreSQL 與 MySQL 在 簡(jiǎn)單 OLTP CRUD 場(chǎng)景 下的性能基本相同。然而此消彼長(zhǎng)之下,現(xiàn)在 PostgreSQL 的性能已經(jīng)遠(yuǎn)遠(yuǎn)甩開 MySQL 了。 PostgreSQL 的各種讀吞吐量相比 MySQL 高 25% ~ 100% 不等,在一些寫場(chǎng)景下的吞吐量更是達(dá)到了 200% 甚至 500% 的恐怖水平。 在真實(shí)場(chǎng)景中的對(duì)比一個(gè)有趣的佐證是知名開源項(xiàng)目 JuiceFS[21] 對(duì)不同數(shù)據(jù)庫(kù)作為元數(shù)據(jù)引擎的性能測(cè)試。 在這個(gè)例子中,我們可以很清晰的看出 MySQL 和 PostgreSQL 在一個(gè)真實(shí)三方評(píng)測(cè)中的性能差距。 更多更詳細(xì)關(guān)于 PostgreSQL 與 MySQL 與 PostgreSQL 的性能評(píng)測(cè),我建議各位參考 Mark Callaghan 發(fā)表在 Small Datum 上的文章。這是前 Google / Meta 的 MySQL Tech Lead 。 盡管他的主要職業(yè)生涯在與 MySQL,Oracle,MongoDB 打交道,并非 PostgreSQL 專家,但他嚴(yán)謹(jǐn)?shù)臏y(cè)試方法與結(jié)果分析為讀者帶來了許多數(shù)據(jù)庫(kù)性能方面的洞見,比瞎評(píng)測(cè)的偽專家高到不知道哪里去了。 質(zhì)量如果新版本只是性能不好,總歸還有辦法來優(yōu)化修補(bǔ)。但如果是質(zhì)量出了問題,那真就是無可救藥了。 正確性例如,Percona 最近剛剛在 MySQL 8.0.38 以上的版本(8.4.x, 9.0.0)中發(fā)現(xiàn)了一個(gè) 嚴(yán)重Bug[23] —— 如果數(shù)據(jù)庫(kù)里表超過 1萬張,那么重啟的時(shí)候 MYSQL 服務(wù)器會(huì)直接崩潰! 一個(gè)數(shù)據(jù)庫(kù)里有1萬張表并不常見,但也并不罕見 —— 特別是當(dāng)用戶使用了一些分表方案,或者應(yīng)用會(huì)動(dòng)態(tài)創(chuàng)建表的時(shí)候。而直接崩潰顯然是可用性故障中最嚴(yán)重的一類情形。 但 MySQL 的問題不僅僅是幾個(gè)軟件 Bug,而是根本性的問題 —— 《MySQL 糟糕的 ACID 正確性》指出,在正確性這個(gè)體面數(shù)據(jù)庫(kù)產(chǎn)品必須的基本屬性上,MySQL 的表現(xiàn)一塌糊涂。 權(quán)威的分布式事務(wù)測(cè)試組織 JEPSEN[24] 研究發(fā)現(xiàn),MySQL 文檔聲稱實(shí)現(xiàn)的 可重復(fù)讀/RR 隔離等級(jí),實(shí)際提供的正確性保證要弱得多 —— MySQL 8.0.34 默認(rèn)使用的 RR 隔離等級(jí)實(shí)際上并不可重復(fù)讀,甚至既不原子也不單調(diào),連 單調(diào)原子視圖/MAV 的基本水平都不滿足。這意味著 MySQL 的 RR 隔離等級(jí)實(shí)際上還不如絕大多數(shù) DBMS 的 RC 隔離等級(jí)(MAV)。 MySQL 的 ACID 存在缺陷,且與文檔承諾不符 —— 而輕信這一虛假承諾可能會(huì)導(dǎo)致嚴(yán)重的正確性問題,例如數(shù)據(jù)錯(cuò)漏與對(duì)賬不平。對(duì)于一些數(shù)據(jù)完整性很關(guān)鍵的場(chǎng)景 —— 例如金融,這一點(diǎn)是無法容忍的。 此外,能“避免”這些異常的 MySQL 可串行化/SR 隔離等級(jí)難以生產(chǎn)實(shí)用,也非官方文檔與社區(qū)認(rèn)可的最佳實(shí)踐;盡管專家開發(fā)者可以通過在查詢中顯式加鎖來規(guī)避此類問題,但這樣的行為極其影響性能,而且容易出現(xiàn)死鎖。 與此同時(shí),PostgreSQL 在 9.1 引入的 可串行化快照隔離(SSI) 算法可以用極小的性能代價(jià)提供完整可串行化隔離等級(jí) —— 而且 PostgreSQL 的 SR 在正確性實(shí)現(xiàn)上毫無瑕疵 —— 這一點(diǎn)即使是 Oracle 也難以企及。 李海翔教授在《一致性八仙圖》論文中,系統(tǒng)性地評(píng)估了主流 DBMS 隔離等級(jí)的正確性,圖中藍(lán)/綠色代表正確用規(guī)則/回滾避免異常;黃A代表異常,越多則正確性問題就越多;紅“D”指使用了影響性能的死鎖檢測(cè)來處理異常,紅D越多性能問題就越嚴(yán)重; 不難看出,這里正確性最好(無黃A)的實(shí)現(xiàn)是 PostgreSQL SR,與基于PG的 CockroachDB SR,其次是略有缺陷 Oracle SR;主要都是通過機(jī)制與規(guī)則避免并發(fā)異常;而 MySQL 出現(xiàn)了大面積的黃A與紅D,正確性水平與實(shí)現(xiàn)手法糙地不忍直視。 做正確的事很重要,而正確性是不應(yīng)該拿來做利弊權(quán)衡的。在這一點(diǎn)上,開源關(guān)系型數(shù)據(jù)庫(kù)兩巨頭 MySQL 和 PostgreSQL 在早期實(shí)現(xiàn)上就選擇了兩條截然相反的道路: MySQL 追求性能而犧牲正確性;而學(xué)院派的 PostgreSQL 追求正確性而犧牲了性能。 在互聯(lián)網(wǎng)風(fēng)口上半場(chǎng)中,MySQL 因?yàn)樾阅軆?yōu)勢(shì)占據(jù)先機(jī)乘風(fēng)而起。但當(dāng)性能不再是核心考量時(shí),正確性就成為了 MySQL 的致命出血點(diǎn)。 更為可悲的是,MySQL 連犧牲正確性換來的性能,都已經(jīng)不再占優(yōu)了,這著實(shí)讓人唏噓不已。 完備性SQL 特性與標(biāo)準(zhǔn)支持:PostgreSQL 一直以高度符合 SQL 標(biāo)準(zhǔn)著稱,支持復(fù)雜查詢、窗口函數(shù)、公共表表達(dá)式(CTE)、遞歸查詢、完整的外鍵約束等功能,并且實(shí)現(xiàn)了豐富的 SQL/JSON 標(biāo)準(zhǔn)和自定義函數(shù)。 MySQL 過去在標(biāo)準(zhǔn)支持上相對(duì)落后,但自 8.0 版本起補(bǔ)齊了一些短板:如支持窗口函數(shù)和 CTE(包括遞歸 CTE)等,使其在查詢特性上拉近了距離。 但是魔鬼在細(xì)節(jié)中,許多看上去 “你有我也有” 的功能,內(nèi)在的實(shí)現(xiàn)水準(zhǔn)是完全不一樣的。 以 Ecoding 字符編碼與 Collation 排序規(guī)則為例,這是很典型的企業(yè)級(jí)應(yīng)用需要的多語言關(guān)鍵特性。PostgreSQL 在 ICU 支持下提供了 42 種字符集編碼與 815 種排序規(guī)則支持,覆蓋了幾乎你能想象到的一切排序方法。 而 MySQL 在基本上就只有 五種字符集和幾十個(gè)基于此的排序規(guī)則[26]。這是一個(gè)很好的微觀細(xì)節(jié)樣本,體現(xiàn)出 PostgreSQL 與 MySQL 在細(xì)節(jié)上的用心程度與差異。 生態(tài)對(duì)一項(xiàng)技術(shù)而言,用戶的規(guī)模直接決定了生態(tài)的繁榮程度。瘦死的駱駝比馬大,爛船也有三斤釘。 MySQL 曾經(jīng)搭乘互聯(lián)網(wǎng)東風(fēng)扶搖而起,攢下了豐厚的家底,它的 Slogan 就很能說明問題 —— “世界上最流行的開源關(guān)系型數(shù)據(jù)庫(kù)”。 開發(fā)者MySQL 的 Slogan 是 “世界上最流行的開源關(guān)系型數(shù)據(jù)庫(kù)”,但似乎現(xiàn)在并沒有多少權(quán)威數(shù)據(jù)能支持這個(gè)說法。 相反的是,在 StackOverflow 過去八年的全球開發(fā)者調(diào)研中,我們可以觀察到 PostgreSQL 在開發(fā)者中的使用率節(jié)節(jié)攀升,并于 2023 年第一次超過 MySQL ,成為最流行的數(shù)據(jù)庫(kù)。 從各個(gè)角度上來看,MySQL “最流行” 的稱號(hào)已經(jīng)名不副實(shí)了。而 PostgreSQL 已經(jīng)成為這幾年最流行的數(shù)據(jù)庫(kù),并且不需要不需要開源/關(guān)系型等定語修飾。 在需求度,喜愛度,流行度上,PostgreSQL 在過去八年的變化趨勢(shì)非常明顯: 在最為活躍的前端開發(fā)者生態(tài)中,PostgreSQL 已經(jīng)憑借豐富的功能特性,以壓倒性優(yōu)勢(shì)成為最受歡迎的的數(shù)據(jù)庫(kù)。例如,在 Vercel 支持的 7 款存儲(chǔ)服務(wù)上,四個(gè)是 Postgres 衍生(Neon,Supabase,Nile,Gel),兩個(gè) Redis 衍生,一個(gè) DuckDB ,完全不見 MySQL 的蹤影。 而根據(jù) DBDB.io 的統(tǒng)計(jì)數(shù)據(jù),派生自 PostgreSQL 的數(shù)據(jù)庫(kù)項(xiàng)目也顯著超過了 MySQL。 廠商最直觀的數(shù)據(jù): AWS RDS 上 PostgreSQL 實(shí)例的數(shù)量與 MySQL 實(shí)例的數(shù)量已經(jīng)達(dá)到了 6:4 ,也就是 PG 實(shí)例的數(shù)量已經(jīng)比 MySQL 要多 50% 了。 即使是在 MYSQL 曾經(jīng)占據(jù)壓倒性優(yōu)勢(shì)的中國(guó)大陸,來自阿里云 RDS 實(shí)例數(shù)的樣本也說明 MYSQL:PG 從前幾年的 10:1 快速縮小到 5:1,并且增量上 PG 也已經(jīng)超過 MYSQL 了。 從商業(yè)角度看,云廠商已經(jīng)將重注下在了 PostgreSQL,而非 MySQL 上。 例如 AWS RDS (MySQL+PG)產(chǎn)品經(jīng)理是 PostgreSQL 社區(qū)核心組成員 Jonathan Katz,也是最近 pg/pgvector 在向量數(shù)據(jù)庫(kù)領(lǐng)域崛起關(guān)鍵推手之一。 最近的 Aurora 新品分布式 DSQL 只有 PostgreSQL 兼容,沒搞 MySQL 的,而以前這種事從來都是 MySQL 優(yōu)先,這次似乎直接放棄 MYSQL 支持了。 Google 的 OLTP 數(shù)據(jù)庫(kù) AlloyDB 也選擇完全兼容 PostgreSQL ,并且也在 Spanner 中提供 PostgreSQL 了。 國(guó)內(nèi)云廠商例如阿里云也選擇押寶 PostgreSQL 分支路線,例如獲得信創(chuàng)資質(zhì)認(rèn)證的 PolarDB 2.0 (Oracle)兼容其實(shí)就是基于 PolarDB PG 二次分枝的版本。 資本市場(chǎng)最近的 大額融資紀(jì)錄,也基本發(fā)生在 PostgreSQL 生態(tài)中。 而 MySQL 生態(tài)屈指可數(shù),基本只有 SingleStore,TiDB ,而原本生態(tài)中全村的希望 MariaDB 則一路跌的干脆直接要退市私有化了。 大型用例對(duì)于制造業(yè),金融,非互聯(lián)網(wǎng)場(chǎng)景,PostgreSQL 憑借其強(qiáng)大的功能特性與正確性,已經(jīng)成為了許多大型企業(yè)的首選數(shù)據(jù)庫(kù)。 例如在我任職 Apple 期間,我們部門使用 PostgreSQL 存儲(chǔ)所有工廠的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)并進(jìn)行數(shù)據(jù)分析。包括我們部門在內(nèi)的許多項(xiàng)目都在使用 PostgreSQL,甚至有一個(gè)內(nèi)部的社區(qū)與興趣小組。 大型互聯(lián)網(wǎng)公司受制于歷史路徑依賴于慣性仍然保留有大量 MySQL,但也基本開始兩頭下注,很多 PostgreSQL 的支持者都是微軟,AWS,Apple,Google 這樣的大公司。而在新興創(chuàng)業(yè)公司中,PostgreSQL 更是已經(jīng)取得顯著優(yōu)勢(shì)。 例如,Cursor、 Dify、Notion 這樣的 AI 新寵都默認(rèn)使用 PostgreSQL 作為元數(shù)據(jù)存儲(chǔ)。支付明星企業(yè) Strip 也在一些系統(tǒng)中使用 PostgreSQL 進(jìn)行分析。 Cloudflare 與 Vercel 的內(nèi)部系統(tǒng)大量使用了 PostgreSQL, Node.js 社區(qū)項(xiàng)目也明顯對(duì) PostgreSQL 有偏好(例如 Prisma ORM 對(duì)PG 支持更完善)。很多開源新項(xiàng)目都默認(rèn)選擇 PostgreSQL 作為其首選數(shù)據(jù)庫(kù) —— 如果不是唯一選擇的話。 MYSQL 到底怎么了?究竟是誰殺死了 MySQL,難道是 PostgreSQL 嗎?Peter Zaitsev 在《Oracle最終還是殺死了MySQL[27]》一文中控訴 —— Oracle 的不作為與瞎指揮最終害死了 MySQL;并在后續(xù)《Oracle還能挽救MySQL嗎[28]》一文中指出了真正的根因: MySQL 的知識(shí)產(chǎn)權(quán)被 Oracle 所擁有,它不是像 PostgreSQL 那種 “由社區(qū)擁有和管理” 的數(shù)據(jù)庫(kù),也沒有 PostgreSQL 那樣廣泛的獨(dú)立公司貢獻(xiàn)者。不論是 MySQL 還是其分叉 MariaDB,它們都不是真正意義上像 Linux,PostgreSQL,Kubernetes 這樣由社區(qū)驅(qū)動(dòng)的的原教旨純血開源項(xiàng)目,而是由單一商業(yè)公司主導(dǎo)。 比起向一個(gè)商業(yè)競(jìng)爭(zhēng)對(duì)手貢獻(xiàn)代碼,白嫖競(jìng)爭(zhēng)對(duì)手的代碼也許是更為明智的選擇 —— AWS 和其他云廠商利用 MySQL 內(nèi)核參與數(shù)據(jù)庫(kù)領(lǐng)域的競(jìng)爭(zhēng),卻不回饋任何貢獻(xiàn)。于是作為競(jìng)爭(zhēng)對(duì)手的 Oracle 也不愿意再去管理好 MySQL,而干脆自己也參與進(jìn)來搞云 —— 僅僅只關(guān)注它自己的 MySQL heatwave 云版本,就像 AWS 僅僅專注于其 RDS 管控和 Aurora 服務(wù)一樣。在 MySQL 社區(qū)凋零的問題上,云廠商也難辭其咎。 總結(jié)盡管我是 PostgreSQL 的堅(jiān)定支持者,但我也贊同 Peter Zaitsev 的觀點(diǎn): “如果 MySQL 徹底死掉了,開源關(guān)系型數(shù)據(jù)庫(kù)實(shí)際上就被 PostgreSQL 一家壟斷了,而壟斷并不是一件好事,因?yàn)樗鼤?huì)導(dǎo)致發(fā)展停滯與創(chuàng)新減緩。PostgreSQL 要想進(jìn)入全盛狀態(tài),有一個(gè) MySQL 作為競(jìng)爭(zhēng)對(duì)手并不是壞事” 至少,MySQL 可以作為一個(gè)鞭策激勵(lì),讓 PostgreSQL 社區(qū)保持凝聚力與危機(jī)感,不斷提高自身的技術(shù)水平,并繼續(xù)保持開放、透明、公正的社區(qū)治理模式,從而持續(xù)推動(dòng)數(shù)據(jù)庫(kù)技術(shù)的發(fā)展。 MySQL 曾經(jīng)也輝煌過,也曾經(jīng)是“開源軟件”的一桿標(biāo)桿,但再精彩的演出也會(huì)落幕。MySQL 正在死去 —— 更新疲軟,功能落后,性能劣化,質(zhì)量出血,生態(tài)萎縮,此乃天命,實(shí)非人力所能改變。而 PostgreSQL ,將帶著開源軟件的初心與愿景繼續(xù)堅(jiān)定前進(jìn) —— 它將繼續(xù)走 MySQL 未走完的路,寫 MySQL 未寫完的詩(shī)篇。 References
閱讀原文:https://mp.weixin.qq.com/s/NTd9_QRJRIu_XLbZ1zv7KA 該文章在 2025/4/17 18:02:19 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |