歡迎點選上面的” NoSQL漫談 “關注我們
術語縮寫
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產品在價格上的明顯優勢。部分內容的理解或表述與原報告可能存在出入,更詳細的資訊,建議直接閱讀報告原文。
精彩文章推薦
《一條資料的HBase之旅》系列連載文章:
簡明HBase入門教程-開篇
簡明HBase入門教程-Write全流程
簡明HBase入門教程-Flush與Compaction
圖資料庫相關文章:
「一起學圖資料庫」系列之圖資料庫概述
「一起學圖資料庫」系列之圖資料庫與傳統資料庫的對比分析
從擴線查詢能力分析圖資料庫Titan的設計改進點
《OpenTSDB技術原理》系列連載文章:
OpenTSDB原理系列-後設資料模型
OpenTSDB原理系列-TSDB資料表設計
OpenTSDB原理系列-執行緒模型
OpenTSDB原理系列-讀取流程
其它精彩文章:
跨AZ資料複製方案中的EC與XOR技術
從HBase中移除WAL?3D XPoint技術帶來的變革
號稱十倍效能於Cassandra的ScyllaDB,究竟祭出了哪些技術”利器”?
NewSQL是否是NoSQL的取代者?
閱讀開源專案原始碼的建議姿勢