如果要评价“令人闻风丧胆”的IT业务操作,核心数据库迁移一定榜上有名。
业内总有“删库跑路”的调侃,也从侧面说明了数据库故障对于业务的巨大破坏,以至于只能“跑路”才行。而纵观千行百业,又以金融业特别是银行业的数据库最为重要,因为这关乎着国计民生,关乎每个人的财富价值。所以,金融数据库一直被认为的最难迁移的数据库,不得已的每一次迁移也必须小心翼翼,有点“太岁头上动土”的感觉。但如今,就是有这样一批人,他们不仅敢动土,而且把这件事搞成了。
在日前腾讯举办的以“信息系统迁移的难点及突破”为主题的TechoDay腾讯技术开放日第三期活动上,与会专家们以国产迁移中系统最复杂、数据最庞大、难度最高的“金融核心系统”为典型场景,分享腾讯云在多个大型项目攻坚中遇到的具体挑战与解法,并与所有开发者共同探讨,如何更好地切换、平移、使用更好的国产化软件。其中,腾讯云资深数据库专家田清波分享了“金融核心系统基于 TDSQL 的分布式改造”心得,这也是全球首创的交易不中断的系统切换项目,堪比“空中换引擎”。
银行的数据库迁移有多难?
著名调研机构Qualtrics Group曾有一组数字,统计了数据中心宕机1分钟对于不同行业的损失,相比损失15万美元的运输业来说,在金融行业这个数字大大提升了,比如银行业的数字是27万美元,证券业的数字是45万美元……这也从直接经济角度点明了数据库迁移的巨大风险。
而在实际的操作过程中,由于银行的数据量通常非常大,包括交易记录、客户信息、财务报告等,且数据类型复杂。在迁移过程中需要确保数据的完整性和准确性,并进行充分的测试,以避免数据损失。尤其是近些年随着国产数据库覆盖率的提升与国际局势的变化,越来越多的银行希望采用国产数据库,这也为腾讯云TDSQL的普及提供了良好的信任基础。
当然数据库迁移的困难依然存在。对此,田清波在演讲中概括出了五大难题,包括规范标准的流程、分布式数据库的运维能力、弹性扩缩容、开发方式的变化预计同城多活等众多问题。这既牵涉到了在迁移过程中,由于不同数据库的结构和模型不同,需要进行适当的调整和修改,包括表结构、存储过程、触发器等问题;也提到了由于数据量大,数据迁移时间较长,且容易出现中断、错误等问题,增加了数据安全的风险。更重要的是,由于银行对于数据的安全性要求非常高,注入数据加密、访问控制、审计和日志等等都要在迁移过程中特别注意。
最核心的还是客户体验。其实无论对于银行还是对于终端客户,体验始终是最重要的,也是关乎银行口碑与业务发展的直接因素。上面我们提到的诸多技术细节,都是影响用户体验的关键,而要真正做到“客户零感知”、“体验零受损”,还要保障业务的稳定、灵活与弹性扩展,则是对解决方案提供商技术能力的多维度考验,而腾讯云TDSQL分布式数据库也正是为此而生。
TDSQL以“单元化”为大型商业银行打开数字化通道
针对银行业的数据库规模与应用特性,在实现核心系统迁移的时候主要有两种选择——单元式或微服务。所谓“单元化”,是针对大型商业银行的应用特性来说的,一般这些银行因为多IDC部署,需要做多地多活、风险容灾,“单元化”可以实现“故障域可控”、“流量自包含”可隔离等优势,突破基础设施限制的易扩展、实现流量灵活调控的及多地多活的高可控。相比之下,如果银行的规模较小,如果只是单个IDC数据存储、账户数较少的情况,则更适合采用微服务结构,这样性价比更高,架构管理也更为简单。
其实从上图中我们也可以看到不同银行客户的策略差异。对于大型银行来说,通过单元化可以有效的实现业务隔离,这样就将业务流量分散到多个单元中,即便某个单元出现故障也不影响其他单元的运行,这有点类似大型邮轮安全设计中的水密隔舱,通过分散压力提升了业务稳定性,将“鸡蛋装在不同的篮子里”。
当然单元化的优势还不止这一点。通过单元化,用户可以方便的在不同单元之间实现快速横向扩展,而同一单元内基于分片也可以实现纵向扩展与拆分,这样就突破了数据库连接数与容量的瓶颈限制,实现了跨机房、跨地域的部署。与此同时,在流量分配上也更加灵活,一方面可以根据不同单元的实时业务压力可以实现差异化的流量分配,另一方面在故障突发的时候也可以借助于灰度发布及时回切保障业务的平滑、稳定运行。
这样一来,单元化就使得银行业务实现了多地多中心部署,具备了同城双活、异地容灾等优势,也实现了快速的流量管理。至此也解决了传统架构中金融业数据库迁移的难题,通过TDSQL分布式数据库,用户可以将原有核心业务安全、顺畅的迁移到分布式系统中,这样大大方便了后续的升级和运维,节省了大量资金、人力、时间等运维成本,也为后续的数字化提升铺平了道路。
轻松满足10亿级日交易量,核心迁移让天堑变坦途
对此,某国有大型银行可谓是深有感触。一直以来,该银行使用的都是传统主机平台搭配传统数据库的方式,因为业务遍及全国,所以在核心系统迁移之间也经过了深思熟虑与多轮模拟,最终确定采用腾讯云TDSQL分布式数据库解决方案。为此,腾讯云的团队针对客户应用特性,采用单元化形式对原有架构进行拆分。
在充分评估业务指标、服务器资源等指标之后,迁移团队初步规划300万个账户为1个单元进行拆分解耦,同时基于私有云和PaaS平台实现了应用为服务化,保障了系统的并发能力 、隔离故障能力和灵活扩展能力。而针对客户最关注的安全性与可靠性,新核心系统采用典型的“两地三中心”部署架构、一主五备的架构,实现了同城多活、异地容灾、一键切换等需求。
仅实现架构迁移还远远不够,腾讯云还希望实现业务的高效运营。以往客户都是通过传统的“主机+数据库平台”的方式管理业务,而这样的结果就是一笔很小的业务却可能就需要超过100个SQL语句,定位速度慢效率低,这也不符合未来数字化发展的新需求。为此,腾讯云提供了全链路性能针对方案“扁鹊”,这款方案可以结合客户的实际业务运行,通过性能分析、可靠性分析、可用性分析等一系列智能化方式,通过业务标签形式快速采集数据、定位问题、解决问题,为客户提供“最短路径”,提升业务能力。
在解决了核心架构与运行效率等难题之后,剩下的就是如何帮助客户实现更高效的运维与管理。为了最大限度的帮助客户实现自动化运维,迁移团队将数据库接口与银行业务运维平台打通,这样借助腾讯云“赤兔”TDSQL自动化运维工具就可以实现全链路分布式运维。这款工具集统一管理、智能监控、一键切换、资源扩容、数据同步等功能,无论是日常的事务类管理还是紧急突发的故障管理,系统都能够在第一时间判断并给出解决方案,大大提升了运维效率。
得益于腾讯云TDSQL分布式数据库的多管齐下,帮助该客户打造了“交易级账户”、“立体化额度管理”、“多租户运营”三大核心业务能力,实现了信用卡系统支持10亿级交易账户和10亿级日交易量的目标,相比老系统的交易处理能力提升了数十倍,日终业务批处理达到了小时级,并实现了业界乃至于全球首创的交易不中断切换模式,保障了快捷、顺畅的支付体验,真正达到了“空中换引擎”的效果。
而在成本方面,这样一套业界领先的平台却大大帮助客户节省了运维成本。以5年为一个生命周期计算,新核心系统相比老系统成本节约近70%,节省费用超10亿,并具备了无限横向扩展能力,后续的升级和运维成本也显著降低,更能提升客户在未来数字化发展中的长期竞争力,而同时具备的分布式调度平台、金融级高可用、同城双活异地灾备、故障场景下秒级切换等能力,也帮助客户免除了后顾之忧。
金融机构是社会的基石之一,但要跟上挑战重重且瞬息万变的时代步伐,就需要实现数字化变革。中国人民银行去年印发的《金融科技发展规划(2022-2025年)》中,明确提出要坚持数字驱动的发展原则,提出“将数字元素注入金融服务全流程,将数字思维贯穿业务运营全链条,注重金融创新的科技驱动和数据赋能”,而要实现这一点,首先要进行的就是数据库的创新与应用。
这一次,腾讯云帮助某大型银行进行的数字化迁移,正符合这一发展趋势和要求,而事实上腾讯云分布式数据库TDSQL已服务近半国内TOP 20银行,TOP10银行中服务比例高达70%。
随着金融产业发展,数据、智能化与金融业务的连接也将越来越紧密,整个金融行业的数字化转型大潮即将到来。而如今,腾讯云已经为银行乃至金融业提供了强大的数据库核心动力,TDSQL分布式数据库也已经在全国银行遍地开花,推动整个产业平稳、快速、健康发展,为整个行业插上数字化的翅膀。