作者 | 张俊宝
根据国资委 79 号文件, 关键行业、关键企业被要求到 2027 年百分百完成信创替代,替换范围包括芯片、操作系统、中间件、数据库等领域。这也意味着:自 2023 年开始,企业将进入信创关键成果期,没有太多试错可能,每一个环节的选型都需要慎重抉择,才有可能在 2027 年完成信创体系的整体建立。
作为基础软件的关键一环,数据库选型一直是很多企业头疼的问题,一旦选错将会影响未来数年甚至更久的业务开展,尤其是在当前信创体系建设的关键成果期,时间紧张,更换难度极高。据相关媒体统计,国内市场当前存在二百多种数据库产品,这无疑大大增加了选型难度。
那么,如何从广泛的产品中选择一款符合信创要求的数据库,并保证其与整个信创体系的上下游完美适配?解绑 Oracle 只是其中一环,如何做到与广泛存在的 Oracle 相关服务全面解绑?更换为国产数据库之后,如何保证性能不受影响,甚至还能有所提升?这些问题,太平洋保险用了一年的亲身实践给出了答案。
1成功解绑,一年完成 80 余个重要业务全栈国产升级
作为国内金融保险头部企业之一, 太平洋保险在 2022 年底完成了 80 余个重要业务系统的全栈国产升级。据悉,太平洋保险在硬件上选用了海光芯片,在软件上选用了 OceanBase 分布式数据库和统信 UOS 操作系统软件系统。
2021 年初,太平洋保险启动了国产分布式数据库的调研工作,从 功能、性能、易用性、完整性、可移植性、可靠性、扩展性、安全性等指标进行综合评估,最终选择用 OceanBase 进行数据库的升级。
一方面,作为自 2010 年开始完全自主研发的分布式关系型数据库,OceanBase 连续 10 年稳定支撑双 11,如今已应用于超过 1/4 国内头部金融机构,高可用、高性能、在线扩展等已经完成验证, 高度兼容 SQL 标准和主流关系数据库,并且成本相对较低。
另一方面,OceanBase 本身已 与信创体系广泛的上下游完成了适配,可以在企业内部与其他国产软硬件高效协同。
不仅如此,太平洋保险还希望替换传统数据库服务器,包括 OLTP 以及 OLAP 类型的应用,解决服务总体拥有成本高以及每年维保费用高的问题。
借着将数据库升级至国产数据库的机会,太平洋保险还希望 建立分布式数据库服务能力体系,提升 IT 中心对于分布式数据库从设计、开发、质量到运维的技术 自主掌控能力,真正用好分布式数据库技术,实现企业整体降本增效的目的。
如上诉求意味着,太平洋保险需要准备好传统数据库生态产品替换的全套方案及相关预案,新的数据库不仅要支持过去所有的业务数据架构,还要能够面向未来具备可扩展性。
2全面迁移:交易成功率达四个九,性能全面提升
数据库选型确定后,由太保集团数智研究院、P17 项目组、数据库团队与 OceanBase 厂商组成的联合攻坚组,共同协作进行技术和项目攻坚,共梳理出 321 个 oracleJob、176 张 cognos 报表、665 项视图改造、15 项五千五百多处语法兼容改造,以及针对 DS 的数据导入导出组件重构等。 攻坚组用国产分布式架构彻底替代传统商用主备架构,重点破除数据库与操作系统、中间件之间的耦合。
“我们厂商跟用户侧希望达到的效果是 稳定与原数据库兼容,给到用户侧信心,让双方的工作变简单,变得标准化、流程化、制式化,使双方降低人力投入。”蚂蚁集团 OceanBase 华东区金融技术服务总监郭文谈道。
在标准化兼容过程中,项目组从寿险、科技到产险,到健康险和后续的养老险,已经实现了数百套系统的落地实践;制定 33 类标准规范和 28 类最佳实践,打磨出 16 款数据库的专项工具,攻坚各项难点,最终实现目标。
在建设整体分布式数据库服务能力体系时,项目组从数据库应用设计、存储、转储等方面优化出了全栈信创分布式数据库功能架构。
具体而言,项目组对于 OceanBase 应用设计原则是尽可能让数据访问、操作在内存中完成,每天定期合并释放 memstore 内存及删除记录空间,最大限度减少写放大、读放大。基于 OceanBase 存储架构,项目组在设计集群时核心业务系统集群独立部署,控制集群租户数量、合理利用分区优化数据生命周期管理,以最小化容灾、备份数据集,减少转储次数进而减少非计划合并次数,避免读毛刺现象。
在 P17 系统迁移过程中,“指南针”扫描出了约 6000 个改造项。如果采用人工方式进行排查,平均每 2 个问题需要 1 小时。对比来看,“指南针”为单个项目节约人力成本 12.6 人月。
“OceanBase 存储的压缩性能非常卓越,很省硬件成本”,太保集团数智研究院首席数据库专家林春解释道,保险企业都有很多大数据库,面临很大的分布式改造压力,但是迁移到 OceanBase 后不用再做分布式改造了,又能做到数据资源密集利用,非常有价值。
OceanBase 无损容灾、异地多活技术和混合负载(HTAP)的高性能分布式计算引擎能力再一次经受住了考验。据悉,项目组将 Paxos 一致性算法运用于数据库主备副本之间的同步,实现了在多数派副本正常的情况下保证数据不丢失和服务不中断(RPO=0,RTO<30);通过 改进 LSM 树解决了集中式数据库无法平衡“性能”和“压缩”的难题,降低了海量数据存储的成本;通过向量化引擎、优化器改写优化能力和大规模分布式并行执行技术显著提升了处理性能。
OceanBase 让太平洋保险对于数据库系统有了更强的掌控力。林春表示:“ 选择一个国产的分布式数据库,最重要的就是技术兜底能力。那么,bug 的修复就是技术兜底能力一个很好的印证。如果你没有对内核的掌控,没有办法以这么快的速度修复 bug。” OceanBase 400 多万行代码都是自己一行一行写出来的,蚂蚁集团 OceanBase 副总裁王爽谈道:“完全自主研发,完全可控,我们不依赖于任何一个开源软件。”
从 2022 年 12 月 18 号至今,P17 核心系统已经成功运行了 200 多天,确保 太平洋保险交易成功率达到了 99.99%。过往,很多人对国产数据库的评价是:需要几个不同的数据库组合在一起才能达到原来一个传统数据库的性能。如今,太平洋保险使用 OceanBase 数据库实现了寿险交易系统的替换,监管报送批量场景性能提升 3 倍。
现在,太平洋保险全栈信创数据库已投产上线并在稳定运行。据悉,在保持高运行性能、高可用能力的同时,太平洋保险数据库软件维保费用大幅降低,设备投入也得到节省。其中,OceanBase 的高级压缩技术,结合“数据库瘦身”,让太平洋保险的 存储容量平均节省 80% 以上。与此同时,太平洋保险分析型数据库的 数据加工处理能力提升 10 倍,构建起了全面的实时数据处理和服务能力。应用系统方面,太平洋保险全栈信创数据库的弹性扩缩容、处理速度、数据加工能力均实现大幅提升,为集团数字化转型打下了坚实的技术基础。
在蚂蚁集团 OceanBase 副总裁王爽看来:“信创不是简单替换,关键是带来的好处是什么?我们认为集中式数据库或传统的数据库转向分布式数据库,是一次对 系统实现升级的机会。我跟很多用户聊过, 目前分布式数据库的性能已经不是问题,稳定性才是所有升级的第一要素。信创首先是‘创’,然后才是‘信’。创是一定要有创新,信是可控,所以我们认为实现可持续的自主可控才是符合信创标准的产品。”OceanBase 满足了“数字经济”时代各行业数字化转型对基础设施架构的新需要。