國(guó)產(chǎn)數(shù)據(jù)庫(kù)到底能不能打?
總有朋友問(wèn)我,國(guó)產(chǎn)數(shù)據(jù)庫(kù)到底能不能打?說(shuō)實(shí)話,是個(gè)得罪人的問(wèn)題。所以我們不妨試試用數(shù)據(jù)說(shuō)話 —— 希望本文提供的圖表,能夠幫助讀者了解數(shù)據(jù)庫(kù)生態(tài)格局,并建立更為準(zhǔn)確的比例感認(rèn)知。
數(shù)據(jù)來(lái)源與研究方法
評(píng)價(jià)一個(gè)數(shù)據(jù)庫(kù)“能不能打”有許多種方式,但 “流行度” 是最常見(jiàn)的指標(biāo)。對(duì)一項(xiàng)技術(shù)而言,流行度決定了用戶的規(guī)模與生態(tài)的繁榮程度,唯有這種最終存在意義上的結(jié)果才能讓所有人心服口服。
關(guān)于數(shù)據(jù)庫(kù)流行度這個(gè)問(wèn)題,我認(rèn)為有三份數(shù)據(jù)可以作為參考:StackOverflow 全球開(kāi)發(fā)者調(diào)研[1],DB-Engine 數(shù)據(jù)庫(kù)流行度排行榜[2],以及墨天輪國(guó)產(chǎn)數(shù)據(jù)庫(kù)排行榜[3]。
其中最有參考價(jià)值的是 StackOverflow 2017 - 2023 年的全球開(kāi)發(fā)者問(wèn)卷調(diào)研 —— 樣本調(diào)查獲取的第一手?jǐn)?shù)據(jù)具有高度的可信度與說(shuō)服力,并且具有極好的 橫向可比性(在不同數(shù)據(jù)庫(kù)之間水平對(duì)比);連續(xù)七年的調(diào)查結(jié)果也有著足夠的 縱向可比性 (某數(shù)據(jù)庫(kù)和自己過(guò)去的歷史對(duì)比)。
圖片
其次是 DB-Engine 數(shù)據(jù)庫(kù)流行度排行榜, DB-Engine 屬于綜合性熱搜指數(shù),將 Google, Bing, Google Trends,StackOverflow,DBA Stack Exchange,Indeed, Simply Hired, LinkedIn,Twitter 上的間接數(shù)據(jù)合成了一個(gè)熱搜指數(shù)。
圖片
熱度指數(shù)有著很好的 縱向可比性 —— 我們可以用它來(lái)判斷某個(gè)數(shù)據(jù)庫(kù)的流行度走勢(shì) —— 是更流行了還是更過(guò)氣了,因?yàn)樵u(píng)分標(biāo)準(zhǔn)是一樣的。但在 橫向可比性 上表現(xiàn)不佳 —— 例如你沒(méi)辦法細(xì)分用戶搜索的目的。所以熱度指標(biāo)在橫向?qū)Ρ炔煌瑪?shù)據(jù)庫(kù)時(shí)只能作為一個(gè)模糊的參考 —— 但在數(shù)量級(jí)上的準(zhǔn)確性還是OK的。
第三份數(shù)據(jù)是墨天輪的 “國(guó)產(chǎn)數(shù)據(jù)庫(kù)排行榜”,這份榜單收錄了 287 個(gè)國(guó)產(chǎn)數(shù)據(jù)庫(kù),主要價(jià)值是給我們提供了一份國(guó)產(chǎn)數(shù)據(jù)庫(kù)名錄。這里我們簡(jiǎn)單認(rèn)為 —— 收錄在這里的數(shù)據(jù)庫(kù),就算“國(guó)產(chǎn)數(shù)據(jù)庫(kù)”了 —— 盡管這些數(shù)據(jù)庫(kù)團(tuán)隊(duì)不一定會(huì)自我認(rèn)知為國(guó)產(chǎn)數(shù)據(jù)庫(kù)。
圖片
有了這三份數(shù)據(jù),我們就可以嘗試回答這個(gè)問(wèn)題 —— 國(guó)產(chǎn)數(shù)據(jù)庫(kù)在國(guó)際上的流行度與影響力到底是什么水平?
錨點(diǎn):TiDB
TiDB 是唯一一個(gè),同時(shí)出現(xiàn)在三個(gè)榜單里的數(shù)據(jù)庫(kù),因此可以作為錨點(diǎn)。
在 StackOverflow 2023 調(diào)研 中,TiDB 作為最后一名,首次出現(xiàn)在數(shù)據(jù)庫(kù)流行度榜單里,也是唯一入選的 “國(guó)產(chǎn)數(shù)據(jù)庫(kù)”。圖左中,TiDB 的開(kāi)發(fā)者使用率為 0.20%,與排名第一的 PostgreSQL (45.55%) 和排名第二的 MySQL (41.09%) 相比,流行度相差了大約 兩三百倍。
圖片
第二份 DB-Engine 數(shù)據(jù)可以交叉印證這一點(diǎn) —— TiDB 在 DB-Engine 上的評(píng)分是國(guó)產(chǎn)數(shù)據(jù)庫(kù)中最高的 —— 在2024年4月份,為 5.14 分。關(guān)系型數(shù)據(jù)庫(kù)四大天王( PostgreSQL,MySQL,Oracle,SQL Server)相比,也是小幾百倍的差距。
圖片
在墨天輪國(guó)產(chǎn)數(shù)據(jù)庫(kù)排名中,TiDB 曾經(jīng)長(zhǎng)時(shí)間占據(jù)了榜首的位置,盡管最近兩年前面加塞了 OceanBase, PolarDB,openGauss 三個(gè)數(shù)據(jù)庫(kù),但它還在第一梯隊(duì)里,稱其為國(guó)產(chǎn)數(shù)據(jù)庫(kù)標(biāo)桿沒(méi)有太大問(wèn)題。
圖片
如果我們以 TiDB 作為參考錨點(diǎn),將這三份數(shù)據(jù)融合,立即就能得出一個(gè)有趣的結(jié)論:國(guó)產(chǎn)數(shù)據(jù)庫(kù)看上去人才濟(jì)濟(jì),群英薈萃,但即使是最能打的國(guó)產(chǎn)數(shù)據(jù)庫(kù),流行度與影響力也不及頭部開(kāi)源數(shù)據(jù)庫(kù)的百分之一… 。
整體來(lái)看,這些被歸類為“國(guó)產(chǎn)數(shù)據(jù)庫(kù)”的產(chǎn)品,絕大多數(shù)在國(guó)際上的影響力可以評(píng)為:微不足道。
微不足道的戰(zhàn)五庫(kù)
在 DB-Engine 收錄的全球 478 款數(shù)據(jù)庫(kù)中,可以找到 46 款列入墨天輪國(guó)產(chǎn)數(shù)據(jù)庫(kù)名單的產(chǎn)品。將其過(guò)去十二年間的流行度繪制在圖表上,得到下圖 —— 乍看之下,好一片 “欣欣向榮”,蓬勃發(fā)展的勢(shì)頭。
圖片
然而,當(dāng)我們把關(guān)系數(shù)據(jù)庫(kù)四大天王:PostgreSQL,MySQL,Oracle,SQL Server 的熱度趨勢(shì)同樣畫(huà)在這張圖上后,看上去就變得大不一樣了 —— 你幾乎看不到任何一個(gè)“國(guó)產(chǎn)數(shù)據(jù)庫(kù)”了。
圖片
把整個(gè)國(guó)產(chǎn)數(shù)據(jù)庫(kù)的熱度分?jǐn)?shù)全加起來(lái),也甚至還達(dá)不到 PostgreSQL 流行度的零頭。 整體合并入 “其他” 統(tǒng)計(jì)項(xiàng)中毫無(wú)任何違和感。
圖片
如果把所有國(guó)產(chǎn)數(shù)據(jù)庫(kù)視作一個(gè)整體,在這個(gè)榜單里面可以憑 34.7 分排到第 26 名,占總分?jǐn)?shù)的千分之五。(最上面一條黑帶)
圖片
這個(gè)數(shù)字,差不多就是國(guó)產(chǎn)數(shù)據(jù)庫(kù)國(guó)際影響力(DB-Engine)的一個(gè)摘要概括:盡管在數(shù)量上占了 1/10(如果以墨天輪算可以近半),但總影響力只有千分之五。其中的最強(qiáng)者 TiDB,戰(zhàn)斗力也只有5 ……
當(dāng)然再次強(qiáng)調(diào),熱度/指數(shù)類數(shù)據(jù)橫向可比性非常一般
僅適合在數(shù)量級(jí)層面用作參考 —— 但這也夠了……
過(guò)氣中的數(shù)據(jù)庫(kù)們
從 DB-Engine 的熱度趨勢(shì)上看,國(guó)產(chǎn)數(shù)據(jù)庫(kù)從 2017 - 2020 年開(kāi)始起勢(shì),從 2021 年進(jìn)入高潮,在 23年5月進(jìn)入平臺(tái)期,從今年年初開(kāi)始,出現(xiàn)掉頭過(guò)氣的趨勢(shì)。這和許多業(yè)內(nèi)專家的判斷一致 —— 2024 年,國(guó)產(chǎn)數(shù)據(jù)庫(kù)進(jìn)入洗牌清算期 —— 大量數(shù)據(jù)庫(kù)公司將倒閉破產(chǎn)或被合并收編。
圖片
如果我們?nèi)サ魝€(gè)別出海開(kāi)源做的還不錯(cuò)的頭部“國(guó)產(chǎn)”數(shù)據(jù)庫(kù) —— 這個(gè)掉頭而下的過(guò)氣趨勢(shì)會(huì)更加明顯。
圖片
但過(guò)氣這件事,并非國(guó)產(chǎn)數(shù)據(jù)庫(kù)所獨(dú)有 — 其實(shí)絕大多數(shù)的數(shù)據(jù)庫(kù)其實(shí)都正在過(guò)氣中。DB-Engine 過(guò)去12 年中的流行度數(shù)據(jù)趨勢(shì)可以揭示這一點(diǎn) —— 盡管 DB-Engine 熱度指標(biāo)的的橫向可比性很一般,但縱向可比性還是很不錯(cuò)的 —— 因此在判斷流行 & 過(guò)氣趨勢(shì)上仍然有很大的參考價(jià)值。
我們可以對(duì)圖表做一個(gè)加工處理 —— 以某一年為零點(diǎn),來(lái)看熱度分?jǐn)?shù)從此刻起的變化,從而看出那些數(shù)據(jù)庫(kù)正在繁榮發(fā)展,哪些數(shù)據(jù)庫(kù)正在落伍過(guò)氣。
如果我們將目光聚焦在最近三年,不難發(fā)現(xiàn)在所有數(shù)據(jù)庫(kù)中,只有 PostgreSQL 與 Snowflake 的流行度有顯著增長(zhǎng)。而最大的輸家是 SQL Server,Oracle,MySQL,與 MongoDB …… 。分析數(shù)倉(cāng)類組件(廣義上的數(shù)據(jù)庫(kù))在最近三年有少量增長(zhǎng),而絕大部分其他數(shù)據(jù)庫(kù)都處在過(guò)氣通道中。
圖片
如果我們以 DB-Engine 最早有記錄的 2012-11 作為參考零點(diǎn),那么 PostgreSQL 是過(guò)去 12 年中數(shù)據(jù)庫(kù)領(lǐng)域的最大贏家;而最大的輸家依然是 SQL Server,Oracle,MySQL 御三家關(guān)系型數(shù)據(jù)庫(kù)。
NoSQL 運(yùn)動(dòng)的興起,讓 MongoDB ,ElasticSearch,Redis 在 2012 - 2022 互聯(lián)網(wǎng)黃金十年中獲得了可觀的增長(zhǎng),但這個(gè)增長(zhǎng)的勢(shì)頭在最近幾年已經(jīng)結(jié)束了,并進(jìn)入過(guò)氣下降通道中,進(jìn)入吃存量老本的狀態(tài)。
圖片
至于 NewSQL 運(yùn)動(dòng),即所謂的新一代分布式數(shù)據(jù)庫(kù)。如果說(shuō) NoSQL 起碼輝煌過(guò),那么可以說(shuō) NewSQL 還沒(méi)輝煌就已經(jīng)熄火了。“分布式數(shù)據(jù)庫(kù)” 在國(guó)內(nèi)營(yíng)銷(xiāo)炒作的非常火熱,以至于大家好像把它當(dāng)作一個(gè)可以與 “集中式數(shù)據(jù)庫(kù)” 分庭抗禮的數(shù)據(jù)庫(kù)品類來(lái)看待。但如果我們深入研究就不難發(fā)現(xiàn) —— 這其實(shí)只是一個(gè)非常冷門(mén)的數(shù)據(jù)庫(kù)小眾領(lǐng)域。
一些 NoSQL 組件的流行度還能和 PostgreSQL 放到同一個(gè)坐標(biāo)圖中而不顯突兀,而所有 NewSQL 玩家加起來(lái)的流行度分?jǐn)?shù)也比不上 PostgreSQL 的零頭 —— 和“國(guó)產(chǎn)數(shù)據(jù)庫(kù)”一樣。
圖片
這些數(shù)據(jù)為我們揭示出數(shù)據(jù)庫(kù)領(lǐng)域的基本格局
除了 PostgreSQL 之外的主要數(shù)據(jù)庫(kù)都在過(guò)氣中,…
圖片
改頭換面的 PostgreSQL 內(nèi)戰(zhàn)
這幾份數(shù)據(jù)為我們揭示出數(shù)據(jù)庫(kù)領(lǐng)域的基本格局 —— 除了 PostgreSQL 之外的主要數(shù)據(jù)庫(kù)都在過(guò)氣中,無(wú)論是 SQL,NoSQL,NewSQL,還是 國(guó)產(chǎn)數(shù)據(jù)庫(kù) 。這確實(shí)拋出了一個(gè)有趣的問(wèn)題,讓人想問(wèn) —— 為什么?。
對(duì)于這個(gè)問(wèn)題,我在 《PostgreSQL 正在吞噬數(shù)據(jù)庫(kù)世界》中提出了一種簡(jiǎn)單的解釋:PostgreSQL 正在憑借其強(qiáng)大的擴(kuò)展插件生態(tài),內(nèi)化吞噬整個(gè)數(shù)據(jù)庫(kù)世界。根據(jù)奧卡姆剃刀原理 —— 最簡(jiǎn)單的解釋往往也最接近真相。
圖片
整個(gè)數(shù)據(jù)庫(kù)世界的核心焦點(diǎn),都已經(jīng)聚焦在了金剛大戰(zhàn)哥斯拉上:兩個(gè)開(kāi)源巨無(wú)霸數(shù)據(jù)庫(kù) PostgreSQL 與 MySQL 的使用率與其他數(shù)據(jù)庫(kù)遠(yuǎn)遠(yuǎn)拉開(kāi)了距離。其他一切議題與之相比都顯得微不足道,無(wú)論是 NewSQL 還是 國(guó)產(chǎn)數(shù)據(jù)庫(kù)。
圖片
看上去這場(chǎng)搏殺還要再過(guò)幾年才能結(jié)束,但在遠(yuǎn)見(jiàn)者眼中,這場(chǎng)紛爭(zhēng)幾年前就已經(jīng)塵埃落定了。
Linux 內(nèi)核一統(tǒng)服務(wù)器操作系統(tǒng)天下后,曾經(jīng)的同臺(tái)競(jìng)爭(zhēng)者 BSD,Solaris,Unix 都成為了時(shí)代的注腳。而我們正在目睹同樣的事情在數(shù)據(jù)庫(kù)領(lǐng)域發(fā)生 —— 在這個(gè)時(shí)代里,想發(fā)明新的實(shí)用數(shù)據(jù)庫(kù)內(nèi)核,約等于堂吉柯德撞風(fēng)車(chē)。
好比今天盡管市面上有這么多的 Linux 操作系統(tǒng)發(fā)行版,但大家都選擇使用同樣的 Linux 內(nèi)核,吃飽了撐著魔改 OS 內(nèi)核屬于沒(méi)有困難創(chuàng)造困難也要上,會(huì)被業(yè)界當(dāng)成 山炮 看待。
所以,并非所有國(guó)產(chǎn)數(shù)據(jù)庫(kù)都不能打,而是能打的國(guó)產(chǎn)數(shù)據(jù)庫(kù),其實(shí)是改頭換面的 PostgreSQL 與 MySQL 。如果 PostgreSQL 注定成為數(shù)據(jù)庫(kù)領(lǐng)域的 Linux 內(nèi)核,那么誰(shuí)會(huì)成為 Postgres 的 Debian / Ubuntu / Suse / RedHat ?
圖片
國(guó)產(chǎn)數(shù)據(jù)庫(kù)的競(jìng)爭(zhēng),變成了 PostgreSQL / MySQL 生態(tài)內(nèi)部的競(jìng)爭(zhēng)。一個(gè)國(guó)產(chǎn)數(shù)據(jù)庫(kù)能打與否,取決于其 “含P量” —— 含有 PostgreSQL 內(nèi)核的純度與版本新鮮度。版本越新,魔改越少,附加值越高,使用價(jià)值就越高,也就越能打。
國(guó)產(chǎn)數(shù)據(jù)庫(kù)看起來(lái)最能打的阿里 PolarDB (唯一入選 Gartner 領(lǐng)導(dǎo)者象限),基于三年前的 PostgreSQL 14 進(jìn)行定制,且保持了 PG 內(nèi)核的主體完整性,擁有最高的含P量。相比之下,openGauss 選擇基于 12 年前的 PG 9.2 進(jìn)行分叉,并魔改的親爹都不認(rèn)識(shí)了,所以含P量較低。介于兩者中間的還有:PG 13 的 AntDB,PG 12 的人大金倉(cāng),PG 11 的老 Polar,PG XL 的 TBase ,……
因此,國(guó)產(chǎn)數(shù)據(jù)庫(kù)到底能不能打 —— 真正的本質(zhì)問(wèn)題是:誰(shuí)能代表 PostgreSQL 世界的先進(jìn)生產(chǎn)力?
做內(nèi)核的廠商不溫不火,MariaDB 作為 MySQL 的親爹 Fork 甚至都已經(jīng)瀕臨退市,而白嫖內(nèi)核自己做服務(wù)與擴(kuò)展賣(mài) RDS 的 AWS 可以賺的缽滿盆翻,甚至憑借這種模式一路干到了全球數(shù)據(jù)庫(kù)市場(chǎng)份額的榜首 —— 毫無(wú)疑問(wèn)地證明:數(shù)據(jù)庫(kù)內(nèi)核已經(jīng)不重要了,市場(chǎng)上稀缺的是能力整合。
圖片
在這場(chǎng)競(jìng)賽中,公有云 RDS 拿到了第一張入場(chǎng)券。而嘗試在本地提供更好、更便宜、 RDS for PostgreSQL 的 Pigsty 對(duì)云數(shù)據(jù)庫(kù)這種模式提出了挑戰(zhàn),同時(shí)還有十幾款嘗試用 云原生方式解決 RDS 本地化挑戰(zhàn)的 Kubernetes Operator 正在摩拳擦掌,躍躍欲試,要把 RDS 拉下馬來(lái)。
圖片
真正的競(jìng)爭(zhēng)發(fā)生在服務(wù)/管控維度,而不是內(nèi)核。
數(shù)據(jù)庫(kù)領(lǐng)域正在從寒武紀(jì)大爆發(fā)走向侏羅紀(jì)大滅絕,在這一過(guò)程中,1% 的種子將會(huì)繼承 99% 的未來(lái),并演化出新的生態(tài)與規(guī)則。我希望數(shù)據(jù)庫(kù)用戶們可以明智地選擇與決策,站在未來(lái)與希望的一側(cè),而不要把生命浪費(fèi)在沒(méi)有前途的事物上,比如……
References
[1] StackOverflow 全球開(kāi)發(fā)者調(diào)研: https://survey.stackoverflow.co/2023/?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-survey-results-2023&utm_cnotallow=survey-results#most-popular-technologies-database-prof[2] DB-Engine 數(shù)據(jù)庫(kù)流行度排行榜: https://db-engines.com/en/ranking_trend[3] 墨天輪國(guó)產(chǎn)數(shù)據(jù)庫(kù)排行榜: https://www.modb.pro/dbRank
注:本文使用的圖表與數(shù)據(jù),公開(kāi)發(fā)布于 Pigsty Demo 站點(diǎn):
[1] DB-Engine 數(shù)據(jù)分析: https://demo.pigsty.cc/d/db-analysis[2] StackOverflow 7年調(diào)研數(shù)據(jù): https://demo.pigsty.cc/d/sf-survey