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