1. 程式人生 > >從Gartner市場報告看開源資料庫發展趨勢與技術選型建議

從Gartner市場報告看開源資料庫發展趨勢與技術選型建議

本文主要參考了Gartner於2018年2月底釋出的關於OSDBMS的市場報告,說明了OSDBMS在未來的市場趨勢資訊,並提供了關於OSDBMS技術選型時的部分參考建議。

術語縮寫

OSDBMS:open-source database management system

近些年,開源軟體的應用得到了廣泛的普及,這其中不乏開源資料庫產品,如傳統RDBMS領域的MySQL,PostgreSQL,NoSQL界的HBase,Cassandra,MongoDB,ScyllaDB,NewSQL界的CockroachDB,TiDB,從廣泛意義上來說,專注於搜尋技術的Elasticsearch與Solr也可以劃入OSDBMS的範疇。

過去,大家關於開源資料庫軟體的印象,主要包含如下幾點:

  • 易用性差
  • Bug多
  • 配套能力弱

儘管開源資料庫可以降低購買商業資料庫License的費用,但卻付出了昂貴的人力維護成本。當然,如果不幸遇到了資料可靠性方面的問題導致資料丟失,損失更是不可估量。

正因為上述原因,很多公司都推出了開源資料庫的商業版本,收費模式較之傳統的License模式也出現了一些變化。我們先來看看開源資料庫的幾類受控主體:

1. 可信任的獨立的開源組織

如Apache基金會,Linux基金會,這類開源組織具有明確的社群治理規則和智慧財產權機制。這類資料庫的典型代表,包括Apache HBase, Apache Cassandra。

2.  商業公司

往往通過開放原始碼的方式來吸引眾多的使用者/開發者。典型代表如Elasticsearch,由Elastic主導。

以Apache HBase, Elasticsearch為例,我們來看一下幾種商業收費模式:

1. Apache HBase

有兩種主要的商業收費模式:

– 商業發行版,如Cloudera,Hontonworks,Huawei都推出了自己的商業發行版,通過銷售產品License,或者提供支援服務和後期維護來收費,或者是兩者的結合。

– 雲服務,如華為雲、阿里雲上的託管式HBase雲服務,可按實際所需的計算資源收費。

2. Elasticsearch

Elastic公司開放了Elasticsearch的核心框架原始碼,但對於一些關鍵能力,如Security、Monitoring、Reporting、Machine learning等,僅被包含在商業發行套件X-Pack中,使用者需要購買License才可以使用。

另外,國內的華為雲、百度雲、阿里雲等公有云廠商也都有相應的Elasticsearch服務。

Gartner在2018年2月底釋出的報告”State of the Open-Source DBMS Market, 2018“中,詳細分析了開源資料庫的市場趨勢資訊,以及為技術選型所提供的建議,下面將介紹這份報告所提供的部分關鍵資訊。

OSDBMS所面臨的主要挑戰

  1. 知名的OSDBMS技術,在大公司中,都已經存在不少成功應用案例,但這些案例與自己的實際使用者需求場景之間可能存在不少GAP。
  2. 一些OSDBMS提供商為了讓使用者從現在的商業系統中遷移過來,在原始碼/介面相容性上做了不少工作,從而減少他們系統遷移的成本,但這裡所宣告的相容性,往往會存在瑕疵。

  3. 儘管OSDBMS能夠節省不少License費用,但遷移與部署的消耗成本往往被低估了。

  4. OSDBMS在某些企業級特性/能力支援上,往往會存在問題。

OSDBMS未來市場趨勢預測

  1. 到2019年,OSDBMS在DBMS市場中的總支出份額超過10%以上,考慮到目前OSDBMS正在加速被更多的企業使用者採納。
  2. 到2022年,超過70%的企業內用應用將會基於OSDBMS,50%的現有商業RDBMS系統將會被替換掉,或者正在計劃被替換掉。

  3. 2020全年,關係資料庫技術在新專案中應用的比例仍然超過85%。

  4. 2020全年,開源軟體在IT投資組合中所佔的比重,將會以每年30%的速率增長。

  5. 2020全年,全球超過60%的企業組織將會提升他們內部員工的開源技術技能,從而在生產環境中更好的應用這些開源技術。這個比例在2018年僅為20%。

OSDBMS市場佔用率

