.

2021数据库发展研究报告

(报告出品方/作者:中国信通院)

一、数据库是信息系统的核心

获取与分析信息,是人类推动社会进步的关键过程。如何持续提高信息处理的能力,是人类社会的持续性命题。在计算机发明之后,信息可经过其电子化编码后转化为数据。人类开始探索利用计算机算力优势,实现对数据的高效存储与计算,从而大幅提升信息处理效率。人类首先尝试开发出各类特定计算机应用程序完成相关工作,但由于各类特定应用程序复用性差,人类逐渐围绕数据存储和计算功能、抽象出满足组织信息化需求、逻辑关联的数据库。

数据库是支持一个或多个应用领域,按概念结构组织的数据集合,其概念结构描述这些数据的特征及其对应实体间的联系。数据库中的数据按一定的数据模型组织、描述和存储,具有较小冗余度、较高数据独立性和易扩展性,并可为各种用户共享。数据库由于综合成本低、处理能力高,扮演各类信息系统的核心角色。

六十余年发展过程中,数据库共经历前关系型、关系型和后关系型三大阶段。前关系型阶段数据库的数据模型主要基于网状模型和层次模型,在当时较好地解决了数据集中存储和共享的问题,但在数据抽象程度和独立性上存在明显不足。关系型阶段提出关系模型概念,论述范式理论作为开启标志,期间诞生了一批广泛应用的关系型数据库,该阶段技术脉络逐步清晰、市场格局趋于稳定。后关系型数据库阶段由于数据规模爆炸增长、数据类型不断丰富、数据应用不断深化,技术路线呈现多样化发展。随着各行业数字化转型不断深入,5G、云计算等新兴技术快速发展,传统数据库的应用系统纷纷优化升级。全球市场格局剧烈变革,我国数据库产业进入重大发展机遇期。

二、数据库关键技术及发展趋势

数据库管理系统作为能够使用户定义、创建、维护和控制访问数据库的软件系统,其整体架构与技术路线不断深化发展,如今呈现集中式与分布式并存,数据模型不断拓展等技术现状。

(一)数据库管理系统典型架构

数据库管理系统由于不同产品实现细节不完全相同,此处仅对部分主流数据库产品做进一步抽象处理得出上述架构。数据库大致可以由内核组件集与外部组件集共同组成,其中外部组件集以数据库配套的独立支撑软件为主。

存储组件是负责数据持久化存储的组件,对数据库的日志、索引、堆数据等内容进行管理。在新一代的存算分离体系下,数据库堆数据的存储可能是由外部的分布式存储系统承担;计算组件又可以称为协调组件、服务组件,负责响应数据库访问请求,并将SQL语言解析成为数据库对应的内部任务。计算组件在分布式、集群等架构下也承接大部分的计算任务;管理组件用于对数据库全生命状态的管理,以及各类中心化任务承接;网络组件管理整个数据库管理系统的网络通讯的组件。数据库的网络通讯有内部和外部之分。内部一般指在集群环境或者分布式环境下的各节点之间的高速数据交换。外部一般指的是各个数据库通过对外访问协议与存在于客户端的驱动进行互联的网络交换;驱动组件是支撑数据库能正常提供服务的配套独立组件,数据库管理系统基于其通用特性,往往可以对不同语言开发的软件提供数据服务。但是由于数据库本身只对外提供网络通讯协议,对协议的封装则由客户端侧的不同驱动组件完成。

(二)数据库技术发展历程

从20世纪60年代至今,数据库的发展历程大致分为以下三个阶段:

1.前关系型阶段(-):网状层次数据库初尝探索

年开发出世界上第一个数据库管理系统也是第一个网状DBMS集成数据存储。网状DBMS的诞生对当时的信息系统产生了广泛而深远的影响,解决了层次结构无法建模更复杂的数据关系的建模问题。

同时期为解决“阿波罗登月”计划处理庞大数据量的需求,北美航空公司开发出GUAM软件。其设计思想是将多个小组件构成较大组件,最终组成完整产品。这是一种倒置树的结构,也被称之为层次结构。随后IBM加入NAA,将GUAM发展成为IMS系统成为最早商品化的层次DBMS。

2.关系型阶段(-):关系型数据库大规模应用

第一阶段的DBMS解决了数据的独立存储、统一管理和统一访问的问题,实现了数据和程序的分离,但缺少被广泛接受的理论基础,同时也不方便使用,即便是对记录进行简单访问,依然需要编写复杂程序,所以数据库仍需完善理论从而规模化应用落地。第二阶段开启的标志是一篇论文提出基于集合论和谓词逻辑的关系模型,为关系型数据库技术奠定了理论基础。这篇论文弥补了之前方法的不足,促使IBM的SanJosé实验室启动验证关系型数据库管理系统的原型项目SystemR,数据库发展正式进入第二阶段。年,Ingres原型诞生,为后续大量基于其源码开发的PostgreSQL、Sybase、Informix和Tandem等著名产品打下坚实基础。年,Oracle前身SDL成立。年,SDL发布Oracle第一个版本。

