免费试用
作者:PingCAP
案例实践
2024-11-20

电信账务系统是电信运营商的核心系统 BOSS(业务运营支撑系统)的核心部分,属于电信行业最关键业务系统之一,承担着用户账务处理、账单生成和支付处理等核心职能。账务系统的稳定和安全运行直接影响运营商的收入和用户满意度,任何系统故障都可能导致用户服务中断,进而引发经济损失和社会影响。

作为电信行业典型的 HTAP(混合事务/分析处理) 应用场景,账务系统不仅要高效地处理大规模在线事务,还需实时分析复杂查询以支持业务决策。

鉴于电信行业对稳定性和数据安全的高要求,核心数据库系统必须具备极高的稳定性、可靠性、安全性和性能,同时拥有全面的容灾能力,确保数据零丢失。随着数字化转型的深入,北京电信加大了关键核心技术的攻关,成功实施了核心系统数据库的分布式改造,实现了从依赖 MySQL 分库分表技术栈全面向国产分布式数据库的自主可控转型。

分库分表方案遭遇困境

计费账务系统在运营商业务中处于核心地位,对数据库稳定性和性能要求也极为严苛。面对传统数据库在性能上的严峻挑战,选型的数据库需要具备云原生、分布式架构和高可靠性等关键能力。2023 年某省电信机房火灾事故进一步凸显了电信基础设施所面临的风险,电信集团将核心系统的高可用性提升至战略新高度。在这样的背景下,TiDB 通过了 POC 测试,被选为支撑该系统的数据库。

北京电信原先基于 MySQL 和 MyCat 的分库分表方案在业务耦合、资源利用、SQL 查询优化、扩缩容和高可用性等方面存在明显短板。MyCat 作为中间件实现了分库分表,但其在以下方面表现不佳,包括但不限于:系统高可用性,系统灵活扩展性,开发透明性、在线 DDL、复杂 SQL 处理 、跨分片 JOIN 处理性能、非常复杂的配置维护。

三中心高可用无惧故障

北京电信账务系统实施了两地三数据中心的数据库部署(包括北京亦庄、天津武清和北京酒仙桥),并采用了应用双活的容灾策略,满足了金融级别的高标准要求。系统实现了数据零丢失(RPO=0)和故障秒级自动切换(RTO<60 秒),能够同时支持交易和大型数据分析型应用的需求。这一实践彻底解决了分库分表方案在三中心高可用性方面的风险。北京电信账务系统因此成为中国电信省分公司中的首个案例,能够在任意数据中心出现故障时,确保数据不丢失并实现秒级业务切换,成为符合集团规范要求的典范。

北京电信账务系统三中心高可用架构示意图

北京电信账务系统三中心高可用架构示意图

北京电信自主研发的账务容灾管理平台通过增强运维的界面化和自动化,实现了对系统运行状态的实时监控。该平台针对应用层、集群层以及机房层的潜在故障,都预设了自动化的故障转移和切换策略。在遇到故障时,业务能够实现秒级无感知切换,从而保障了业务的连续性和用户的服务体验。

灵活满足业务需求提升业务处理性能

TiDB 采用存算分离的原生分布式架构,随着实际业务需求的变化,可按需分别对计算节点或者存储节点进行一键灵活扩缩容操作,且操作过程业务无感知。TiDB 的在线 DDL 机制通过并行 DDL 框架来实现在线的异步变更,确保在执行 DDL 语句时不会阻塞其他会话中的 DML 语句,从而保证数据的一致性和正确性。

TiDB 投产后业务平均处理性能实现 30% 以上的提升,数据存储空间由原先三副本 40TB 的存储空间缩减至三副本 10TB,节省了 300% 的存储成本。作为一款 HTAP 数据库,TiDB 同时满足了交易处理或大数据库分析型的业务需求,彻底解决了分库分表方案的分布式事务、大 SQL 大事务、维护复杂等问题。

应用无改造降低数据库迁移难度

在应用适配过程中,TiDB 与 MySQL 高度兼容,实现无缝迁移,极大地降低了迁移成本。TiDB 的数据分片自动透明分布,不需要分区键,避免侵入应用和代码的相关改造,同时解决了数据倾斜的问题。在数据库迁移过程中,北京电信采用了数据迁移工具 DM,实现了全量和增量数据的迁移。首先,通过提前割接资料库数据和历史数据,成功减少了当晚数据割接的时间和风险。其次,通过优化流程,当晚需要割接的数据量大幅缩减至原来的 20%,大幅缩短了割接时间。最终,整个割接窗口的时间被控制在 4 小时内,确保了迁移过程的高效和平稳。

北京电信充分利用原生分布式数据库的优势,不仅提升了关键业务系统的运行效率,还加强了业务连续性的保障,实现了技术进步和整体降本增效的双重目标。此次实践进一步增强了北京电信在核心业务系统关键技术方面的自主创新能力,并推动了业务与管理的数字化和智能化。展望未来,北京电信计划与 TiDB 深化合作,探索更多关键业务场景,将合作扩展至更多电信省份的 BOSS 计费账务等核心领域,服务电信业务的高质量发展。

共铸“金钟罩+铁布衫”

正如在通信产业网要闻中提到,TiDB 和应用开发商一起为北京电信灾备方案升级迭代,重磅打造双活容灾方案,为账务系统铸就一层牢不可破的“金钟罩+铁布衫”:

“金钟罩”般的外在防御

  • 全业务双活,无缝对接:为账务中心所有业务、数据和应用打造全面覆盖的双活运行,如同“金钟罩”的坚固外层有效抵御外在风险,当一方遇险时,备份立即补位,确保在任何情况下都能为用户提供无间断的服务。
  • 数据零丢失,秒级复原:高效数据备份和恢复机制保障数据在两地三中心间实时同步,一旦突发故障,系统能在极短时间内迅速切换并恢复服务,确保数据万无一失、用户体验不受丝毫影响。

“铁布衫”般的内在坚韧

  • 故障自愈,智能护航:提供自我修复和故障自愈能力,一旦检测到异常,自动将业务流量引导至另一中心,确保系统和核心应用在遭受攻击或故障时依然保持正常运行。
  • 升级不停机,服务永续:在系统升级过程中,无需停机,同时也能持续为终端用户提供无感知、连续性的服务,体现了双活系统的韧性和可靠性。
  • 国产数据库,性能卓越:系统采用 TiDB 分布式数据库,不仅满足实时交易和大数据分析的需求,还具备在线扩容、无需分库分表等多重特性,如同“铁布衫”般坚固的底层支撑,为账务系统的稳定运行提供了有力保障。

新经济行业内容专区上线,为新经济企业数据库选型和应用提供深入洞察和可靠参考路径。