数据库国产化替代面临的问题及对策研究
2018-02-07周亚洁
周亚洁
(武汉达梦数据库有限公司 武汉 430206) (zhouyajie@dameng.com)
数据库管理系统属于核心基础软件,支撑着各类信息管理应用系统,对保障国家信息安全意义重大.开发国产数据库、实现自主可控一直是中国数据库界追求的目标.20世纪70年代末,数据库技术进入中国.在几十年的发展过程中,很多业内的先驱率先学习国外先进的数据库技术,再通过消化吸收以及自主创新研制出了多种自主可控的数据库管理系统,实现了国产数据库软件从零到有的突破.
1988年,作为国内最早研究DBMS的专家冯玉才教授研制出我国第1个自主版权的国产数据库管理系统原型CRDS,驳倒了中国没有能力开发国产的数据库管理系统的谬论,并在此基础上将数据库与人工智能、面向对象、地理信息、多媒体、网络、图像、图形、安全等多个领域知识的交叉研究,研制出多种数据库管理系统的原型及产品[1].与此同时,业内很多同行也在国内开展了数据库技术的教学与研究工作.这些初具形态的国产数据库软件通过应用实践逐渐转化成真正的自主可控数据库产品.
经过多年的数据库科研经验的积累,在国家高技术研究发展计划(例如“八六三”计划)等一系列政策的支持下,一批优秀的研发成果逐渐被市场认可.2000年,在国家计委、科技部、信息产业部、总装备部、公安部等中央部委、省市政府的支持扶植下,冯玉才教授创建了我国第1个数据库公司——武汉华工达梦数据库有限公司.此后,国内陆续成立了一批优秀的国产数据库企业.国产数据库厂商通过市场化运作,10余年来不断发展壮大,在市场上取得接连突破.
近年来,国家高度重视信息安全问题,支持国产基础软件发展的力度前所未有,出台了一系列政策措施加速我国基础软件的发展.同时,受大数据和云计算服务日益扩展的影响,业界对数据库的需求大幅提高,传统企业都开始拓展数据分析和应用端的业务.根据赛迪顾问《2016—2017中国平台软件市场研究年度报告》的数据显示,2016年,中国数据库市场整体规模达92.85亿元,同比升高12个百分点[2].数据库管理系统作为信息系统的核心,是国家战略必争的高新技术,是企业信息系统必不可少的组成部分,具有巨大的市场空间.
1 国产化替代面临的问题
国产自主可控数据库经历了多年发展,近年来取得了一定市场成果,在一些关键、核心的行业、领域得到了较为成功的应用.随着国家对于信息化建设的自主可控程度的重视,近年来的信息系统建设越来越强调基于全国生态环境下的信息系统自主可控,整体系统的整合及适配是国产化未来深入和推广的关键.单一层面的国产化逐步遇到生态体系支撑乏力的问题,整合协同才能继续深入核心应用系统,以应用为角度的各类国产化产品适配是未来每个项目都会遇到的问题[3].
在此过程中,数据库管理系统软件与国产自主可控的CPU、操作系统、中间件、应用软件等上下游产品进行了大量的适配、磨合与优化工作,在多个层面解决了很多问题,基本满足了相关用户的需求.但从前期暴露出来的问题,及已有的解决方案来看,如果要更广泛地向更核心、更高端的行业、领域推广完全自主可控的整体解决方案,仍然存在诸多问题,这些问题进行归纳后主要有以下6个方面.
1.1 数据库性能
从前期已有的各类应用试点的实施过程来看,自主可控环境下存在着性能不足的问题,这一问题在CPU、操作系统、数据库、中间件等各环节普遍存在.对于数据库而言,用户所面对的性能问题的原因也较为复杂,常见的有:数据库软件针对自主可控CPU+操作系统进行优化不足;数据库软件在一些功能的技术实现上采用了通用的,但更依赖CPU计算能力的方法;CPU,IO设备等硬件能力不足;应用程序针对自主可控环境下的数据库优化不足等.
针对这些性能问题,数据库厂商一方面需要向应用开发商提供技术支持,使应用程序采用良好的数据库设计与优化方法,同时也需要对部分数据库的内部实现机制进行优化,提升自主可控数据库在自主平台下的性能表现.
1.2 生态融合适配
自主可控软硬件产品起步较晚,整体的功能、性能、可靠性等表现与国外生态体系相比尚有差距,因此现阶段处于快速迭代阶段,存在着新型号、新版本更新较频繁的现状.这一现状对于快速提升自主可控生态的产品技术水平有较好的帮助,但同时也造成自主可控软硬件生态成员的融合适配处于不稳定的状态.
可以预见在未来的一段时间内,新的CPU型号、新的整机配置、新的操作系统版本、新的数据库、中间件版本会不断涌现,因此需要对新的CPU、操作系统、存储设备等产品进行及时的兼容适配和优化工作.
另一方面,随着云计算、大数据等技术趋势的发展,预期自主可控产品在未来几年将同样面临云化、大数据处理的需求.如何将现有的自主可控数据库产品与云计算和大数据需求进行结合发展,也将成为紧迫的问题和需求.
1.3 应用的开发移植
对于应用开发人员而言,一方面由于长期使用Oracle等软件产品,已经使得开发人员对相关产品产生了“粘性”.这体现在对特定的SQL语法、特定的编程开发接口、应用开发框架、形成的大量基于国外数据库的可复用的组件等.另一方面,对于成熟的数据库产品而言,保证对主要标准的符合性是保证满足绝大多数应用系统的基本条件.因此对于自主可控数据库而言,需要在保证主要标准符合性的前提下,尽可能降低应用系统开发人员的学习和迁移成本.
1.4 关系数据库的扩展能力
关系数据库的高可扩展在以前仍然是一个相对冷门的话题,在大数据和云计算时代到来之前,传统的数据库应用场景所需要的数据库扩展能力主要指的是Scale UP能力.而通过集群进行横向扩展则仅限于Oracle的RAC技术,绝大多数场景下也仅仅需要2~4个节点的规模.
互联网的发展带来了云计算和大数据时代,在此背景下,数据库也开始面临横向扩展问题.尤其是党政、核心行业的大数据应用场景下,如何使得数据库能够通过横向扩展以满足超大规模的数据存储、计算要求,成为数据库发展的一个重要方向[4].
国产自主可控数据库近年来在大规模并行处理(MPP)数据库方面做了很多工作,形成了一些相对原有系统扩展能力更大的产品和方案.但由于自主可控生态产品固有的性能起点较低(如同样是12个节点的MPP,基于X86上的MPP数据库集群性能显著优于基于自主可控CPU上的MPP数据库集群),系统对于扩展能力就提出了更高的需求.
1.5 规模系统的运维能力
由于国产自主可控数据库产品长时间在相对低端的应用环境中进行推广,因此对于数据库系统的管理和运维需求相对较弱.但近年来随着自主可控产品在更多核心行业的应用,系统规模越来越大、系统对运维的要求也越来越高.传统的基于图形界面的、一个实例一个实例的操作方式,已经不能满足大规模数据中心等场景下的运维需求.用户对于数据库管理运维已经提出了运维管理集中化、自动化的要求.
1.6 信息系统安全问题
相对于国外数据库产品,自主可控基础软硬件在可控安全方面有一定优势,尤其是在国家信息系统的安全设计方面,具有更全面、更完善的安全机制设计.这一优势在后续的产品技术发展过程中应需要保证投入,以维持现有的高水准.
但同时,随着自主可控信息产品的更广泛应用,大量的第三方安全厂商、白帽子黑客等技术力量,将对自主可控软硬件产品的漏洞挖掘工作投入更多的关注和精力,因此更积极地与相关厂商进行联系合作,更紧密地与国内各大漏洞平台进行沟通协商、更及时地处理外部发现的安全漏洞,进行补丁开发和版本升级工作,已逐步成为保证自主可控基础软硬件高安全能力的重要任务[5].
2 国产数据库的应对策略
国产数据库要实现国产化替代,就需要从多个技术方向进行技术研发和技术更新,以应对出现的需求和问题.概括而言,主要有以下几个方面.
2.1 并发控制与数据缓存技术
关系数据库的一大应用场景是联机事务处理(OLTP)类业务.其典型特点是高并发、短事务、低延迟.因此需要数据库对并发控制机制进行优化,以有效提升高并发环境下的事务吞吐能力;缓存机制的改进,特别是针对高并发环境下的缓存读写冲突、热点争用的改进,能够有效缓解并发冲突,提升整体性能[6].
国外数据库产品在并发控制和数据缓存方面已经非常成熟,尤其是以Oracle为代表的产品,依靠其并发控制和数据缓存机制,能够支撑大规模的并发访问,在银行、电信等高端应用场景下能够稳定高效运行.而国产数据库在这方面则仍有一定差距,也是中高端业务场景对自主可控产品的顾虑之一.
2.2 读写分离技术
读写分离技术(如图1所示)是面向高并发,且具有“读多写少”特点的应用场景的高性能、高可用解决方案.通过将大量读操作分散到多个从节点,写入操作集中在主节点,基于日志进行主从实时数据同步,以保证数据一致性的思路,能够很好地降低自主可控服务器上的业务负载.
国外数据库产品尚没有成熟的、产品化的读写分离集群产品.但读写分离的思想已经在各大互联网企业,如Facebook、阿里巴巴等,基于中间件层面和应用层的设计,得到较为广泛应用.
而数据库层实现读写分离更有优势,一方面有更好的性能,另一方面可以实现对应用程序的透明,使得传统企业用户、党政办公用户也能够在性能相对较差的自主硬件平台,利用读写分离技术实现高性能并发业务的支持[7].
图1 读写分离架构图
2.3 行列融合技术
行列融合存储引擎是指在存储引擎层面,同时支持行存储表与列存储表2种格式的存储.同时相应地在SQL引擎层面,对不同格式的表访问操作进行封装,以相同的内部数据包提供数据供SQL引擎使用,从而实现屏蔽存储差异的目的.
行列融合是保证数据库能够支持联机事务处理(OLTP)和联机分析处理(OLAP)混合型负载的重要技术.传统的数据库或偏重OLTP,或偏重OLAP.但随着大数据、云计算的普及、业务场景的复杂化,用户对OLTP和OLAP混合负载的诉求也逐步增加,成为新的趋势之一.
传统的数据库厂商如Oracle,采用了磁盘上的行存储+内存中的行列混合存储的路线.而EMC的Greenplum则直接采用了行列融合技术.在处理混合负载方面都具有不错的效果.国内产品普遍单一支持行存或列存,为满足未来的用户需求趋势,有必要向行列融合发展.
2.4 查询优化技术
关系数据库的传统核心技术也是优势性技术之一,即为查询优化技术.查询优化技术的本质是关系代数与计算机架构设计的结合.如何在关系代数等价的前提下解出最高效、最优的查询路径即是查询优化技术的核心目标.在具体技术细节上,查询优化技术涉及到成本建模与分析、连接查询、SMP并行计算、索引结构设计、矢量批量计算等.可以说查询优化技术是关系数据库永恒的基础技术之一,永远处于不断改进优化的过程中.
国外数据库产品的代表Oracle,SQLServer具有成熟、完善的查询优化机制.自主可控数据库在多年发展之后也积累形成了较为良好的查询优化机制.但在一些场景下仍然有进一步改进的空间.
2.5 自主可控生态兼容适配
自主生态的兼容适配是自主可控产品能否实现整体替代的关键因素,涉及到自主可控产品之间的适配能力,以及自主可控生态本身是否完整.
国外的硬件、基础软件之所以成为主流,成为难以替代的产品,核心因素就在于其生态的成熟和完整.一方面各个环节合作非常紧密,产品间的深度适配优化已经成为常规性的工作;另一方面生态覆盖面极其广泛,从硬件到软件、从底层到高层都得到覆盖.
因此未来需要自主可控生态圈相关厂商通力合作,对于数据库而言,未来需要针对自主计算机平台、自主大数据平台、自主存储设备、自主的云计算方案等进行紧密合作,具体工作包括以下内容.
多平台支持:持续对各类新型号、新版本的自主可控CPU、计算机整机、操作系统等进行兼容适配.
大数据方案兼容:与第三方HADOOP,HBASE等方案完成兼容适配,使得自主可控平台具备协同处理大规模结构化数据、非结构化半结构化的能力.
存储设备访问优化:针对主流的自主存储设备,与存储设备厂商一起,通过缓存优化等手段,提升自主数据库在自主存储设备上的IO吞吐性能.
文件系统访问优化:与操作系统厂商一起,通过OS底层访问接口优化,提升数据库访问文件的性能.
云计算技术(虚拟化):与国内主要云计算厂商进行合作,完成自主可控数据库与虚拟化技术(如KVM)、容器技术(如Docker)、云操作系统、云管平台的兼容适配、优化工作.满足云计算模式下的自主可控市场需求.
2.6 产品标准化与开发技术兼容性
在自主可控数据库产品技术不断更新的过程中,需要对数据库的主要技术标准,如SQL92标准、JDBC3.0标准等进行持续验证,确保对相关标准的高度兼容能力.对于在不断更新的标准,如JDBC4.1,JDBC4.2等后续新标也逐步实现兼容.同时为降低应用开发人员技术迁移的成本,需要对替代Oracle等涉及的接口及SQL语法进行兼容.
国外产品也有典型的标准+兼容发展路线,例如IBM的DB2就宣称支持90%的Oracle语法.基于Postgresql发展的EnterpriseDB,也走标准化+Oracle兼容的路线.因此这一方向是具有较普遍的市场认可度的.
2.7 分布式存储技术和数据库集群技术
1) 分布式存储技术.在关系数据库的分布式计算方面,普遍采用数据库节点自行管理数据的方案.但这种方案存在着扩展能力有限、数据规模支持不大的问题,并且导致在线扩展节点的代价非常高昂.分布式存储技术的引入能够有效解决上述问题,并简化整个分布式数据库集群的体系结构,提升产品扩展能力和可靠性.
将分布式存储技术引入分布式数据库集群在工程上有诸多实践,类似的机制在NoSQLNewSQL方向也有应用(如FaceBook的Presto等).但成熟的、产品化的关系型数据库成果在国内外都没有.目前业内对这一方向预期较高,前景看好.
2) 数据库集群技术.数据库集群的主流形态有2种:一种是面向OLTP场景的共享存储集群;另一种是面向OLAP场景的无共享分布式计算集群.
共享集群是通过增加节点来有效提升数据库高可用、高并发处理能力的途径.由于存储是共享的,因此数据一致性相对容易保证,在此基础上,通过多机负载均衡,能够在特定场景下有效提升系统性能.
共享存储集群是关系数据库技术的最高点.目前国外产品中,仅Oracle的共享集群在技术、市场2个方面上取得成功;同时Oracle共享集群也成为用户对Oracle的最重要依赖技术之一,是属于“杀手锏”级别的特性.
分布式存储基于现有MPP对计算与存储的解耦,使得存储单独成为一个无共享的存储集群,采用软件定义存储(SDS)的方式,研发实现大规模的分布式文件系统,并封装提供数据库所使用的POSIX接口,以达到存储实现动态横向扩展效果的目的[8].
MPP技术主要通过设计实现一系列分布式计算通信操作符,在多机间实现数据和计算任务的协作分发,从而达到对单一分析请求的多机并行计算的目的,提供更好的分析查询性能.
无共享存储集群国产产品已经有一定的发展基础,但与国外先进产品相比,在扩展能力、性能表现上仍然有一定差距,需要通过架构优化等方式进行改进.
2.8 运维集中化、自动化技术
集中式运维的主要诉求在于降低大量数据库实例进行运维的工作量.在大规模数据中心环境下,通常会部署数十上百的数据库实例,每个数据库的常规维护操作如数据备份、性能监控在这种规模下会形成巨大的工作负担,从而造成人员开支的上涨.通过集中化、自动化的运维中心,结合每个实例上的agent服务,可以对大量实例进行批量式运维管理.同时对于大规模的集群,如数十上百节点的MPP集群部署,如果依靠人工方式,一台一台设备地进行初始化和安装配置也将浪费大量时间,并容易出错.集中式运维能够将大规模集群的部署工作批量化,保证效率和正确性.
国内自主数据库产品正处于市场升级的阶段,对于运维能力要求的升级,也迫使国产厂商必须考虑大规模数据库实例运维的集中化、自动化问题.
2.9 数据库安全技术
我国信息安全标准有两大体系:一是源于美国TCSEC(橘皮书)的等级保护体系(等保);二是源于ITSEC(CC)的安全评估保证级(EAL).在国际上,ITSEC是作为TCSEC的替代标准出现的,美国、欧盟诸国的现行标准均为ITSEC,且该标准已通过ISO成为国际标准.国外的数据库如Oracle,DB2,SQLServer都先后通过了TCSEC和ITSEC的不同等级的认证,其中Oracle提供了最高的安全等级产品[9].
我国在20世纪80年代几乎同时引入了这两大标准体系.因此在我国2个标准都是现行的安全标准.近年来,数据库领域的安全标准开始了修订工作.原有的等保标准在新的标准草案稿中,已经基本吸取了大量ITSEC的思想,新标目前已经进入送审阶段.因此在未来5年我们预期数据库安全标准有较大可能出现较大幅度的更新.针对这一趋势,自主数据库厂商应该对相关标准的变更进行及时跟进和响应.
3 国产数据库的应用现状
在大数据、云计算技术的推动下,用户对数据的重视程度不断提升,IT系统建设日益完善,数据日益成为了一种海量资源,这对国内数据库企业来讲既是挑战,也提供了体现自身价值的机遇.近年来,我国政府高度重视信息安全与自主可控,行业内掀起去“IOE”浪潮,国产基础软硬件迎来发展高潮,这是国产软硬件产品实现国产化替代的良机.除了早先的达梦数据库、南大通用数据库、人大金仓数据库、神舟通用数据库以外,国内多家企业也开始涉足数据库行业,山东瀚高数据库、浪潮顶天立地数据库等都是其中的后起之秀.而国际数据库巨头甲骨文、微软、IBM等纷纷向云服务商转型,其中IBM将其旗下Informix卖给了国内的南大通用、华胜天成等企业,改头换面后也成了国产数据库.
目前传统的国产数据库市场除了达梦数据库有限公司(以下简称达梦公司)以外,其他厂商多采用基于开源技术或者直接购买包装的方式.和这些数据库厂商不同,达梦公司采取了循序渐进、自主研发的技术道路,掌握全部源代码,在推广应用中不断完善产品,逐步推进国产化替代.
达梦公司和中国航信共同建设的中航信电子客票系统就是典型案例之一.2014年,经科技部、工信部批准立项,中航信启动了基于国产安全可靠基础软件的民航客票交易系统项目.作为提供全流程的票务自动化处理的核心交易系统,此次着手建立的新一代电子客票系统是一个为航空公司、代理人、旅客提供全渠道销售的信息化系统,服务范围覆盖海内外,承载着全球第三的业务处理量,为国家重点监管的行业信息系统之一.该系统对安全性、可靠性、扩展性、性能及信息化成本控制等等都提出了高标准、高要求.
本次电子客票系统国产化投产,这个项目要把原来运行在Sun、惠普Unix服务器、甲骨文数据库上的电子客票应用,迁移到基于国产服务器、中标麒麟操作系统、航信TODE中间件和达梦数据库构成的软硬件平台.这意味着除了CPU之外,所有的软硬件都是国产的,对中国民航核心信息平台的升级换代和网络安全保障具有重要的里程碑意义[10].
达梦公司针对本项目的特点提供了安全、可靠、可扩展的保障方案.采用自主原创的达梦数据库管理系统DM7,从数据库管理系统本身解决安全短板问题.在数据库替换过程中,为了保证系统的平稳过度,达梦公司从系统工程角度出发,采取了逐步替换、从易到难的替换策略,从而最大限度地保证了客户应用的可用性.
电子客票系统具有365×24的不间断运行的特点,其数据库必须具备高可用性.达梦公司通过技术开发,攻克了高并发压力下持续稳定服务、同构数据库故障切换时间小于 60 s、异构数据库故障转移这三大技术难题.从2015年达梦数据库首次在中航信系统下的航空公司上线以来,数据库运行稳定,无故障发生,完全满足了中航信“对于客票系统,可用性需要达到 99.99%”的要求.
基于达梦数据库的中航信民航客票交易系统是核高基应用示范项目.达梦公司作为核高基课题的重要牵头单位和承接单位之一,经过不断地技术创新和实践应用,取得了显著成果.至此,24家航空公司电子客票系统的数据库国产化替代全部完成.整个航信系统,从开始测试到完成核心系统的替换工作,达梦公司历时近4年,最终成功完成了中航信电子客票系统的国产化替代工程.借助中航信在民航信息化领域的主导地位,推动东航、南航等其他航空公司客票交易系统的国产化应用,最终带动以达梦数据库为代表的安全可靠基础软件在民航及其他交通、旅游等领域信息化中的广泛应用.
4 结 语
目前,我国的数据库管理系统市场仍以国外品牌为主导.国产数据库要想实现弯道超车并非易事.在现阶段,产业链上下游合作仍不够紧密,部分关键行业领域,自主可控的软硬件厂商发展滞后,仍需要政府对市场加以引导,政策给予支持,要进一步促进重大行业领域(如金融、电信、能源、交通等)的核心业务系统自主可控化发展,实现基础软硬件市场的国产化替代,切实落实真正的自主可控产品技术发展.
[1]新华社. 达梦数据库: 构筑大数据中国梦[N/OL]. (2016-12-01) [2017-12-15]. http://dz.jjckb.cn/www/pages/webpage2009/html/2016-12/01/node_8.htm
[2]赛迪顾问股份有限公司. 2016—2017中国平台软件市场研究年度报告[R]. 北京: 赛迪顾问股份有限公司, 2017
[3]李叶. 国产数据库系统在电力行业的前景分析[D]. 广州: 广东电网有限责任公司河源供电局, 2016
[4]谢红. 基于“云计算”的数据库分析[D]. 贵阳: 贵州省贵阳职业技术学院, 2011
[5]梁晟辉, 陈兴宝, 王宪利. 基于自主可控基础软硬件环境保障信息联动控制应用技术研究[D]. 北京: 中软信息系统工程有限公司, 2015
[6]张晓清, 龚波, 田丽韫, 等. 国产自主可控应用性能优化研究[D]. 北京: 装备学院信息装备系, 2015
[7]江春华, 陈显龙, 罗新伟, 等. 一种基于读写分离的数据库操作方法及装置: 中国, CN201611263152.6[P]. 2017-12-30
[8]杨珊. 数据库集群技术分析和比较[D]. 厦门: 厦门软件职业技术学院, 2015
[9]郭伟. 信息安全标准与法规[D]. 成都: 西南交通大学, 2012
[10]新华社. 民航电子客票系统国产化取得重大突破[N]. 经济参考报, 2017-09-08