20世纪80年代,关系型数据库进入商业化时代。年,IBM发布Database2(DB2)forMVS,标志DB2正式诞生。年,Informix发布第一款产品。年,美国国家标准局(ANSI)数据库委员会批准SQL作为数据库语言的美国标准并公布标准SQL文本。年,国际标准化组织(ISO)也做出了同样决定,对SQL进行标准化规范并不断更新,使得SQL成为关系型数据库的主流语言。此后相当长的一段时间内,不论是微机、小型机还是大型机,不论是哪种数据库系统,都采用SQL作为数据存取语言,各个公司纷纷推出各自支持SQL的软件或接口。同年5月,Sybase发布首款产品。

20世纪90年代,Access、PostgreSQL和MySQL相继发布。至此,关系型数据库理论得到了充分的完善、扩展和应用,在后关系型阶段,关系型数据库仍在发展演进,从未中止。

3.后关系型阶段(-至今):模型拓展与架构解耦并存

进入21世纪,随着信息技术及互联网不断进步,数据量呈现爆发式增长,各行业领域对数据库技术提出了更多需求,数据模型不断丰富、技术架构逐渐解耦,一部分数据库走向分布式、多模处理、存算分离的方向演进。谷歌在至年公布了关于三篇技术论文为分布式数据库奠定基础,MikeStonebraker提出“onesizedoesnotfitall”并依照此理念推出多种数据模型、存储介质的数据库,数据库发展正式进入第三阶段。

数据模型不断拓展。步入互联网Web2.0和移动互联网时代,许多互联网应用表现出高并发读写、海量数据处理、数据结构不统一等特点,关系型数据库并不能很好地支持这些场景。另一方面,非关系型数据库有着高并发读写、数据高可用性、海量数据存储和实时分析等特点,能较好地支持这些应用的需求。因此,一些非关系型数据库也开始兴起。为了解决大规模数据集合和多种数据类型带来的挑战,NoSQL数据库应运而生,其访问速度快,适宜处理互联网时代容量大、多样性高、流动性强的数据。

分布式架构逐渐成熟。由于传统基于集中式数据库在应对海量数据及复杂分析处理时,存在数据库的横向扩展能力受限、数据存储和计算能力受限、不能满足业务瞬时高峰的性能等根本性的架构问题。利用分布式计算和内存计算等新技术设计的分布式数据库能够解决上述遇到的性能不足等问题。分布式数据库的数据分散在网络上多个互联的节点上,数据量、写入读取的负载均衡分散到多个单机中,集群中某个节点故障整个集群仍然能继续工作,数据通过分片、复制、分区等方式实现分布存储。每个数据节点的数据会存在一个或者多个副本,提供数据冗余。当某个数据节点出现故障时,可以从其副本节点获取数据,避免数据的丢失,进而提升了整个分布式集群的可靠性。为保障分布式事务在跨节点处理时事务的原子性和一致性,一般使用分布式协议处理。;使用Paxos、Raft等协议同步数据库的事务日志从而保障事务的一致性。分布式数据库技术架构大致可分为如下三类:

以ApacheCassandra、ApacheHBase为代表的分布式存储为基础的数据库,底层存储基于分布式文件系统具备了分片或者分区存储的能力,扩大了普通存储设备的存储系统的上限。

以Greenplum为代表的Shared-Nothing架构,通过多节点协同工作扩大分布式存储能力的同时,相应的还通过MPP架构可以支持多级并行计算处理,增强查询和分析能力。

以Kylin为代表的多维数据库产品,以及以OpenTSDB为代表的时序数据库,使用其它分布式数据库作为后台存储,通过构建相应的数据模型和索引技术,扩展成为新的数据库。

其他还包括分库分表等中间件解决方案,严格来说不属数据库系统,但是提供类分布式数据库解决方案,适用于合适的业务场景对分布式数据库的需求。

(三)数据库技术发展趋势

大数据时代,数据量不断爆炸式增长,数据存储结构也越来越灵活多样,日益变革的新兴业务需求催生数据库及应用系统的存在形式愈发丰富,这些变化均对数据库的各类能力不断提出挑战,推动数据库技术的不断演进,总结起来体现为三个方向:1)多模数据库实现一库多用、利用统一框架支撑混合负载处理、运用AI实现管理自治,提升易用性、降低使用成本;2)充分利用新兴硬件、与云基础设施深度结合,增强功能、提升性能;3)利用隐私计算技术助力安全能力提升、区块链数据库辅助数据存证溯源,提升数据可信与安全。

1.趋势一:多模数据库实现一库多用

后关系型阶段,数据结构越来越灵活多样。面对这些多种结构的数据,应用程序对不同数据提出了不同存储要求,数据的多样性成为数据库平台面临的一大挑战,数据库因此需要适应多类型数据管理的需求。多模数据库支持灵活的数据存储类型,将各种类型的数据进行集中存储、查询和处理,可以同时满足应用程序对于结构化、半结构化和非结构化数据的统一管理需求。未来在云化架构下,多类型数据管理是一种新趋势,也是简化运维、节省开发成本的一个新选择。

2.趋势二:统一框架支撑分析与事务混合处理

