透过DB-Enginges,看数据库管理系统的潮起浪涌

第一部分原标题:Emerging and fading trends in database management systems

地址: http://db-engines.com/en/blog_post/64

作者:Paul Andlinger

一、数据库管理系统的新兴和败落趋势

如今的数据库技术文章中,常常充满了流行词汇和对于新趋势的预言,就像其他技术领域一样。今天通过DB-Enginges排序收集到的数据,来看一下这些趋势。

为了进行我们的DB-Enginges排序,我们制定了一个普及度值,并参照我们的排序方法对每个DBMS进行了排序。然后通过简单的添加每种系统所具有的明确相关值,制作了普及趋势曲线。我们把普及度值在所有系统中占的百分比用来展示发展趋势。

NoSQL

在过去的几年里,很多新兴的DBMS(数据库管理系统)被创造出来。它们常常支持很多种超出之前固有关系模型的数据模型。这主要是被新应用(比如网络事物、非结构化数据管理、复杂关系模型等)的需求所驱动。很多该类系统被证明是极其成功的,并且导致有一些预言家预言关系型数据库很快会消亡。他们的观点正确吗?

让我们看一下过去几年从DB-Engines数据集导出的图表吧。

从2013年2月到2016年10月刚统计的数据中,可看到关系型数据库的普及率从原先的94%下跌到了81%。为了方便起见,我们用NoSQL代表所有的非关系型数据库,那么,这个族群从6%涨到了19%,在这个时期增长了三倍。但是,去年的普及率清晰地表明这个趋势似乎已经停止了,并且关系型数据库仍停留在一个较高的水平。

只从普及率变化的部分(并且忽略绝对值)分析,图形数据库从2013年1月到现在增长了近6倍。它们支持列存储和文档存储。

对过去12个月做了相同的分析,发现时间序列数据库是当今成长最快的数据库类型:

所有类型的数据库管理系统的统计表可以在这里找到:http://db-engines.com/en/ranking_categories。

云数据库

参照我们对于DBaaS产品的严格定义(请看描述http://db-engines.com/en/blog_post/37),我们绘出了其增长趋势,如下图:

云数据库的普及率从2013年1月的0.1%增长到了今天的1.4%,并且这种趋势还在继续发展。

开源数据库

开源数据库备受欢迎:最近普及率占45%,4年前为36%。但是每个月都会明显增长的趋势也已经不甚明显。

第二部分原标题:Exploring the trend towards open source database management systems

地址: http://db-engines.com/en/blog_post/65

作者:Matthias Gelbmann

二、开源数据库管理系统的发展趋势

开源数据库管理系统的普及,像在DB-Engines测量生成的排行那样,已经突破到一个新的记录。这里我们分析了一些潜在的细节。

在我们的排行中有154种开源系统,略微少于156种商业系统。如果我们把所有开源系统的普及度加起来的话,结果占到总体分数的46%,然而,54%为商业系统。

虽然商业系统目前领先,但纵观历史发展趋势,我们认为这正在改变。因为开源系统的普及份额从4年前的35%增加到如今46%的新记录。

但这种变化从何而来?它不像Oracle、微软和IBM这类公司在慢慢地开源其核心技术。

有2个实际的主要因素。首先,现有商业数据库的流行发展趋势呈现出不同的景象。Oracle在2015年成为我们所用的数据库,当时我们发现它的普及率增长达到了最高。类似的,微软的SQL Server到目前为止已经有持续一年的强劲发展,在过去的12个月内获得91个得分点。另一方面,竞争中有市场冲突的系统失去了普及度,比如DB2和微软Access。

现有的开源系统在普及度上平均水平更胜一筹。MySQL的得分曾经起起伏伏,但是近期呈现一个强势的整体上升趋势。

并且PostgreSQL,SQLiet和MariaDB在我们排行中的得分都一直在增长。

因此,这是我们观察到的趋势的一个来源:现有的开源系统比他们的商业系统小伙伴发展好一些。但是还有更多的重要的潜在原因。

看一下通过数据库模式分解的开源系统的份额:多值数据库、面向对象数据库和纯XML数据库。关系型数据库在相对中间的区间。

在左边,我们看到大多数新类型的系统种开源系统占很大的份额:列存储、图形数据库、时间序列数据库、文档数据库,还有不那么年轻的键值存储。在右侧,我们看到有一些份额较大的相对成熟的商业系统类型:

将这些信息与各种数据库增长率相结合,我们可以看到开源系统发展趋势的主要原因:

最上面的有最高增长率并且是高份额的开源系统,相反在底部,这些系统的增长率最低的主要由商业系统组成。

仔细观察每种数据模型的普及率排行,可以清晰地看到:

所有列存储数据库名列前茅的是开源的:Cassandra, HBase, Accumulo等等。

所有图形数据库名列前茅的是开源的:Neo4j, OrientDB, Titan等等。

所有键值存储名列前茅的都是开源的: Redis, Memcached,Riak KV等等。

所有时间序列数据库名列前茅的都是开源的: InfluxDB,RRDTool, Graphite等等。

所有文档存储数据库名列前茅的都是开源的:MongoDB, Couchbase,CouchDB等等。这里值得注意的例外是Amazon DynamoDB,一个基于云的系统,它暗示了另外一种发展趋势。

最后,搜索引擎名列前茅的也是开源的:Elasticsearch 和 Solr。

开源系统的发展趋势似乎不可阻挡。这对数据库产业来说是好消息。它意味着,对用户来说,这是一个既强大又实惠的巨大选择。另一方面,大量的公司已经证明,开源系统可以构建坚固的业务系统,他们用在核心业务系统上,支持着产品和服务。商业系统不会很快消失,因为有一部分人需要或者是倾向于有许可的系统。数据库的大陆版图无疑已经大的足够能容下所有族群了。

欢迎加入本站公开兴趣群

软件开发技术群

兴趣范围包括:Java,C/C++,Python,PHP,Ruby,shell等各种语言开发经验交流,各种框架使用,外包项目机会,学习、培训、跳槽等交流

QQ群:26931708

Hadoop源代码研究群

兴趣范围包括:Hadoop源代码解读,改进,优化,分布式系统场景定制,与Hadoop有关的各种开源项目,总之就是玩转Hadoop

QQ群:288410967

;