FusionInsight,fusioninsight( 二 )


众所周知,电信行业对数据库要求较高,尤其是可用性,定制化需求较多,涉及改动工作量大,而采用国外数据库,让原厂来配合改动,人家未必会配合 。因此,无奈下,华为被迫走上了开发数据库的道路,以此来提升解决方案的竞争力 。不过,2007年的GMDB并没有取得大规模商用,只在小范围内进行试用,但这个版本却锻炼了一大批人 。
当时,国内对数据库内核开发知之甚少,有经验者寥寥,都是摸着石头过河 。但有苗不愁长,到了2010年,华为数据库研发团队开始对2007年版本进行全面重构,并写下了重构版本的第一行代码:“typedef struct st_database{...}database_t;”,数据库对象的定义 。从这个版本开始,华为数据库的定位已经不再局限于内存数据库,而是在向通用关系型数据库逐渐转变,重构过程中,开始融入大量非内存数据库的特性,这就是GaussDB OLTP的前身 。
重构后的版本,质量上取得了显著提升,2012年,GMDB开始大规模商用,主要应用于电信计费领域,同时,在华为内部,众多配套的解决方案也开始使用GMDB 。对于每一个刚诞生的新产品,降落伞自己先跳,“狗粮”一定是华为自己先吃 。一位核心研发工程师对笔者说 。GaussDB对外输出之前,华为也是从服务内部客户开始 。
但在华为,内部客户远比外部客户更苛刻更残酷 。“往往只要有一点不满意,内部客户就会直接一个邮件捅到总裁或副总裁那里,连个喘息的机会都不给你,那是真的要命啊!”一位核心研发工程师心有余悸地回忆说 。在服务内部客户的过程中,GaussDB研发团队总是胆战心惊 。为了让Gauss OLTP数据库的内核变得更稳定,研发团队创造了最暴力的测试方法,并立下规矩,谁发现的问题,用例就用谁的名字来命名 。
在暴力测试方法及命名规则的双重刺激下,从刚开始几乎每半天就能测出问题,到之后一周甚至一个月才能发现一个问题 。正是这样一步步地积累下来,让Gauss OLTP数据库的内核变得越来越强壮和稳健 。因此,从2013年规模上线到2019年,6年的时间里,GaussOLTP数据库没出过任何问题,这一点让团队成员极为自豪 。
华为强大的研发平台为Gauss OLTP数据库的产品质量提供了强有力的保障 。在软硬件基础设施方面,华为过去几十年的积累非常深厚,有着整套完整的标准流程和研发支撑体系 。Gauss OLTP数据库首席架构师告诉笔者,高手毕竟是少数,一个产品的开发不能完全依赖编码高手,在团队作战的时候,一个大的研发平台至关重要,这就是华为数据库的最大优势 。
2017年,华为与招商银行开始就GaussDB进行联合创新;2018年3月,Gauss OLTP数据库开始在招商银行综合支付交易系统成功上线投产,顺利承接招商银行 “手机银行”和“掌上生活”两大App交易流水流量,日均请求量高达8500万,峰值TPS达到3500,截至目前,系统稳定运行 。如今招商银行的信用卡风警系统、零售实时风险警示系统、手机银行收支账单系统、一网通用户日志系统、客户经理平台系统、供应链金融服务平台系统、分布式交易链路追踪系统等多套业务系统已进入对接开发阶段,预计2019年底前将有17套系统采用GaussDB并投产上线 。
MPP 分布式并行踩过的坑华为真正想做数据库,把数据库作为一个完整的产品来做,其实是始于2011年底 。当时,华为成立了2012实验室,也有了高斯实验室和Gauss DB 。就在这年,华为同时启动了面向OLAP数据库的研发预演,并足足用了3年的时间来预演代码和验证架构的可行性 。研发团队分析了业界数据库相关理论和技术,在基于传统关系型数据库的SQL引擎和事务强一致性等基础上,进行了分布式、并行计算的改造 。

推荐阅读