专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

数据库类型有哪些,数据库分类及主流数据库对比

来源:小易整编  作者:小易  发布时间:2022-12-31 11:58
摘要:数据库类型有哪些,数据库分类及主流数据库对比1数据库分类1.1关系型数据库1.2非关系型数据库2数据库对比 数据库分类数据库根据数据结构可分为关系型数据库和非关系型数据库。非关系型数据库中根据应用场景又可分为键值(Key-Value)数据库...

数据库类型有哪些,数据库分类及主流数据库对比

1 数据库分类

1.1 关系型数据库

1.2 非关系型数据库

2 数据库对比

 数据库分类

数据库根据数据结构可分为关系型数据库和非关系型数据库。非关系型数据库中根据应用场景又可分为键值(Key-Value)数据库、列存储数据库、面向文档数据库、搜索引擎数据库等。

1.1关系型数据库

这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式), 如图2是一个二维表的实例。通常该表第一行为字段名称,描述该字段的作用,下面是具体的数据。在定义该表时需要指定字段的名称及类型。

数据库类型有哪些,数据库分类及主流数据库对比

图一 数据库表实例

在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上。在大型系统中通常有多个表,且表之间有各种关系。实际使用就是通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。

典型产品:MySQL、SqlServer、Oracle、PostgreSQL、SQLite等。

1.2非关系型数据库

键值存储数据库

键值数据库是一种非关系数据库,它使用简单的键值方法来存储数据。键值数据库将数据存储为键值对集合,其中键作为唯一标识符。

数据库类型有哪些,数据库分类及主流数据库对比

图2 键值存储数据示意图

如图2是某公有云的键值存储示意图,其中键包含分区键和排序键,而值包含更多的实际信息。比如实际使用是可以以学号为键,姓名、性别、年龄和班级等信息为值进行存储。实际存储形式很灵活,是业务需求自行定义即可。

典型产品:Redis、Memcached等。

列存储数据库

列式存储(column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是对表中数据的存储形式的差异。

数据库类型有哪些,数据库分类及主流数据库对比

图3 列存储数据

如图3是传统行数据库和列数据库表中数据在磁盘上的存储形式的差异对比。对于行存储数据库,表中的数据是以行为单位逐行存储在磁盘上的;而对于列存储数据库,表中的数据则是以列为单位逐列存储在磁盘中。

列存储解决的主要问题是数据查询问题。我们知道,平时的查询大部分都是条件查询,通常是返回某些字段(列)的数据。对于行存储数据,数据读取时通常将一行数据完全读出,如果只需要其中几列数据的情况,就会存在冗余列,出于缩短处理时间的考量,消除冗余列的过程通常是在内存中进行的。而列存储,每次读取的数据是集合的一段或者全部,不存在冗余性问题。这样,通过这种存储方式的调整,使得查询性能得到极大的提升。

典型产品:HBase等。

面向文档数据库

此类数据库可存放并获取文档,可以是XML、JSON、BSON等格式,这些文档具备可述性(self-describing),呈现分层的树状结构(hierarchical tree data structure),可以包含映射表、集合和纯量值。数据库中的文档彼此相似,但不必完全相同。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。文档数据库可视为其值可查的键值数据库。

典型产品:MongDB、CouchDB等。

图形数据库

图形数据库顾名思义,就是一种存储图形关系的数据库。图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。如图4这种人物之间的关系,如果用关系型数据库则非常复杂,用图形数据库将非常简单。

数据库类型有哪些,数据库分类及主流数据库对比

图4 图形数据库示例

典型产品:Neo4J、InfoGr id等。

搜索引擎存储

搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。

典型产品:Solr、Elasticsearch等。

 数据库对比

几种主流关系型数据库对比:

数据库类型有哪些,数据库分类及主流数据库对比

数据库类型有哪些,数据库分类及主流数据库对比

数据库类型有哪些,数据库分类及主流数据库对比

几种主流非关系型数据库对比:

数据库类型有哪些,数据库分类及主流数据库对比

数据库类型有哪些,数据库分类及主流数据库对比

架构设计有一句流行语:不以业务模型为基础的架构设计都是耍流氓。同样数据库选型也应该根据自己业务需求选择最适合自己的数据库。


本文地址:IT问答频道 https://www.hkm168.com/itwenda/886543.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • 数据库的substr函数用法是什么

    数据库的substr函数用法是什么

    数据库的substr函数用法:1、【substr(str,pos,len)】从pos开始的位置,截取len个字符;2、【substr(str,pos)】pos开始的位置,一直截取到最后。数据库的substr函数用法:1、SUBSTR(st...

  • 什么是数据库架构?数据库架构有几层

    什么是数据库架构?数据库架构有几层

    一:什么是数据库架构DBMS体系结构有助于数据库的设计,开发,实现和维护,数据库可以存储企业的关键信息,选择正确的数据库体系结构有助于快速安全地访问数据。二:数据库架构有几层1层架构最简单的数据库体系结构是1层,其中客户端,服务器和数据库都...

  • 关系型数据库系统事务的ACID特性是什么

    关系型数据库系统事务的ACID特性是什么

    关系型数据库系统事务的acid特性:1、原子性;事务里的所有操作要么全部做完,要么都不做。2、一致性;数据库要一直处于一致的状态。3、独立性;并发的事务之间不会互相影响。4、持久性;一旦事务提交后,它所做的修改将会永久的保存在数据库上。本教...

  • MySQL中如何快速更改数据库名称

    MySQL中如何快速更改数据库名称

    1、新建数据库centos_old.mysql>createdatabasecentos_old;登录后复制2、使用selectconcat拼成所有renametable的语句。mysql-uroot-p-e"s...

  • mysql怎么查询数据库版本

    mysql怎么查询数据库版本

    方法:1、利用“selectversion();”语句查询;2、利用“showvariableslike‘%version%’”语句查询;3、在mysql客户端中利用“status”命令查询;4、在终端中用“mysql-v”查询。...

  • 如何快速生成MySQL数据库关系图

    如何快速生成MySQL数据库关系图

    需求描述:在公司老旧系统里,数据库表很多,但是在设计之初并没有建立好关系图,导致新人刚入职,面对n个库,每个库几百张表,很不方便。例如:公司某一个系统的库有三百张表,在不熟悉项目的情况下,打开数据库看到一列列的表,很不清晰,对新入职同事很不...

  • 数据库三范式是什么

    数据库三范式是什么

    数据库三范式是:1、确保关系型数据库中的每个列都是不可再分的原子值,即每个列不能再分解出更小的数据项;2、在满足第一范式的基础上,消除非主键列对于主键的部分依赖;3、在满足第二范式的基础上,消除非主键列之间的传递依赖。数据库三范式是一种设计...

  • 如何建立数据库

    如何建立数据库

    数据是,学习编程的基本操作,下面为大家介绍一下mysql如何创建数据库。推荐教程:MySQL入门视频教程前提:电脑安装了mysql服务。如果不知道怎么安装mysql服务,可以参考www.php/mysql-tutorials-362227....

  • 周排行
  • 月排行
  • 年排行

精彩推荐