我們先來看幾組資料:

  1. 2016年全年,DBMS市場總收入為344億美元, Gartner估算OSDBMS貢獻了約7.6%的份額,即約為26億美元。對比於2015年,OSDBMS市場收入的增長比率約為50%,而整體的市場增長率為7.7%。
  2. 有四家以OSDBMS產品作為關鍵投資的廠商年收入超過1億美元,它們分別為DataStax,EnterpriseDB, Fujitsu, Huawei,緊隨其後的是MongoDB。

  3. OSDBMS產品的市場主導者為AWS,年度收入達$744Million,約佔整個OSDBMS市場份額的28.4%。Oracle與IBM在OSDBMS產品領域的年度收入也都接近1億美元大關,而Microsoft與SAP在OSDBMS產品方面的收入微乎其微。

當然,這些收入資料無法真實反應OSDBMS的市場佔用率資訊,因為免費實用OSDBMS的企業居多。一個可供借鑑的經驗法則為:付費使用者在實際使用者群中的比例約為1%到5%之間。技術流行度/熱度資訊,也常被用來評估一個OSDBMS技術,如DB-Engine上所提供的資料庫熱度排名資訊(DB-Engine通過調研知名資料庫在搜尋引擎上被搜尋的熱度,相關搜尋結果的數量,在StackOverflow/DBA Stack Exchange中的討論的數量,相關工作崗位資訊,以及一些社交網站上的相關度資訊對資料庫進行排名),一定程度上可以為我們提供一些參考。

關於選型OSDBMS的部分建議

1. 在選型一個OSDBMS技術時,一定要結合實際的內部專案需求,做充分的PoC測試。

通常,OSDBMS並沒有像傳統的DBMS那樣會提供完善的功能特性,很多因應對特殊需求而出現的專業OSDBMS,可能僅僅提供了夠用的基礎特性集,因此,根據內部專案需求制定合理的測試用例集,並通過PoC測試來確定一個OSDBMS技術是否適用是必要的。

2.藉助公有云OSDBMS服務做初步的方案可行性分析

很多OSDBMS都已經存在對應的公有云服務,所以,在為一個新專案選型OSDBMS技術時,可以優先考慮基於公有云的OSDBMS服務進行初步的方案可行性分析,因為公有云上的OSDBMS服務可以快速上手。另外,除了待評估的方案,一定要有其它的候選方案。

3. 要全面評估選型選用一個OSDBMS技術所付出的成本

對比於傳統商業RDBMS產品的昂貴的License費用,使用OSDBMS的確可以節省一大筆支出,但在別的方面卻增大了投入:

– 開發成本:所選擇的OSDBMS在介面上可能會帶來變化,甚至為了實現某類專業化能力可能提供了一套全新的自定義介面(DSL)

– 資料與應用遷移的成本

 培訓成本

– 維護成本:如果使用了源自OSDBMS產品廠商提供的產品,在系統穩定性上可能會有較好的保障,但如果直接使用了開源版本,這意味著要付出更多的維護成本,遇到問題時不得不花費人力修復Bug,必要時需要自己新增特性,在這之前,原始碼的白盒化工作也是必要的。

4. 通過制定合理的策略來評估和確保OSDBMS選型的合理性,避免被應用在不合理的場景中

在選型OSDBMS時,除去技術因素,總有不少其它的不可控的影響因素,這容易導致OSDBMS被應用在不合理的場景中。下圖給出了一些參考維度來全面評估選型一個OSDBMS技術所帶來的成本效益,藉此來評估技術選型的合理性:

價格模型

很多選用OSDBMS技術的中小企業商並無意願去自己維護程式碼,他們通常會選擇OSDBMS的商用版本,但對於OSDBMS的價格模型,會存在疑惑。報告中給出了一組關於Oracle Database Enterprise Edition,MySQL Enterprise Edition,MariaDB TX以及EnterpriseDB EDB Postgres Enterprise的價格對比資料:

在購買新的Oracle Database Enterprise Edition時,假定有50%的折扣,三年的總費用為53.31萬美元,而MySQL Enterprise Edition,MariaDB TX以及EnterpriseDB EDB Postgres Enterprise三年所花費的總價格卻分別為1.5萬美元,2.16萬美元,10.8萬美元。這意味著,Oracle企業版的價格分別是其它三者價格的36倍,25倍與5倍。

假設Oracle的License已經提前購買,而且依然有50%的折扣,Oracle的每一年的維護與支援費用,依然高達6.27萬美元,三年的總費用為18.81萬美元,該價格比起另外三者的總價格依然高出了許多。

總結

本文主要參考了Gartner於2018年2月底釋出的報告《State of the Open-Source DBMS Market, 2018》中的一些資料,說明了OSDBMS在未來的市場趨勢資訊,並提供了關於OSDBMS技術選型時的參考建議。最後,關於OSDBMS產品的價格模型,與Oracle企業版本價格做了對比,說明了OSDBMS產品在價格上的明顯優勢。部分內容的理解或表述與原報告可能存在出入,更詳細的資訊,建議直接閱讀報告原文。