目前,AntDB 数据库已经在电信、金融、高速、邮政、政府等多个行业落地应用,客户数量超过 50 家,承载数据量超过 300TB,间接服务的终端用户数量超过 2 亿。
2020 年 11 月 19 日,某省完成核心的交易型数据库(营业库)软硬件自主可控改造,将单地市业务全部迁移至 AntDB 数据库及华为鲲鹏服务器。在自主可控难度最大的数据库方面完成重大突破,完成行业首例核心交易库软件全自主可控。
与国外成熟稳定的商业数据库相比,自主可控数据库在性能、稳定性、生态等方面仍存在一定差距,因此运营商核心库的自主可控替换必然不是简单的以库换库,而是需要用一种新体系替换旧体系,在架构、研发、上线、运维等方面全面降低对特定数据库的依赖。基于长期锻造的成熟的云原生架构能力, 及在自主可控方面的充分积累,在集团公司指导下,该省公司于 2020 年年初矢志攻克自主可控实施难度最大、业务影响最大、业务复杂性最高的营业库自主可控难题。
本次营业库自主可控实现了三大突破,为整个行业更全面的数据库自主可控演进完成了相应技术探索和储备。一是探索出自主可控的数据库架构,通过研发微库架构,在架构层面消除应用对特定数据库的依赖。二是实现了数据库软硬件全自主可控,验证了 AntDB 数据库及华为鲲鹏服务器的组合方案可以在运营商核心的交易场景中替代国外商业解决方案。三是探索出基于灰度发布能力的数据库割接方案,实现不停服、零故障的数据库割接,将更换核心库的业务影响降至最低。
本次数据库割接于白天完成全部应用发布、数据割接及相应的回归测试等主体工作,当晚23:00 开始对单地市部分服务进行降级,并进行数据校准及测试, 其间充值等核心业务不受任何影响,于 1:30 进行割接决策,3:00 业务全面恢复。整个割接过程不停服,次日实现零故障。和传统的同类割接相比,本次割接业务影响降低 99.99% 以上。
本次营业库国产化替代项目是国内运营商乃至全行业以“国产数据库(AntDB)+ 国产服务器(ARM)”取代国外成熟商业数据库和硬件设备的一次实践,也是分布式数据库产品 AntDB 在运营商核心域的第一次大规模商用。这不仅实现了数据库软硬件全自主可控,验证了 AntDB 分布式数据库可以在运营商核心的交易场景替代国外成熟商业数据库的解决方案,还探索出基于灰度发布能力的数据库割接方案,实现不停服、零故障的数据库割接,将更换核心库的业务影响降至最低。
随着数字化时代的来临,巨量数据、微服务架构、万物互联模式等都对 未来数据库形态提出了新的期许。同时,项目团队构建起了快速、灵活、弹性、创新的敏捷作战能力和服务保障体系,全面提升了电信核心场景下数据架构管控的话语权,在电信行业打造出性能和服务“双保险”的数据库国产化替代工程。
割接试点过程中推动 AntDB 分布式数据库进行 6 次版本升级,在通用语法解析基础上构建了独特的国外某款商业数据库语法解析器,实现对国外某款商业数据库语法、函数、特性等方面兼容能力,减少了超过 2 万处代码修改,大幅降低应用适配改造的工作量,部分兼容点如图 5-1 所示。

图 5-1 本次项目使用到的部分兼容点
部署架构上采用一主两备的部署模式,并启用读写分离,在有效减少主库压力的同时,充分利用了备库数据库的主机资源,操作示例如图 5-2 所示。
(1) 效果好:解决现有单体数据库无法突破的瓶颈,读写分离全面上线后,从库承担约 75% 查询量,主库 CPU 负载下降 53%,大大提升整体性能容量;验证了 5 副本的可靠性。
(2) 有差距:不是真正的分布式架构,无分片架构,扩展性受限(最佳实践,1 写 2 读 5 节点),数据存储容量偏高(相较 LSM Tree)。

图 5-2 业务对数据库的操作示例
割接前后,核心业务接口调用与国外成熟商业数据库的对比如图 5-3 所示。

图 5-3 割接前后部分核心接口耗时对比
目前,该省还在继续选择 AntDB 分布式数据库进行其他更多核心系统的数据库替换工作。




