2020年開源數(shù)據(jù)庫行業(yè)狀態(tài)報告
本文翻譯、整理自 Matt Yonkovit 撰寫的博客文章,原文共分為四部分:
-
Baseline Data and the Size of the Market
-
Migrating from Proprietary Software to Open Source
-
The Most Popular Open Source Databases 2020
-
When is Open Source Not Really Open
以下是前3篇的主要內容。
# 數(shù)據(jù)庫市場
首先看下Gartner去年的數(shù)據(jù):
-
全球數(shù)據(jù)庫管理系統(tǒng)收入約為460億美元
-
總體同比增長約18%
-
云數(shù)據(jù)庫占了這一增長的68%
這里的 “云數(shù)據(jù)庫” 定義可能有些爭議:有些人用 “云數(shù)據(jù)庫” 來指代在云服務上運行的任何數(shù)據(jù)庫,有些僅指在云提供商的數(shù)據(jù)庫即服務(DBaaS)中運行的數(shù)據(jù)庫。但無論哪種方式,這種增長與趨勢都說明:數(shù)據(jù)庫行業(yè)的游戲規(guī)則已經變。
在未來五年甚至十年內,即使用最激進的方式估算,全部業(yè)務都運行在云上是不現(xiàn)實的。實際上如果以行業(yè)增長為模型,即使未來5年內20%的內部數(shù)據(jù)庫是自建部署的,而80%的數(shù)據(jù)都在云中(已經是一個很激進的數(shù)字),這仍是一個250億美元的市場。
# 混合與多云環(huán)境
很多公司并未采用單一的云廠商,他們的大多數(shù)業(yè)務都運行在混合環(huán)境和多云環(huán)境中。調查數(shù)據(jù)顯示,有61%的企業(yè)已經擁有混合環(huán)境。
很多公司的業(yè)務部署,都采用了可移植性的戰(zhàn)略,以確保它們可以在不同的環(huán)境中運行。Run Anywhere/Run Everywhere 已成為未來應用程序設計的必要條件。
# 開源數(shù)據(jù)庫市場增長
數(shù)據(jù)庫是一個很大的市場,并且會越來越大。云和開源數(shù)據(jù)庫的增長速度甚至超出了行業(yè)平均水平,由于公開信息很少,目前很難得到具體的相關數(shù)字。Gartner對整個市場發(fā)表了一些報告,卻并未具體討論規(guī)模和成長。像Oracle這樣的公司也并未透露其與開源數(shù)據(jù)庫有關的特定收入。
通過不同的公司、云提供商、分析師等提供的可用市場數(shù)據(jù)來估計,這一細分市場的年收入在7-8億美元之間。這包括從云提供商處購買開源軟件數(shù)據(jù)庫。
開源數(shù)據(jù)庫的增長率遠高于行業(yè)平均水平,總體看來約為45-50%。一些供應商增長更迅速,MongoDB報告在第三季度,他們的Atlas DBaaS占其總收入的40%(去年同期為21%)。Atlas在最近一個季度的收入增長了185%以上。
# 從商用到開源
開源數(shù)據(jù)庫增長的兩個重要因素:
-
新應用程序的開發(fā)
-
來自傳統(tǒng)商用數(shù)據(jù)庫的遷移
目前很多公司的大型復雜業(yè)務仍運行在傳統(tǒng)商用數(shù)據(jù)庫上,考慮到導致遷移風險與成本,商用與開源共存的現(xiàn)象很普遍。
比如:
SQL Server+MySQL或Oracle+MySQL
值得注意的是,并非所有的遷移都是簡單的后端數(shù)據(jù)庫替換,更多的是關于整個技術堆棧的替換,并且涉及從上到下的重做。
例如,從Oracle遷移到MongoDB 可能需要使用完全重新設計的云原生應用來替換整個原有架構,這里可以看到對復雜應用程序所做了更大的調整。
# 誰在推動當前的開源和云數(shù)據(jù)庫增長?
一句話答案:開發(fā)人員
過去,DBA或基礎架構團隊通常會努力整合,并降低所使用技術的復雜性。這使許多公司過于依賴單一的商用數(shù)據(jù)庫產品(比如 Oracle 或者 SQL Server全家桶)但現(xiàn)在這種情況已經成為歷史,更多優(yōu)秀專業(yè)的數(shù)據(jù)庫產品被設計出來。開發(fā)人員和架構師越來越多的傾向于選擇這些新技術,多數(shù)據(jù)庫的趨勢日益明顯。
在當前的數(shù)據(jù)庫環(huán)境中,開發(fā)人員有著比以往更多的選擇。我們已經在很多大型公司中看到了相同的模式。
各個開發(fā)團隊選擇了不同的技術。而DBA、SRE、SA等角色將接管并長期支持這些技術。當然這會使公司內部形成極其復雜的技術矩陣。
隨著使用的熟練和效率的提升,基礎架構團隊逐漸成為“產品開發(fā)團隊”,構建自動化的工具和架構,以支持變化迅速的技術堆棧。復雜的環(huán)境可能導致許多問題,而且難以整合到單個數(shù)據(jù)庫技術中,但這是未來一個重要趨勢。
# 2020年最受歡迎的開源數(shù)據(jù)庫
下表對比了3個來源的數(shù)據(jù):
Percona調查問卷、DB-Engines排名、Stack-Overflow調查問卷。
盡管存在一些差異,但在不同的調查和來源中,最受歡迎的開源數(shù)據(jù)庫排名大致相似。
DB-engines顯示,開源與商業(yè)數(shù)據(jù)庫的差距正在縮小:
根據(jù)DB-engines的數(shù)據(jù),以下是根據(jù)總體受歡迎程度的排名。截至2020年3月,MySQL的流行度仍是PostgreSQL和MongoDB的2倍。
Stack-Overflow 每年都會進行大型開發(fā)人員調查(2019年有90,000名受訪者)。以下是開源數(shù)據(jù)庫 2018-2019年之間的使用率差異。
1、MySQL數(shù)據(jù)庫速覽:
MySQL可以用一字概括:穩(wěn)
-
具有最大的安裝基礎,DB-Engines排名比下一名高出2倍以上,如果算上所有分支版甚至可以超過oracle,無愧為最流行的開源數(shù)據(jù)庫。
-
盡管占有率很大,但許多公司都在運行各種不同的MySQL。
-
Oracle本身有數(shù)量可觀的MySQL Enterprise(與Community社區(qū)版相比有一些功能差異,并且是付費的)。
-
Percona也具有適用于MySQL自己的版本,該版本100%的開源,并且包含增強功能和企業(yè)功能。
-
也有許多公司運行自己的定制版本。
MySQL的優(yōu)點:
-
龐大的安裝基礎
-
易于上手
-
長期的追溯與完善
-
第三方服務的全面覆蓋
-
替代方案豐富
-
良好的社區(qū)貢獻
適用的場景:
-
大量用于后端的第三方應用程序
-
Web應用程序
-
電子商務:零售客戶群通過MySQL支撐了爆發(fā)式增長的業(yè)務
-
新應用程序開發(fā)一直是MySQL的最佳選擇
MySQL社區(qū):
-
自從MySQL被收購Oracle之后,在穩(wěn)定性和功能上都大大增強
-
Percona之類的公司已經在性能、可擴展性和功能方面為MySQL帶來了全新的改進
-
Facebook、阿里巴巴、騰訊和其他公司為社區(qū)貢獻了許多代碼和功能
-
生態(tài)系統(tǒng)中的新公司也在積極參與貢獻力量。例如,PlanetScale等公司提供的Vitess橫向擴展方案。
對MySQL未來的看法:
-
會持續(xù)對現(xiàn)有功能進行完善與改進,但不會有大規(guī)模的創(chuàng)新、飛躍。
-
MySQL社區(qū)將致力于使其對開發(fā)人員更具吸引力,包括增加新功能、對開發(fā)人員更友好。
注意事項:
-
對于大型的老舊應用,MySQL并不是很好的遷移目標
-
MySQL和MariaDB之間仍然存在差異(它們是不同的)
-
人才緊缺,真正的專家總是不容易找到
-
一直在穩(wěn)定而漸進的創(chuàng)新,但沒有全面的增強
2、PostgreSQL數(shù)據(jù)庫速覽:
PostgreSQL已有23年的歷史了,在過去的幾年中,PG出現(xiàn)了大規(guī)模的普及和增長。DB-Engines顯示其受歡迎度在過去四年中翻了一番。無論是云廠商的數(shù)據(jù),還是分析師的經驗都證明了這一爆炸性增長。
PostgreSQL的大部分增長來自老舊業(yè)務的遷移。PG良好的開放性也促進了其使用率的增長,可以在第三方程序、硬件和系統(tǒng)中進行嵌入、修改和加強。
PostgreSQL的優(yōu)點:
-
PostgreSQL是完全開放的,其背后沒有任何公司實體,這使其成為一個真正的開放項目。
-
開放的許可使它易于根據(jù)需要進行部署、嵌入和修改。
-
具有完善的功能和完整的存儲過程語言。
-
對于大多數(shù)傳統(tǒng)數(shù)據(jù)庫開發(fā)人員和DBA而言,學習和提升更容易。
-
有很多企業(yè)擴展和功能選項可用。
-
在服務支持和DBaaS上有很多選擇空間
適用的場景:
-
舊版數(shù)據(jù)庫遷移,PG在整合企業(yè)功能和過存儲過程語言方面做得非常出色,這使其成為非常流行的遷移目標。
-
PostgreSQL的豐富功能集和強大特性,是業(yè)務構建新的OLTP應用的好選擇。
-
GIS應用程序:PostgreSQL中的地理空間支持非常強大。
-
邊緣和嵌入式系統(tǒng):許可證的開放性使其成為嵌入第三方項目、產品和系統(tǒng)的絕佳選擇。(比如很多國產數(shù)據(jù)庫)
PostgreSQL社區(qū):
-
PostgreSQL社區(qū)是強大而熱情的。
-
主流云廠商、第三方提供商(如Percona,EnterpriseDB,CrunchyData,2ndQuadrant,Pivotal)和大型企業(yè)都對PostgreSQL有所貢獻。
-
提供支持和服務的公司很多,其中很多公司在標準PG數(shù)據(jù)庫上提供增強功能。
對PostgreSQL未來的看法:
-
目前PostgreSQL受重視程度很高,前途光明,預計會持續(xù)增長。
-
PostgreSQL的開放許可能導致更多“兼容”產品,用戶有被鎖定風險。
-
注意,并非所有的PostgreSQL產品都是真正的開放,有些只是“開放源代碼兼容(open source compatible)”。
注意事項:
-
并非所有PG服務提供者都是開放的,DB選型前要注意,以確??梢浦残?。
-
一些第三方擴展和附加組件的使用需要額外的工作量
-
組件的支持程度很依賴其作者
-
很多功能對于精通傳統(tǒng)關系概念的人來說更容易學習,但對新入門者卻不易掌握。
3、MongoDB 速覽:
在2020財年第三季度的財務業(yè)績中,MongoDB宣布總收入為1.094億美元,同比增長52%。其中MongoDB Atlas收入占第三季度總收入的40%,同比增長超過185%。Atlas擁有龐大的用戶體量,截至2019年10月31日,已有超過15,900名客戶使用。
MongoDB收入增長的因素有很多:功能擴展、價格上漲和產品變更。但僅憑收入很難衡量MongoDB的總體使用率。DB-engines可以看到一些增長,但并沒有上面公開的收入和客戶數(shù)量顯示的那么多;Stack-Overflow 調查顯示MongoDB使用率較為平坦;Percona與MongoDB相關主題的Web流量同比增長了20%以上。
MongoDB的優(yōu)點:
-
靈活的模式,NoSQL將模式控制權交給開發(fā)人員
-
將文檔數(shù)據(jù)無縫轉換為JS/Go/Python/Java本地對象,而不是SQL數(shù)據(jù)結構。
-
MongoDB的高可用性設計一開始就圍繞副本集構建,輕松實現(xiàn)了無停機維護和自動故障轉移。
-
內置水平擴展支持最多數(shù)百個分片,是通用數(shù)據(jù)庫中最好的大數(shù)據(jù)解決方案。
適用的場景:
-
Web(尤其移動端) 能夠同時實現(xiàn)“big”和“fast” ,將模式控制權交給開發(fā)人員,減少遷移迭代時間。
-
游戲(尤其移動端) 存儲靈活、強擴展能力以及更易用的分片
-
MongoDB靈活的文檔存儲非常適合快速發(fā)展變化的業(yè)務要求,使其成為許多SaaS業(yè)務的流行后端DB。
MongoDB社區(qū):
-
IPO前:很多黑客與貢獻者支持,更多的開放性。
-
IPO后:官方的MongoDB認證,極客精神缺失。
-
與其他數(shù)據(jù)庫相比,MongoDB社區(qū)的控制更嚴格。
MongoDB未來的看法:
-
MongoDB開發(fā)的精力正在遠離核心數(shù)據(jù)庫服務。
-
MongoDB Inc的前身是10gen,旨在成為在線服務的完整平臺。目前的MongoDB在Atlas服務中添加了文本搜索,云自動化,移動集成等功能,但這些都是封閉源。
-
由于主要功能都投入在Atlas中首發(fā),使用MongoDB的企業(yè)是否會轉移業(yè)務到其云平臺么?
注意事項:
-
SSPL不是公認的開源許可證,并非所有人都認可MongoDB真正開源。
-
SSPL允許和禁止的內容存在不確定性,可能阻礙社區(qū)和第三方的使用。
-
專注于Atlas作為其平臺,存在被Atlas綁定的風險。
-
MongoDB是一個生態(tài)系統(tǒng)受到嚴格控制、限制性很大的開源項目。這意味著社區(qū)貢獻以及第三方服務支持會逐漸落后。
4、MariaDB 速覽:
DB-Engines顯示MariaDB在過去幾年中取得了顯著增長,但它的普及率不到MySQL的1/10。MariaDB在很多Linux發(fā)行版中是默認的,這有助于其在社區(qū)中的發(fā)展,但目前尚未取得重大的商業(yè)成功。
使用MySQL和MariaDB混合環(huán)境的公司的數(shù)量有所增加,但這通常不是戰(zhàn)略決策導致,而是更多的偶然情況。MariaDB在云中的增長速度較慢,人們往往傾向于使用MySQL。
盡管MariaDB的增長正在全球范圍內進行,但我們發(fā)現(xiàn)在北美以外地區(qū)(尤其是在歐洲和亞洲)增長的速度要快得多。
MariaDB的優(yōu)點:
-
MariaDB趨向于創(chuàng)新突破,提供了很多有趣的新功能來嘗試解決各種問題。
-
一直保持與MySQL的兼容性,MySQL用戶更容易遷移并開始使用它。
-
MariaDB基金會非常樂于助人,專注于社區(qū)。
-
列數(shù)據(jù)庫允許混合使用,推動“智能交易(Smart Transactions)”。
適用的場景:
-
快速開發(fā),開發(fā)人員都喜歡MariaDB的簡單易用和一些功能。
-
與其前身一樣,MariaDB在運行Web應用中享有很高的聲譽。
-
Oracle的替代品:MariaDB試圖將自己定位為Oracle的替代品,但在這個領域仍然落后于PostgreSQL。
MariaDB社區(qū):
-
MariaDB分為MariaDB基金會和MariaDB公司。基金會負責基本代碼,并通過贊助和其他方式提供資金。這兩個實體并存,很難將它們分開。
-
MariaDB有大量用戶,他們已經部署并熱衷于使用MariaDB來處理各種工作,公司的知名度和數(shù)量也沒有MySQL/PostgreSQL的那種規(guī)模,提供一些企業(yè)可以選擇贊助的付費功能。
-
看好MariaDB前景并為之投資的公司很多,如Booking.com,Microsoft,阿里巴巴,騰訊和IBM。
對MariaDB未來的看法:
-
MariaDB確實在為企業(yè)領域的競爭做準備,特別針對金融等行業(yè)。
-
他們一直在試圖避免成為MySQL的衍生產品。
-
MariaDB正在努力推出自己的GA版DBaaS。
-
隨著MariaDB進入企業(yè)領域,他們正在刪除一些更具實驗性的功能,從而專注于提供更精簡,穩(wěn)定的企業(yè)服務。
注意:通常很難將MariaDB基金會與MariaDB Corp.分開。
注意事項:
-
MariaDB不再完全與MySQL完全兼容,一旦遷移過來,就很難后退。
-
但核心RDBMS與MySQL的重疊仍然很大,因此兩個數(shù)據(jù)庫之間的選擇更取決于個人偏好。
-
過去增加的新功能可能導致一些異常和問題。目前精簡了很多,以實現(xiàn)更多企業(yè)應用。