业务系统的数据处理分为联机事务处理与联机分析处理两类。企业通常维护不同数据库以便支持两类不同的任务,管理和维护成本高。因此,能够统一支持OLTP和OLAP的数据库成为众多企业的需求。产业界当先正基于创新的计算存储框架研发HTAP数据库,其能够基于统一套引擎同时支撑业务系统运行和分析决策场景,避免在传统架构中,在线与离线数据库之间大量的数据交互。

3.趋势三:运用AI实现管理自治

面对大规模数据和不同的应用场景,传统数据库组件存在业务类型不敏感、查询优化能力弱等问题。目前有研究通过将传统数据库组件用机器学习算法替代,来实现更高的查询和存储效率,自动化处理各种任务。机器学习算法可以分析大量数据记录,标记异常值和异常模式,帮助企业提高安全性,防范入侵者破坏,还可以在系统运行时自动、连续、无人工干预地执行修补、调优、备份和升级操作,尽可能减少人为错误或恶意行为,确保数据库高效运行、安全无失。

4.趋势四:充分利用新兴硬件

最近十几年,新兴硬件在经历学术研究、工程化和产品化阶段发展,对数据库系统设计提供了广阔思路。期间最主要的硬件技术进步是多处理器、多核、大内存和固态硬盘,多处理器和多核为并行处理提供可能,SSD大幅提升了数据库系统的IOPS和降低延迟,大内存促进了内存数据库引擎的发展;GPU适用于特定数据库操作加速,如扫描、谓词过滤、大量数据的排序、大表关联、聚集等操作。随着新型硬件成本逐渐降低,充分利用新兴硬件资源提升数据库性能、降低成本,是未来数据库发展的重要方向之一。

5.趋势五:与云基础设施深度结合

云计算技术的不断发展催生出将数据库部署在云上的需求,通过云服务形式提供数据库功能的云数据库应运而生。云与数据库的融合,减少了数据库参数的重复配置,具有快速部署、高扩展性、高可用性、可迁移性、易运维性和资源隔离等特点,具体有两种形态,一种是基于云资源部署的传统数据库;另一种是基于容器化、微服务、Serverless等理念设计的存算分离架构的云原生数据库。云原生数据库能够随时随地从多前端访问,提供云服务的计算节点,并且能够灵活及时调动资源进行扩缩容,助力企业降本增效。未来,数据库将深度结合云原生与分布式特点,帮助用户实现最大限度资源池化、弹性变配、超高并发等能力,更加便捷、低成本实现云上数字化转型与升级。

6.趋势六:隐私计算技术助力安全能力提升

随着数据上云趋势显著,云数据库面临的风险相较于传统数据库更加多样化、复杂化。如何解决第三方可信问题是云数据库面临的首要安全挑战。当前云数据库数据安全隐私保护是针对数据所处阶段来制定保护措施的。这些传统技术手段可以解决单点风险,但不成体系,且对处于运行或者运维状态下的数据则缺少有效的保护。近年来以同态加密等密码学为代表的软件解决方案和以可信执行环境为代表的硬件方案为数据库安全设计提供许多新思路。密码学方案的核心思路是整个运算过程都是在密文状态,通过基于数学理论的算法来直接对密文数据进行检索与计算。硬件方案的核心思路是将存放于普通环境的加密数据传递给TEE侧,并在TEE侧完成数据解密和计算任务。未来,此类数据库将围绕算法安全性和性能损耗等问题,逐步突破,进而提供覆盖数据全生命周期的安全保护机制。

7.趋势七:区块链数据库辅助数据存证溯源

数据库管理员或黑客对数据库历史记录的修改是一个经常爆发的问题。区块链具有去中心化、信息不可篡改等特征,数据库能够长期留存有效记录,所有历史操作均不可更改并能追溯,适用于金融机构、公安等行业的应用场景。区块链数据库由于要容忍节点拜占庭行为而不得不采用代价更高的共识算法成为落地应用的一大挑战。由于没有统一的协调者,如何保证区块链网络分片时分布式系统的安全性,高并发下的并行控制如何保证ACID也都是设计者不可忽视的问题。未来,提升区块链数据库性能将成为学术界与工业界共同探索的命题。

三、数据库产业发展

全球数据库产业生态成熟壮大,在发展过程中,逐渐细分出数据库产品、数据库服务和数据库支撑体系三个细分产业。

(一)数据库产业概述

数据库产品主要由关系型数据库、非关系型数据库、混合型数据库及数据库周边工具构成。数据库服务是指围绕数据库的咨询规划、实施部署和运维运营等环节,为数据库系统的正常、高效、持续、安全使用提供信息技术服务工作。数据库支撑体系由从事数据库学术研究、人才培养、开源社区、评测认证等工作的相关主体共同构成。

(二)数据库产品

1.企业主体大部分仍处于发展初期阶段

成立时间呈现两个热周期。国内由于顶层设计加码,掀起一股国产数据库的浪潮。年,大数据成为国家级发展战略。政策利好与资本


转载请注明:http://www.abachildren.com/ysty/3111.html