数据库的分类有哪些?

数据库的分类有哪些?

最佳答案 匿名用户编辑于2023/07/28 17:13

根据数据结构、架构模型、业务负载特征的不同,数据库可划分为不同类别。

1.按数据结构分类:关系型、NoSQL、NewSQL

数据库的数据结构类型随存储需求变化而不断拓展。最早的数据存储需求主要来源于结构 化数据,因此数据库产品多采用关系型架构,主流产品包括:Oracle、MySQL、PostgreSQL 等;2000 年以后随着互联网应用的快速普及,产生大量非结构化数据的存储需求,NoSQL 数据库快速兴起,主流产品包括 Redis、MongoDB 等;后来为解决 NoSQL 数据库缺乏强 一致性及事务支持的问题,NewSQL 数据库逐步发展,主流产品包括:Spanner、TiDB 等。

1)关系型数据库

关系型数据库是由多个二维表所组成的集合。关系型数据库,是指采用了关系模型来组织 数据的数据库,数据以行和列的形式进行存储,这一系列的行和列被称为表,一组表组成 了数据库。表格之中每一行通过独有的主码(Primary Key)来区分彼此,每一列都拥有统 一的数据类型,外码(Foreign Key)通常与主码(Primary Key)一起使用,用于建立表与 表之间的联系,通过匹配外码以寻找相应的行。

关系型数据库具备 ACID 特性,为主流数据库类型。关系型数据库严格遵循原子性 Atomicity、 一致性 Consistency、隔离性 Isolation、持久性 Durability(以上简称 ACID 特性),在维护 数据库完整性、数据一致性方面优势突出,适用于对数据安全性、事务支持高度要求的应 用场景。1)原子性:为避免不同指令之间的冲突,数据库中的事务执行被视为原子不可再 分,指令要么全部成功执行,要么失败而保持原状;2)一致性:为确保业务逻辑一致性, 数据库设置约束与触发器保证数据库完整性,任何事务看到的数据总保持一致;3)隔离性: 数据库通过加锁,保证事务之间相互隔离,从而避免脏读、幻读等;4)持久性:为避免数 据库丢失等意外事故,数据库所有指令都将会被永久保存,不会被回滚。

2)NoSQL(Not Only SQL)数据库

NoSQL 数据库尝试解决关系型数据库的扩展可用性缺陷。不同于关系型数据库,NoSQL 数据库只遵守 BASE 模型:基本可用 Basically Avaliable、软状态 Soft state、最终一致性 Eventual consistency:1)基本可用:当系统出现故障时,NoSQL 数据库不像关系型数据 库一样进行强制拒绝,而是允许损失部分可用功能或降低响应速度,以保证核心功能可用; 2)软状态:在处理数据过程中,允许数据状态出现暂时不一致的情况;3)最终一致性: NoSQL 数据库只追求最终的结果一致,数据处理的过程中暂时不一致将被允许。NoSQL 数据库解决了关系型数据库刚性架构的拓展性缺陷,NoSQL 的动态架构可实现横向扩展。

NoSQL 数据库更适用于海量数据的快速读写场景。NoSQL 概念早在 1998 年就已经被 Carlo Strozzi 提出,21 世纪初才进入规模化发展阶段,主要原因在于 2008 年互联网进入 Web 2.0 时代,大量非结构化数据出现,数据量呈现指数型增长,传统的关系型数据在非 结构化数据处理、海量数据快速读写、数据库扩展等方面的劣势逐渐暴露,因此,基于 BASE 特性的 NoSQL 架构被重新提出并得到快速发展,MongoDB、Redis、HBase 等 NoSQL 数 据库逐步进入大众视野,并实现了在电商、社交网络、搜索引擎等领域的应用落地。

常见 NoSQL 数据库主要包括键值型数据库、列族数据库、文档数据库、图数据库: (1)键值型数据库:适用于内容缓存,如会话、配置文件、参数等。其扩展性高,灵活性 好,大量操作时性能高,但数据无结构化,查询方法单一; (2)列族数据库:适用于分布式数据存储与管理,将同一列数据存在一起,可扩展性强, 查找速度快,复杂性低,但功能局限; (3)文档数据库:适用于存储文档数据,数据结构灵活,但缺乏统一查询语法; (4)图数据库:适用于图像数据、社交网络、推荐系统,专注构建关系图谱,支持复杂的 图形算法,但只能支持一定的数据规模。

3)NewSQL 数据库

NewSQL 数据库实现关系型数据库与 NoSQL 数据库的优势整合。尽管 NoSQL 数据库处 理数据的速度快,常用于处理海量数据,但 NoSQL 数据库并不遵守 ACID 原则,无法满足 事务一致性要求。2011 年,Matthew Aslett 提出 NewSQL(可横向扩展的 OLTP 关系型数 据库)概念,2012 年谷歌公司发布 Spanner 与 F1 论文,用原子钟和 Truetime API 解决分 布式问题,推动 NewSQL 快速发展。NewSQL 架构旨在整合关系型数据库与 NoSQL 数据 库的优势:1)保留 NoSQL 数据库对海量数据处理的速度与可扩展性;2)采用以 SQL 为 主要接口的关系数据模型,保持传统关系型数据库的 ACID 特性。 近年来 NewSQL 数据库快速发展,主要包括三类发展路径:1)基于全新的架构设计,代 表产品为 Google Spanner、SAP HANA;2)基于分片中间件,代表产品为 ScaleArc;3) 基于云服务商的 DaaS(database-as-a-service)平台,代表产品为 Amazon Aurora、ClearDB。

