从Gartner市场报告看开源数据库的发展趋势与技术选型建议
术语缩写
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产品在价格上的明显优势。部分内容的理解或表述与原报告可能存在出入,更详细的信息,建议直接阅读报告原文。
本文转载自微信公众号【Nosql漫谈】。
- 点赞
- 收藏
- 关注作者
评论(0)