三个自主 | 产品自主研发:人大金仓的进化之旅
20世纪90年代开始,计算机产业飞速发展,从以研制计算机硬件设备为中心转向以数据处理和数据管理为重点。我国对于建设数据库、数据仓库和数据挖掘等应用的需求不断加深。
为保证数据的安全性、可靠性,由北京大学和中国人民大学负责开发数据库管理系统的核心层,中国软件与服务总公司和华中理工大学负责研究应用开发工具,各单位分工合作,联合研制出了具有自主版权的实用关系数据库管理系统COBASE。
源起PBASE 整体技术水平达到国际先进水平
在王珊教授的带领下,中国人民大学以COBASE为核心,以各种数据库体系结构为依托,先后开发出教学数据库Easybase,嵌入式移动数据库系统“小金灵”,以及高适应性并行数据库系统PBASE。
1996年并行数据库管理系统PBASE鉴定会
PBASE作为国内第一个并行数据库管理系统原型系统,实现了一个完整的高性能并行处理方案,具有鲜明的独创性,整体技术水平达到国际先进水平。在基于线索的并行操作算法、并行封装等关键技术上达到国际领先水平。
然而,对于市场而言,突破核心技术并不意味着可以商用,PBASE依旧不是一个产品,在数据库编程接口,包括SQL、PLSQL、JDBC、ODBC等多个领域,差距尤其巨大。
诞生KingbaseES 国产大型通用关系型数据库产品
为更好地将科研成果进行市场化转换,1999年,在王珊教授的带领下,人民大学一批从事数据库研发的学者创立了人大金仓公司。
人大金仓融合Easybase和“小金灵”的科研成果,继承PBASE自主创新的基因,以其独立自主的研发团队、技术路线和产品规划,在产研一体化的基础上,成功研制出了大型通用关系型数据库KingbaseES第一代产品,也为之后产品自主创新之路奠定下夯实的基础。
KingbaseES在诞生之初就对标国际顶级的数据库产品,希望有朝一日能够超越对手,成为世界级的伟大产品!
伟大的产品并不是生而伟大 而是在实战中“进化”而来的
在基础软件领域,没有任何一位产品的设计者能够预判可能会遇到的所有场景和需求,提前考虑到所有的问题。
真实的情况是——总是会遇到问题,再针对问题设计出合理的解决方案。既要考虑短期的成本和难度,又要考虑长期的发展。即使如Oracle这样伟大的产品也是经过了多年的实战打磨才达到今天的模样。
因此,做数据库产品是一个缓慢的、持续的过程,需要在千行百业的实践中通过不断的迭代去累积产品的能力,同时在迭代的过程中,还要保持产品的稳定和易维护,这样才能使产品在一个“正循环”的体系中不断正向演进。
知易行难,道理很简单,但是实践中却充满了挑战。为了达成这个目标,人大金仓在二十多年的发展中通过以下三个方面的构建了产品的“正循环”体系,使得人大金仓的产品能够跟随市场需求的变化不断演进和增强。
产品架构能力:实现可持续迭代、避免低水平重复的关键
对于数据库软件而言,随着需求的增多、功能的累积,代码的复杂度也在不断增加。随之而来的,是代码维护难度的不断增加,直到某一天超出人力所能掌控的地步。代码如果极难维护,那么此时产品将难以再继续迭代和发展,只能推倒重来。
如果产品要做到可持续迭代,就必须将复杂度控制在人力可掌控的范围内。而要做到这一点,就需要设计出符合“高内聚、低耦合”原则的体系架构,合理地划分模块,同时明确各个模块的边界,避免相互交叉,避免产生“牵一发而动全身”的情况,把问题控制在各个模块内部。
而要设计出来这样的架构,需要产品架构师对上层应用场景、对数据库基础理论知识有深刻的认识和丰富的实战经验,并在迭代过程中不断对架构进行重构和优化。
只有设计出满足“高内聚、低耦合”原则的优秀架构,产品的复杂度才能控制在人力可掌控的范围内,产品才能做到易维护。只有做到易维护,产品能力才能不断提升。
这就类似于盖一座100层的高楼,如果结构设计的不好,盖到三层楼时就开始摇晃,那么只能推倒重来。如果始终设计不出好的结构,那么就只能在三层楼不断地低水平重复。这样的情况下,这座100层的高楼将永远无法建成。
从1999年开始,人大金仓的核心架构师们就不断在产品架构上进行研究和投入,去学习和吸收国外优秀产品的设计思路、架构设计的技巧,并不断对比各种国外数据库产品架构设计的差异和优缺点,同时在项目实战中针对不同场景的需求去完善架构设计。在二十多年的时间里,人大金仓的产品架构设计能力得到了极大提升,具备了打造一款世界级产品的架构设计能力。这也确保了KingbaseES能够在市场需求中不断地提升能力,实现可持续发展!
研发组织管理能力:专业化分工、快速追赶国际顶流
人大金仓成立之时,国外数据库企业已经发展了超过20年的时间,从某种程度上说,“出发即已落后”,因此“追赶”成为金仓的首要任务。而要追赶对手,需要有大规模的研发能力。只有比对手跑得更快、产出更多,才有可能追赶上对手,才能获得超越的机会!
一路走来,人大金仓的研发体系从最初的师傅带徒弟的手工作坊模式,逐步发展形成为按照专业化分工打造的流程化、自动化、工具化的,面向大规模研发团队并行工作的研发管理体系。
就像特斯拉公司能够大规模、低成本生产汽车一样,数据库研发也需要构建类似的体系并辅助各种工具去提高研发效率,在研发产出上超过对手。
从无到有,从零到一。人大金仓在吸收外部先进经验的基础上打造了具有金仓特色的研发管理体系及周边配套的工具,使团队的研发效率和产出得到了极大提升,确保了在近几年面对大规模需求冲击时,研发团队依然能够保质保量地完成任务,以最短的时间和最低的成本去解决用户的问题。
这项能力的打造,让人大金仓速度更快、成本更低地实现了产品新能力的构建。在日积月累的过程中,不断缩小了与国外领先者的差距。
质量保证能力:测试自动化工厂是最强的蓝军
对于数据库这样的基础软件而言,稳定性是第一位的,但由于国产数据库产品处于“追赶”过程中需要快速的修改代码进行迭代,这就和“稳定性”的目标产生了冲突——因为只要修改代码就会产生bug,这是无法避免的。
如何在快速迭代的同时,还能杀死bug带来稳定,成为必须要解决的问题。
在产品修改代码后,对产品所有功能进行全量回归测试,成为最终质量把关的手段。但全量回归测试带来的是巨大的工作量,如果靠手工操作,一次全量回归可能需要几个月的时间,时间成本十分高昂,也无法满足客户的时间需求。
在这样的情况下,构建全量回归测试的自动化工厂成为解决问题的关键。所谓自动化工厂,就是测试工程师通过开发代码来模拟各种访问数据库产品功能的操作,同时模拟各种可能产生故障的极限场景,并由服务器自动运行这些测试用例,实现对数据库产品所有功能在所有场景下的全部回归。
在二十多年的时间里,人大金仓组建了一支强有力的自动化测试团队,他们是金仓的蓝军。他们通过不断制造各种故障场景来考验KingbaseES这支红军,通过蓝军的千锤百炼,使得产品在出厂之前得到充分检验,避免重复错误的产生。这项核心能力的打造,确保了KingbaseES产品在快速迭代的同时还能保持良好的稳定性,进一步增强了用户使用KingbaseES的信心。
深入行业,在实战中成长 每一行代码皆可掌控
坐在家里永远设计不出来好产品,只有深入行业、深入用户才能切实了解用户使用的真实场景和需求。产品代码写得好不好,质量高不高,最终要在实践中去验证和提升。
从2008年国家电网的核心电力调度系统D5000开始,KingbaseES就开始了这场苦修之旅。金仓的工程师们花费了一年的时间,把D5000从Oracle数据库迁移到了金仓数据库中,系统中5000多个存储过程的迁移,Oracle语言兼容能力得到了极大的提升!
2016年,金仓数据库在光大银行对公负债和中间业务系统中开始应用。在这个过程中,要解决的问题不只是迁移,同时还要解决用户遇到风险可回退的问题,为此开始设计双轨并行的策略——金仓的Kingbase FlySync产品也因此诞生!
2020年,中国移动网间结算系统上线,作为金仓在巨型运营商的第一个核心应用,这个过程让团队感受到了什么是运营商级别的要求,什么是“割接”?金仓的产品能力在细节方面还要有哪些增强?
2022年,某市14号线列车监控系统上线,金仓为此设计了双网冗余的策略,以及跨网切换的模式,使金仓的产品能力得到了进一步的提升。
医疗、金融、交通、能源、国防……随着各行各业的深入,也带来了各种需求和场景的涌入,使得金仓的产品能力能到充分验证,进而形成了产品持续优化的正反馈机制。所谓“每一行代码皆可掌控”,正是金仓在实战中真刀真枪历练后的结果!只要给金仓行业实践的机会,就没有解决不了的问题。
跟跑、并跑、领跑的产品策略——后发先至 成为数字时代标准的制定者
“一流的企业做标准”,在数据库行业,行业的事实标准是由国外的先进企业制定的,国产数据库产品多在遵从国外数据库制定的标准?为什么不脱离国外的标准,自建新的标准体系呢?
在数据库领域,事实标准究竟是什么?事实标准本质上是国外数据库企业在解决客户问题时形成的解决方案,这些解决方案经过长期的验证打磨逐渐成为了最佳实践,进而在软件开发商和用户侧的认知上形成了共识,成为了成本最低、效果最好的优选路径。
所以标准是各种试错和总结之后形成的最优路径共识。如果要超越对手,就需要先学习对手,走一条跟跑、并跑、最终领跑的道路!
跟跑,在产品功能上兼容并蓄,学习国外各种数据库已经形成的最佳实践,减少试错的时间和成本,快速缩短与国外产品的差距。
并跑,在国外数据库也未触及到的数字化新场景和新领域中探索解决问题的最佳实践,进而形成产品能力和事实标准。
领跑,在中国数字化的无人区,探索和构建新的满足数字化要求的新能力,最终形成“新标准”!
国产数据库产业发展史上的金仓印记
四十余年的技术深耕,二十多年的产业发展,人大金仓始终坚持原始创新和兼收并蓄相结合的产品发展策略,构建了支撑产品可持续发展的正循环体系,为人大金仓“进化”出世界级的中国数据库产品奠定了坚实基础!
在百年未有之大变局的当下,人大金仓作为数据库领域国家队从未止步。无论经历多少风雨和磨难,金仓都不会放弃初心和使命!KingbaseES也将乘势而上,奋勇前行,终将超越对手,将中国数据库产品立于世界之巅,成为世界卓越的数据库产品与服务提供商!