广告

国产化数据库的改造应用,助力数字家庭千万级终端管控

2023-09-15 中国移动 阅读:
RMS是由智家中心自主研发,属于省级数字家庭产品线的重点产品,掌握100%知识产权。其面向省级网管人员,实现网关和机顶盒的管理功能;面向省内代维及客服系统,输出终端设备操作能力。

近年来,中国移动融入国家科创大局,坚定国产化指导战略,加快自主能力创新。中国移动智慧家庭运营中心(简称智家中心)深耕数字家庭领域,数字家庭管理平台团队积极响应国家和集团公司的核心软件国产化和自主可控要求,依托终端管理模块(Remote Management System,简称RMS)进行去Oracle数据库(简称去O)信创研发工作。

痛点问题

RMS是由智家中心自主研发,属于省级数字家庭产品线的重点产品,掌握100%知识产权。其面向省级网管人员,实现网关和机顶盒的管理功能;面向省内代维及客服系统,输出终端设备操作能力。

图1  RMS功能架构图

RMS以往采用Oracle作为核心业务数据库,虽然满足了作为重要生产系统数据库的稳定性要求,但近年随着国际形势变化,自主可控的号召越来越深入人心。各省随着设备和业务量的增长,对数据库的性能要求也愈来愈高,当前的数据库方案存在诸多风险:

  • 高额成本:按照现网各省平均需要2台Oracle服务器算,每台32C的一年license费用大概150w,则各省数据库成本约为300万/年。
  • 性能瓶颈:Oracle数据库不能分库分表,单台服务器算力不足。
  • 安全性弱:使用Oracle数据库存在被美国“卡脖子”制裁的可能。

然而,想要实现安全高效地切换数据库,也存在以下难点:

  • 改造成本高:一般去O过程需要在数据库层面一次性改造完成,涉及大量业务SQL的改动,且需要一边改造一边适配新的业务需求,相当于双数据库兼容开发,整个去O过程周期长、风险大,改造成本很高。
  • 切换有风险:在现有的持续运行的系统下切换数据库数据源,切换数据库语法,相当于开着飞机换引擎,稍有不慎将会影响现网的业务。

解决方案

为解决上述问题,RMS的重点工作包括数据库的选型、分库分表方案策略的规划、服务资源的规划以及千万级数据同步的割接方法的设计等,并基于MyCAT痛点开发深度分页、数据源动态切换、分库直连查询等能力来提升开发效率与SQL执行性能:

缩小改造成本,兼容Oracle、MySQL与TiDB 

针对数据库去O的国产化产品,目前主流有2种方案,基于PostgreSQL和基于MySQL。考虑到MySQL基于主键索引组织的表更适合大量频繁查询和修改操作,更适合业务需要,以及国内MySQL生态更加繁荣完善,所以国产化的第一步开源适配决定采用基于MySQL的方案。

但由于Oracle公司已经收购MySQL,所以社区开源版本MySQL只是临时过渡选择。因此,团队还适配了TiDB,即目前国内领先的开源HTAP融合型分布式数据库。TiDB兼容MySQL的大部分功能,因此业务层面的SQL基本不用改动,在现网省份落地过程中可以做到业务层的快速适配。

实现数据库切换平稳迅速

为了确保平稳切换,在去O过程中Oracle与MySQL双库并行运行,功能上完全相同,同时支持表维度分批迁移表数据,可使去O的过程更加平稳可控。并支持持续演化,无缝对接原生HTAP融合型分布式数据库。按照现网去O经验,一般通过2到3个小版本快速迭代开发,2个月内可完成整个去O数据库迁移,相比传统去O大版本节约一半时间。

性能稳中有升

为了提升开发效率与SQL执行性能,支持采用MyCAT中间件对MySQL进行分库分表,或者直接采用性能更加优异的TiDB原生分布式数据库。其中,TiDB支持水平扩容,具备强一致性和高可用性,在满足OLTP传统事务型处理基础上,支持OLAP分析型需求,性能优异。以上2种方案都支持水平扩容,做到了性能稳中有升。

为了克服MyCAT带来的不支持大表查询问题,在应用层进行了分库直连汇总结果和深度分页查询汇总结果。常规分页查询连续页的时候会产生大量重复计算,千万级规模大表分页查询性能极差,容易造成接口响应超时。深度分页加入自主可配的索引字段作为查询条件,记录每次查询结果的最后一行数据的索引值,数据库可以根据索引跳过之前查询的数据,避免了大量重复计算。另外,根据不同的业务场景,还提供了数据库直接连接和数据源动态切换等组件,以满足各种场景下的业务需求。

图2 深度分页流程图

图3 分库直连查询流程图

图4 数据源动态切换流程图

安全可控

引入数据库的自治能力,实现数据库自动化和智能化运维。通过工具KSH周期性采集数据库的会话历史和各种负载信息,采用工具KWR快速生成性能报告,重点分析连接数、IO、等待事件、TOP SQL等信息,根据分析结果对数据库进行自动化配置优化,实现数据库的平稳运行与安全可控。此外,通过此方案做到了国产化和自主可控,业务层面完全自研,保障了平台的安全性。

应用成效

经过研发、测试、预上线、调试、正式部署等一系列工作,全力打造了故障率低、故障恢复时间短、并发能力强、动态线性扩容等优化路径,加快推动了数字家庭管理平台终端管理能力全网落地,扩大了可管可控的设备管理规模。

此数据库国产化方案于2022年1月开始陆续落地重庆、甘肃等省份,纳管设备超2200万台。在各项资源和指标的监控下,目前处于良好运行状态。

历时1年半,基于高可用大流量强复用的自主MyCAT模式千万级数据管理能力终于得到认可,成为替代Oracle商业数据库的有利抓手。不仅降低了Oracle商业数据库高昂的授权费用,为省公司节约软件成本约300万/年,并且解决了扩容困难带来的性能问题,摆脱了使用Oracle数据库被美国制裁的危机。

未来推广

数据库国产化是一件改造周期长、改造难度大、改造成本高的问题,该成果在一线生产业务系统历时两年改造并平稳落地,RMS具备千万级自主数据的管控能力已经得到了充分验证,为后续国产化数据库的平稳落地奠定了良好的基础,也对其他业务系统国产化数据库改造有非常高的借鉴意义。其中基于Mybatis SQL统一拦截的实现方案,普遍试用于大多数软件项目,未来可将兼容多数据库技术方案独立成数据库组件进行推广。

作者:中移数字家庭管理平台团队

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
相关推荐
    广告
    近期热点
    广告
    广告
    可能感兴趣的话题
    广告
    广告
    向右滑动:上一篇 向左滑动:下一篇 我知道了