现代企业需要越来越多的数据。随着数据类型、数据量、应用需求和数据关系的增加,传统的关系数据库在面对今天的大数据时效率低下。图形数据库应运而生,大大提高了企业数据管理的效率。数字奕譞致力于图形数据库的技术服务,为您介绍各种数据库。
图数据库分类图形数据库的分类
DB-Engines作为全球最专业的按照采用用户数对各类数据库系统进行排名的组织,最近发布了最新排名,也就是2018年3月的排名。本文以2月份的数据为例进行分析。不得不说,在这个排名中,第一阵营是传统关系数据库的领军企业Oracle、MySQL、微软SQL Server,第二阵营和第三阵营的分数相差很大。
通过这个排名,我们来看看数据库系统的发展轨迹和趋势。
关系型数据库占据主流,新型数据库后生可畏统计了341种数据库,根据不同的数据模型分为13类。但是,同一个数据库管理系统可以概括为多种数据库类型。
图1 不同类型数据库的数量图1不同类型数据库的数量
图1显示了每种类型的数据库系统的数量。我们可以看到,数据库数量最多的还是传统的关系数据库,138;64个关键价值数据库;44个分布式文件存储数据库;29个图形数据库;有23个时间序列数据库等。每种类型数据的比例如图2所示。图2 每一类数据所占的比例图2每种类型数据的比例
近24个月来,各种数据库产品的口碑变化如图3所示,显示了各个数据库的人气变化。其中传统关系数据库一直是市场主流,口碑变化不大,接近100的中值,略有下降。时间序列数据库、图形数据库、键值数据库等。是迅速提高声誉的类别。图3 每类数据库声望的变化情况图3每种数据库的信誉变化
开源系统等于商业系统,开源系统发展势头不减。数据库引擎列表中另一个有意义的指标是开源系统和传统商业数据库系统的比较。在341个系统中,开源系统的数量与商业系统相等,如图4所示。图4 开源系统与商业系统数量图4开源系统和商业系统的数量
2013年以来,商业系统和开源系统的发展趋势如图5所示。开源系统的数量在逐渐增加,而商业系统的数量在逐渐减少,两者倾向于五五开。图5 商业系统与开源系统的发展趋势图5商业系统和开源系统的发展趋势
非常有趣的是,在不同种类的数据库产品中,商业系统和开源系统的比例仍然存在差距,如图6所示。一个规律是,开源系统是新型快速增长数据库的主流,而传统的关系数据库和商业系统是主流。图6 不同种类数据库中商业系统和开源系统的比例图6不同类型数据库中商业系统和开源系统的比例
排名前五的商用数据库系统是Oracle、微软SQL Server、IBM DB2、微软Access、Teradata。五大开源数据库系统分别是MySQL、PostgreSQL、MongoDB、Redis和弹性搜索。 六类数据库的竞争格局日益清晰,主导系统引领发展关系数据库
关系数据库是基于关系模型的数据库,它使用集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种关系都是用关系模型来表达的。传统的关系数据库实际上是一个行数据库,它以逐行的方式存储信息。
目前,关系数据库已经成为市场的主流,也是数据库市场中最大的领域。典型的产品有Oracle、MySQL、SQL Server、PostgressSQL、DB2等等。
关系数据库的优点是:可以实现复杂的查询,用SQL语句可以轻松地在一个表和多个表之间进行非常复杂的数据查询;事务支持使得具有高安全性的数据访问需求得以实现。
大家对Oracle和微软SQL Server都比较熟悉,这里就忍不住要说开源数据库MySQL了。在WEB应用方面,MySQL是最好的关系数据库管理系统,也是非常流行的关系数据库管理系统。基本上可以满足用户的各种功能需求。最初的核心思想是开源,简单易用。它的高并发访问能力并不比大型数据库差,安装和使用都非常简单。
时间序列数据库
时间序列数据库主要用于处理带有时间标签的数据(按时间顺序变化,即时间序列化)。时间序列数据主要由电力、化工等各类实时监测、检验、分析设备采集生成。这些工业数据的典型特征是:生成频率快(每个监测点一秒钟可以生成多条数据)、对采集时间依赖性大(每条数据需要对应唯一的时间)、监测点信息量大(常规的实时监测系统有数千个监测点,每个监测点每秒生成数据)
关系数据库不能满足时间序列数据有效存储和处理的要求。目前,关系数据库经常被用来存储和处理时间序列大数据,但是关系数据库固有的缺点使得它无法高效地存储和查询数据。时间序列大数据解决方案通过使用特殊的存储方式大大提高了时间相关数据的处理能力,与关系数据库空的存储时间相比,查询速度大大提高。
一个典型的系统,比如InfluxDB,是一个开源的时间序列、事件、指标的分布式数据库,目标是实现分布式和横向的可扩展性。它有三个特点:时间序列,可以使用时间相关的相关函数(如最大值、最小值、和等。);度量,可以实时计算大量数据;Eevents,支持任意事件数据。
列数据库
列数据库一般适用于大量的字符串数据。列数据库从一开始就是为了大数据环境下数据仓库的数据分析而产生的,主要适用于批量数据处理和即时查询。其优点包括:极高的加载速度(高达所有硬盘I/O之和);适合大量数据而不是小数据;实时加载数据仅限于增加(删除更新需要解压Block,然后计算再压缩存储);高效压缩比,因为存储的数据类型相同,不仅节省了存储时间空,还节省了计算内存和CPU,非常适合聚合操作。
典型的系统有Cassandra、HBase、Sybase IQ、惠普Vertica、EMC Greenplum等。
Hadoop数据库是一个高度可靠、高性能、面向列和可扩展的分布式存储系统。通过使用hbase技术,可以在廉价的PC服务器上构建大规模的结构化存储集群。
HBase是Google Bigtable的开源实现。与Google Bigtable类似,GFS作为其文件存储系统,而HBase使用Hadoop HDFS作为其文件存储系统。Google运行MapReduce处理Bigtable中的海量数据,HBase也使用Hadoop MapReduce处理HBase中的海量数据。Google Bigtable使用Chubby作为协作服务,而HBase则使用Zookeeper作为对应服务。
键值数据库
即键值存储,简称KV存储。这是一种NoSQL存储方式。它的数据以键值对的形式组织、索引和存储。
KV存储非常适合不涉及太多数据关系服务的数据,可以有效降低读写磁盘的频率,读写性能比SQL数据库存储更好。典型产品有Redis、DynamoDB等。
Redis是一个高性能的键值数据库,完全开源免费,符合BSD协议。
Redis和其他键值缓存产品一样,有以下三个特点:Redis支持数据持久化,可以将内存中的数据保存在磁盘上,重启时可以重新加载使用。
Redis不仅支持简单的键值数据,还提供列表、集合、zset和hash等数据结构的存储。
Redis支持数据备份,即主从模式下的数据备份。
图形数据库
图形数据库不是专门用来存储图形图像的,而是因为它使用图形结构来维护其数据之间的关系,所以被称为图形数据库。
在图形数据结构中,只有两种基本的数据类型,即节点和关系。节点可以有属性,关系也可以有属性。属性存储在键值对中。节点之间的连接是通过关系建立的,它们建立的关系是有方向性的。
分布式文档存储数据库
文档存储数据库不需要定义,应用灵活。文档存储支持对结构化数据的访问。与关系模型不同,文档存储没有强制架构,文档存储模型支持嵌套结构。例如,文档存储模型支持XML和JSON文档,可以嵌套字段的“值”来存储其他文档。文档存储模型还支持数组和列值键。与键值存储不同,文档存储关心文档的内部结构。这使得存储引擎能够直接支持二级索引,从而允许高效地查询任何字段。支持文档嵌套存储的能力使得查询语言能够搜索嵌套对象。XQuery就是一个例子。
MongoDB是一个基于分布式文件存储的数据库,旨在为网络应用提供可扩展的高性能数据存储解决方案。MongoDB是关系数据库和非关系数据库之间的产物,是非关系数据库中功能最强、最像关系数据库的。他支持的数据结构非常松散,是类似JSON的BSON格式,可以存储复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,语法上有点类似于面向对象的查询语言,几乎可以实现关系数据库中单个表的类似查询的大部分功能,而且还支持对数据建立索引。
2月16日,MongoDB在西雅图会议上宣布,MongoDB将在4.0版正式推出多文档ACID事务支持。ACID多文档事务可以理解为关系数据库的多行事务。在关系事务支持中,几乎无一例外,每个人都支持同一事务中操作的原子性,即要么全部提交,要么全部回滚。同一事务中可以有多个操作,针对多个表或同一表中的多行数据。
数据库有这么多种,其实各有利弊,特别适合某个数据应用。在数据存储和处理方面,数据库的发展仍然充满活力和后劲。
1.《列式数据库 『数易轩图数据库』数据库种类这么多?你知道图数据库吗?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《列式数据库 『数易轩图数据库』数据库种类这么多?你知道图数据库吗?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1238975.html