关系型数据库与非关系型数据库各有千秋。对比来看,1)关系型数据库:严格遵守 ACID 原则,具备较强的约束性以及数据完整性,利于数据库的管理的同时也导致数据库难以扩 展,在业务快速发展的信息时代存在一定的成本劣势;其二维的数据结构减少了数据的冗 余,但读取海量数据效率不理想;作为传统数据库,关系型数据库发展时间长,技术成熟, 学习成本低;2)NoSQL 数据库:遵守 BASE 原则,相较于关系型数据库,更便于扩展, 储存模式简单,查询速度更快;但其极高的可用性在一致性上做出了妥协,使用成本较高 且不利于管理,相关技术具备较高的成熟度;3)NewSQL 数据库:在底层解决了事务一 致性问题,并整合了 NoSQL 在可扩展性、可用性上的优势,但 NewSQL 技术较新,学习 成本较高,且目前大多 NewSQL 只适用特定场景,距离普及还需要一定时间。

2.按架构模型分类:集中式架构、分布式架构

集中式数据库指将信息存储、维护在单个位置的数据库。集中式数据库利用系统中心的服 务器统一管理所有资源,对数据进行集中储存及管理,并由一台机器作为服务器。由于集 中数据库的所有数据仅存储在单个位置,因此在数据访问、协调、管理方面具有突出优势, 同时相较于其他数据库成本更低,为大多数企业最开始的选择。但随着数据存储需求的变 化,集中式数据库的缺点逐渐显现:1)难以扩展:只能通过提升硬件性能实现数据处理性 能的提升;2)容灾性差:集中式数据库采用完全共享(Shared-everything)架构,一旦任 何环节发生系统故障,整个数据库系统都将无法使用。

常见的集中式数据库架构,主要包括一主多备、一写多读、多写多读三类:1)一主多备(备 用不可读):使用单台主机模式部署,其他备机为主机备份数据,并在主机宕机的情况下代 替主机提供服务;2)一写多读:一个节点提供写服务,其他多个节点提供读服务,写节点 宕机时,读节点可以代替写节点来提供服务;3)多写多读:多个计算节点共享存储,每个 节点都提供读写服务,同时采用分布式锁或集中式锁解决写冲突。 分布式架构逐渐成熟,主要解决集中式架构扩展性差的问题。不同于既重视数据库统一处 理数据的架构,分布式数据库将数据分散在多个相互连接的节点上,通过使用多台机器, 将需要处理的数据、工作均衡分散到各个节点中,各节点相互连接又能够独立工作,节点 故障不会对其他节点产生影响。因此,近年来随业务拓展与数据体量变大,分布式架构成 为众多企业的选择。分布式数据库涵盖两大核心技术:1)数据的复制/分区:通过复制或分 区实现数据的多节点存放,复制包括主从复制、对等复制,分区包括垂直分区、水平分区 (即分片);2)分布式事务:通过机制设计保证分布式环境下事务的 ACID 特性,包括两 阶段提交(2PC)、三阶段提交(3PC)、最大努力通知等解决方案。

分布式数据库技术路线选择上,都是以解决数据容量扩展问题为首要目标,主流方案包括 三类:1)分库分表+中间件:下层的单机数据库提供存储和执行能力,在多个单机数据库 上封装一层中间层补充分布式能力,以统一的数据分片规则管理分布在不同数据库节点的 数据;2)共享存储架构:计算节点独立并且共享一个不带计算功能的存储集群 (Shared-storage),采用存算分离架构,计算层和存储层都可以动态扩缩容;3)去中心化 架构:每个节点有独立的计算和存储功能,采用存算分离架构,并且节点之间不共享数据 (Shared-nothing),分布式集群的每个节点都是独立节点。

3.按业务负载分类:OLAP、OLTP、HTAP

OLAP 为分析型数据库,OLTP 系统为事务型数据库。按业务负载类型区分,数据库大致 可以分成两大类:联机事务处理 OLTP(On-Line Transaction Processing)、联机分析处理 OLAP(On-Line Analytical Processing):1)OLTP 是传统的关系型数据库的主要应用,主 要是基本的、日常的事务处理,记录即时的增、删、改、查,例如银行交易;2)OLAP 是 数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查 询结果,典型的应用就是复杂的动态报表系统。

参考报告

数据库行业专题研究:信创正当时,国产数据库发展提速.pdf

数据库行业专题研究:信创正当时,国产数据库发展提速。海外数据库厂商起步较早,20世纪90年代迅速占领我国金融、党政等重要市场,2000年起受国家政策推动,以人大金仓、南大通用、达梦数据为代表的国产数据库厂商相继面世,打破了海外厂商的垄断局面。近年来,得益于开源、NoSQL等新兴数据库技术,同时受关键信息基础设施国产化替代政策影响,软件厂商、集成商、运营商纷纷入局数据库市场,国产数据库呈现蓬勃发展态势,主要参与者包括传统厂商、云厂商、初创厂商、跨界厂商四类。据信通院预测,中国数据库市场2020-2025年复合增长率高达23.35%,2025年市场规模有望达688亿元,国产数据库市场空间前景广阔。...

查看详情
相关报告
其他答案
匿名用户编辑于2023/07/28 17:11

1)根据数据结构类型:可分为关系型数据库、NoSQL 数据库、NewSQL 数据库; 2)根据架构模型:可分为集中式数据库、分布式数据库; 3)根据业务负载特性:可分为 OLAP 数据库(分析型数据库)、OLTP 数据库(事务型数 据库)、HTAP 数据库(混合型数据库)。

我来回答