数据结构论坛

首页 » 分类 » 常识 » 管理数据命根子的数据库种类越来越多,有哪
TUhjnbcbe - 2023/7/14 21:01:00

作者:刘学习

小编:小葱

数据是企业的命根子。数据种类增多,数据量增大,应用需求多样化,导致数据库的种类也不断增多。除了以前说的交易类、事务处理类、嵌入类等常用的分类方法以外,根据不同应用需求而出现的新型数据正在不断发展壮大。

作为全球最专业的按采用用户数量对各类数据库系统进行排名的机构,DB-Engines最近公布了最新的排名,即年3月份排名,本文以2月的数据为例进行分析。

不得不说,在这份排名中,占据第一阵营的是传统的关系型数据库的三大领头羊Oracle、MySQL和MicrosoftSQLServer,与第二阵营与第三阵营的分值相差挺大。

透过这份排名,我们来看看数据库系统的发展轨迹与趋势。

关系型数据库占据主流,新型数据库后生可畏

种数据库被纳入统计,按照所采用的数据模型的不同,被归类到13个大类。不过,同样的一个数据库管理系统,可以被归纳到超过一种数据库类型。

图1不同类型数据库的数量

图1显示的就是每一类数据库系统的数量。我们可以看出,数量最多的数据库依然为传统的关系型数据库,个;键值数据库,64个;分布式文档存储数据库,44个;图形数据库,29个;时序数据库23个,等等。每一类数据所占的比例如图2所示。

图2每一类数据所占的比例

最近24个月以来,各类数据库产品的声望的变化情况如图3所示,由此可以看出每类数据库流行度的变化情况。其中,传统关系型数据库一直是市场的主流,声望变化不大,处于中间值附近,并稍有下降。声望提高比较快的是时序数据库、图形数据库、键值数据库等几类。

图3每类数据库声望的变化情况

开源系统与商业系统旗鼓相当,开源系统发展势头不减

DB-Engines榜单中另一个有意义的指标是开源系统与传统商业数据库系统的对比。在套系统中,开源系统与商业系统数量旗鼓相当,不分伯仲,如图4所示。

图4开源系统与商业系统数量

自年以来,商业系统与开源系统的发展趋势如图5所示,开源系统数量逐渐增多,商业系统逐渐减少,两者趋向对半分。

图5商业系统与开源系统的发展趋势

非常有意思的是不同种类数据库产品中,商业系统和开源系统的比例还是有差距的,如图6。一个规律就是新型的增长比较快的数据库类型是开源系统占据主流,而传统的关系型数据库,商业系统则占据主流。

图6不同种类数据库中商业系统和开源系统的比例

商业数据库系统的前五名分别是:Oracle、MicrosoftSQLServer、IBMDB2、MicrosoftAccess,以及Teradata;开源数据库系统中前五大系统分别是:MySQL、PostgreSQL、MongoDB、Redis、Elasticsearch。

六类数据库的竞争格局日益清晰,主导系统引领发展

关系型数据库

关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。传统的关系型数据库其实就是行式数据库,就是一行一行的方式来存储信息的。

目前,关系型数据库一直是市场的主流,也是数据库市场规模最大的领域,典型的产品如排名前五的Oracle、MySQL、SQLServer、PostgressSQL、DB2等。

关系型数据库的优势表现在:可以实现复杂查询,可以用SQL语句方便地在一个表以及多个表之间做非常复杂的数据查询;事务支持,使得对于安全性能很高的数据访问要求得以实现。

对于Oracle和微软SQLServer,大家都比较熟悉,在此不能不谈开源数据库MySQL。在WEB应用方面,MySQL是最好的关系数据库管理系统,也是很流行的关系型数据库管理系统。基本上能实现用户的各种功能需求,最初的核心思想主要是开源、简便、易用,其高并发存取能力并不比大型数据库差,安装、使用都非常简单。

时序数据库

时间序列数据库主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据。时间序列数据主要是由电力行业、化工行业等各类型实时监测、检查与分析设备所采集、产生的数据,这些工业数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、检测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。

关系型数据库无法满足对时间序列数据的有效存储与处理。目前对于时序大数据的存储和处理往往采用关系型数据库的方式进行处理,但关系型数据库天生的劣势导致其无法进行高效的数据存储和查询。时序大数据解决方案通过使用特殊的存储方式,极大提高了时间相关数据的处理能力,相对于关系型数据库的存储空间减半,查询速度极大提高。

典型系统如InfluxDB就是一个开源分布式时序、事件和指标数据库,目标是实现分布式和水平伸缩扩展。它有三大特性:TimeSeries(时间序列),你可以使用与时间有关的相关函数(如最大,最小,求和等);Metrics(度量),你可以实时对大量数据进行计算;Eevents(事件),它支持任意的事件数据。

列式数据库

列式数据库一般应用于大量的字符串数据,列式数据库从一开始就是面向大数据环境下数据仓库的数据分析而产生,主要适合于批量数据处理和即时查询。其优势包括:极高的装载速度(最高可以等于所有硬盘I/O的总和);适合大量的数据而不是小数据;实时加载数据仅限于增加(删除和更新需要解压缩Block,然后计算和重新压缩储存);高效的压缩率,因为存储的数据类型是一样的,不仅节省储存空间,也节省计算内存和CPU,非常适合做聚合操作。

典型系统如Cassandra、HBase、SybaseIQ、HPVertica、EMCGreenplum等。

HBase–HadoopDatabase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。

HBase是GoogleBigtable的开源实现,类似GoogleBigtable利用GFS作为其文件存储系统,HBase利用HadoopHDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;GoogleBigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。

键值数据库

即Key-Value存储,简称KV存储。它是NoSQL存储的一种方式。它的数据按照键值对的形式进行组织、索引和存储。

KV存储非常适合不涉及过多数据关系业务的数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。典型的产品有Redis、DynamoDB等。

Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis与其他key-value缓存产品一样具有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

Redis不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储。

Redis支持数据的备份,即master-slave模式的数据备份。

图形数据库

图形数据库不是专门用来存储图形图像的,而是因为其用图状结构来维持其数据之间的关系,所以叫做图形数据库。

在图数据结构中,只有两种基本的数据类型,即节点(Node)和关系(Relationship),节点可以拥有属性,关系(Relationship)也可以拥有属性,属性都是以键值对的方式存储,节点与节点的联系通过关系(Relationship)进行建立,他们建立的关系是有方向的。

Neo4j、Sones就是其典型代表。

Neo4j是一个高性能的NoSQL图形数据库,它将结构化数据存储在网络上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到

1
查看完整版本: 管理数据命根子的数据库种类越来越多,有哪