赵 刚,蒋文丽
(1.武汉大学动力与机械学院,武汉 430072;2.兴业数字金融服务(上海)股份有限公司杭州分中心,杭州 310051)
关系数据模型于1970年由Codd提出,并在System R、Oracle等系统中实现[1-2]。基于关系数据模型的数据库技术已主导数据库领域近半个世纪,近年来,随着互联网技术的飞速发展,纯粹的关系数据模型难以满足各类数据存储和访问需求,于是出现图数据库(如Neo4j)、XML数据库(如MarkLogic)、Key-Value数据库(如Redis)、文档数据库(如MongoDB)等多种不同数据模型的数据库系统,就市场占有率来看,关系型数据库仍是主要的领导力量。
尽管关系型数据库有其完备的理论和技术基础,但其在面对大量事务并发读写、大表的列式数据分析、海量数据存储与检索、非结构化数据存储与检索等情况时,显得效率低下,因此人们不断探索新的数据库技术,以便适应各种应用情境,具体体现在以下几个方面。
传统数据库采用行式存储方式组织表数据,即一行中的数据在存储介质中以连续存储形式存在,尽管此存储方式有很高的读写性能,但在发生表结构变更时,可能由于存储块容量不足导致大量的行迁移。数据仓库场景中,基于行式存储的select col_list from table_name等SQL语句会引发大量的数据块读取,导致效率低下。相比较,基于列式存储方式的引擎逐列存储数据表可以很好地应对此场景,受到业界普遍支持。未来,数据库技术应支持混合式的行、列存储方式,以适应不同的应用情境[3]。
在互联网信息爆炸时代,诸如WEB数据、日志数据、音视频数据等非关系模型数据随处可见,若将此类数据强行拆分成关系结构而存储,不仅影响信息表达,也不便于后续扩展。因而,大量学者认为,将非关系模型引入关系型数据库,使之相互取长补短,符合数据库技术发展方向。如Oracle数据库引入XMLTYPE数据类型及相关API,以支持XML数据存取[4],不仅可以保持关系模型中数据的一致性处理优势,也可充分利用XML数据的快速扩展特性。
传统数据库系统大多基于磁盘存储,数据的修改、访问等操作需要经过缓存-磁盘两个阶段,数据库的大部分工作在缓存池、日志中处理[5],而真正的数据增删改查所占负载很低。近年来,随着DRAM价格的逐渐降低,其容量越来越大,将整个数据库载入内存中,使提供实时、高效的OLTP服务(In-Memory DBMS)成为可能。当前,工业界已开发出多款商用内存数据库,如TimesTen、Altibase等。相较传统基于磁盘的数据库,此类数据库可提供更快、近乎实时的事务处理能力。特别是TimesTen,其不仅可以作为独立数据库使用,也可作为Oracle数据库的缓存与其配合使用。通过测试比较,内存数据库的事务处理能力普遍比传统基于磁盘的数据库快至少一个量级[6]。
传统模式下,企业为其自身IT应用购置基础设施并组建机房,随着全球互联网的进一步发展,越来越多的企业需要走出国门为全球用户提供服务。此情形下,传统数据库因数据过于集中、硬件扩展能力受限等因素逐渐成为企业IT发展的瓶颈。近年来,随着分布式与云计算技术的发展,数据库上云(云数据库)成为业界研究热点[7-9]。借助云计算的力量,云数据库可提供庞大的存储能力与计算资源,方便快速伸缩扩容。为适配云计算的特点,数据库本身需要进行相关改造,如分库分表、数据加密、数据容灾、跨节点迁移等。
随着版本的迭代与需求的变化,数据库系统越发复杂,难以维护。近年来,数据库使用人员迫切希望系统能更加智能,以便能接管一些简单的运维工作,如索引创建、内存调优等。因而,伴随AI技术的进一步发展与商用,将其引入数据库系统,实现数据库的自主运维与调优成为业界研究热点[10]。如ORACLE公司推出的19c数据库,能自动根据历史查询记录创建索引,并根据机器学习建模推演数据库负载。
该类型是未来数据库技术发展的目标。数据库是信息技术领域三大系统软件之一,为适应不断发展的软硬件技术,应对不断变换的业务需求,数据库技术需要不断更新换代。随着AI、数据挖掘、非易失存储器(NVM)、云计算等技术的不断成熟,支持HTAP的智能化云数据库将成为未来数据库技术的目标与核心。AI技术可基于数据库历史统计信息预测未来工作负载与操作,从而进行自主性的运维与调优。数据挖掘技术可根据不同数据信息进行分析推演,找出其中规律,指导后续决策。NVM技术可使数据库从基于慢速磁盘的存储方式中解脱。云计算技术可为数据库提供大规模计算、快速扩展、跨地域容灾等能力。在上述技术的联合推动下,支持HTAP的智能化云数据库将成为新一轮数据库技术的发展目标。
数据库技术处于百家争鸣的繁荣时代,各类开源数据库、非关系型数据库层出不穷,极大丰富了数据库的应用情境。此过程中,新旧技术相互补充和配合,共同为数据库技术的发展做出贡献。我国作为计算机应用大国,尽管起步较晚,但在市场与国家政策的推动下奋力追赶,逐渐在数据库领域占得一席之地。未来,需要更加努力研究并完善数据库技术,顺应时代发展潮流,占领信息化时代高峰。