成功案例

首页 - 成功案例 - 成功案例

【案例】数据库国产化之路

2021-07-08 发布

openGauss商业发行版Vastbase解析

作者:黄晓涛

数据库作为三大基础软件之一,具有很强的通用性,其研发难度也是极高的。目前国内外市场,关系型数据库是主流。而关系型数据库产品的研发,欧美国家从上世纪七十年代就开始了。而国内则是从上世纪九十年代才开始的,迄今为止国内已经有超过两百家企业涉足了数据库内核研发的领域。近年来国产数据库产品也逐渐成熟,但由于错过了国内IT蓬勃发展的前十多年,导致要抢占市场份额还是非常困难的。据不完全统计,我国数据库市场装机量超90%是国外产品,包括众多厂家商业和开源以及不同架构形态的产品。

国产数据库要想逐渐扩大市场占有率,当中的困难是有多方面的。产品自身的成熟度自然是最重要的,数据是IT系统的血液,数据库出现异常直接影响整个业务系统的可靠性,所以数据库的稳定可靠是首要的考量因素。然后就是性能问题,其中包括了硬件和软件方面。从2000年以来国内IT蓬勃发展,一直都基于全球最先进的软硬件产品支撑着社会的高速发展。反观国内目前硬件算力和软件优化程度与国际先进水平还有一定差距,而我们的社会行为和服务基本都已经IT化,若不加考虑强行更换,可能会导致相应的社会服务出现一定程度的倒退,这是不可接受的。再者,数据库更换可不是一件简单的事,即使是再轻量级的业务,应用系统与数据库之间有大量的交互,其操作指令很可能是专有的。比如Oracle就拥有大量特色功能,这些功能和语法对于开发者来说方便、简单、高效,对程序员极为友好。但这些都不是标准的,也就是说更换了数据库可能就无法使用了,这意味着应用程序就得修改源代码。由于Oracle的专有功能覆盖了SQL语法、函数、对象、数据类型、PL/SQL语法、接口等方方面面。这些特性几乎充斥着整个应用程序,软件开发商修改代码的成本太高了。这也就是为何十多年前就有“去IOE”(IBM小型机、Oracle数据库、EMC存储)的说法,但是O却一直去不掉的重要原因之一。

产品成熟度方面,近年来全球开源技术的高速发展,也把国内的产品在质量上狠狠地推了一把,平均质量也到了可用水平了。在众多国产数据库中出现了非常特殊的一员,华为将他研发了10年历史的高斯数据库开源出来,成为openGauss开源数据库,并成立了开源社区。openGauss开创了国产数据库发展的一种全新的发展模式,一改过去各厂家独自发展的方式,在开源社区中互惠互利共同完善openGauss,对代码的成熟度和可靠性提供了一条全新的更可信的发展道路。该社区中除了华为以外,还有多家拥有雄厚研发实力的数据库厂商在其中共同发展,其中具有代表性的如海量数据,公司从成立以来便坚持以数据库为核心业务,去年更是将自研数据库产品的内核更换为openGauss形成新一代的数据库产品Vastbase

对于性能方面,全球ARM架构处理器近年来进步很快,国内以华为鲲鹏920尤为出色,在SPEC的基准测试中可以看出其算力水平已经跟Intel至强珀金系列相当了。由于CPU指令集和芯片组的设计都拥有自己的特色,上层应用若想充分发挥出鲲鹏CPU的性能就需要进行深度的适配。可惜这并不容易,我们能看到一个普遍现象,在多路CPU的国产服务器上,各种国产数据库基本上都无法使用70%以上的CPU资源。这是由于服务器主板上每颗CPU各管理一部分的主内存,CPU指令访问亲和内存的效率远比非亲和的要高。所以华为在研发高斯数据库的时候就对鲲鹏平台进行了深度优化,研究出了NUMA-Aware技术,防止跨NUMA组的访问,极大程度提高了CPU利用率。甚至包括指令集级别的优化,锁机制的优化等等众多优化技术,使得openGauss的内核在鲲鹏平台上的交易性能是同类型产品的两倍以上。硬件算力的提升加上软件内核的深度优化,使得鲲鹏CPUopenGauss的内核这一组合极具性价比,这消除了用户进行数据库国产化的关键顾虑,有力地加快了各行业应用系统数据库国产化的进程。

据前述分析,国外商业数据库的诸多特色功能严重阻碍了数据库国产化的进展,所以数据库的兼容性就变得尤为重要。过去曾有过一些产品使用中间层进行语法转换,但这仅仅只能对部分SQL语法进行转换。实际上涉及到应用系统的功能覆盖了数据库的众多模块,包括存储引擎、SQL引擎、PL/SQL引擎、函数、系统对象、接口甚至开发容错等等。因此要使得数据库迁移的过程变得更简单,让应用系统代码少改甚至是不改,就必须要从整个数据库内核的各模块着手考虑兼容问题。而海量数据的Vastbase数据库就是从实际用户和项目需求出发进行了全方位增强,其中最重要的功能之一就是兼容性,这使得Vastbase自发布以来在众多国产化替换项目中表现优异。其中一大优势就是应用迁移简单平滑,代码改动量极少,平均数据库迁移加应用适配时间低至两周左右,很大程度上的扫除了数据库迁移的障碍。

再者Vastbase配套的集群组件让Vastbase的高可用架构的RTO降至5秒以内,而行业平均水平是30秒左右,已经非常接近Oracle RACTAF(透明应用失败转移)极致水平了。这使得系统整体的可靠性大幅度提升,从业务连续性角度来说基本可以满足各行业99.9%的业务需求了。此外,Vastbase在易用性和安全功能上有众多的提升,充分考虑到了用户日常运行的各种情况。

到目前为止,鲲鹏加Vastbase的联合方案已经在众多行业的顺利实施落地了,如金融、能源、政府、制造等,其中不乏一些关键的核心系统。实践证明,数据库国产化之路,从基础算力入手,体系化的演进将会是一份更优秀的答卷。