全球分布式云大会是分布式云技术和商业交流的旗舰级平台,2023全球分布式云大会·北京站将于6月28日-29日正式召开,本次大会以“云智筑基”为主题,探究人工智能(AI)在大模型全新的发展风口,构建新型泛在算力网络的趋势,如何利用分布式云、分布式数据库、分布式存储、边缘云等构建新型算力网络,打造更强大的数字经济价值引擎。
本次大会来自腾讯云、火山引擎、阿里云、华为云、百度智能云、蚂蚁集团等云计算数字科技服务商,以及中国电信、中国移动、中国联通三大运营商等数技术专家,从分布式云行业前瞻性发展趋势,底层云计算基础设施突破性关键技术,分享高尖精技术和实践案例,共同打造云计算领域的饕餮技术盛宴。
在06月28日腾讯云数据库高级架构师黄平中分享了《TDSQL助力政企核心系统国产化》的主题演讲。
TDSQL产品发展路径
早期腾讯并未像较多传统企业一样选择如Oracle类型的纯商业数据库,而是从一开始就选择开源路线。2002年腾讯成立第一个数据库团队,2004年腾讯内部启动分布式数据库项目,并一直持续至2012年,在该阶段中,腾讯持续进行内部应用验证,其中包含内部的金融业务,如腾讯充值财付通及腾讯游戏等业务。
2014年微众银行上线,微众银行是一家互联网银行,全行采用了自主设计金融级高可用单元化架构,适配改造银行核心系统,为金融行业提供自主可控的核心技术力。
此后,腾讯持续深耕腾讯云开放生态,实现成熟的自研数据库在云端的产品化;超过10万客户持续打磨;助力金融企业的信息化建设和数字化转型。在2015年、2016年腾讯云陆续推出公有云版本与私有云版本。
当前,腾讯具备丰富的金融级业务系统建设经验,有能力为客户建设合规、安全、可靠的IT基础,已有大量的成熟案例,其中包含了部委、国有银行等政企行业标杆用户。
TDSQL:企业级智能数据管理平台
腾讯云数据库致力于打造企业级数据管理平台,从金融级高可靠高可用、领先的架构与性能、智能化运维管理及企业级数据安全合规等四方面赋能数字企业,释放数据生产力。
金融级的高可靠、高可用意味着数据库作为一个重要的PaaS层软件能持续支撑好业务,保障业务连续性,包含数据库服务器故障或者出现机房级的故障时,避免出现数据丢失或业务停服太久等情况。腾讯云数据库已做到99.999%以上可用性、支持跨区容灾、两地三中心、多地多中心、强同步复制、全局事务强一致性、故障自动恢复等,在高可靠、高可用方面满足大型国有银行核心系统建设需求。
第二是在架构和性能方面,在保障产品本身自主可控前提下,帮助产品实现较高性能的要求,今年三月,腾讯云TDSQL在TPC-C标准测试中性能达到每分钟8.14亿笔交易(tpmC),打破世界纪录,成本仅为同类数据库的1/3,在分布式计算、存储及管控方面实现100%核心代码自研;系列产品中包含首款全serverless架构云原生数据库,多模多态,满足更多行业场景需求。
第三是智能化的运维管理,数据库从传统的集中式到目前的分布式后,服务器的台数从一台两台变成了十几台或几十台的集群模式,对于运维或对于管理的压力是较大的,因此,腾讯云认为要通过智能化自动管理模式降低分布式场景的运维和管理操作中存在的压力,通过界面化的智能运维管理平台为用户实现一站式的全集群运维管理服务,降低分布式数据库的运维难度和使用门槛,提升用户体验。腾讯云TDSQL支持自动水平拆分、不停机弹性扩展、在线扩容业务无感知,支持全链路迁移及部署工具,助力业务平滑迁移,可视化操作和智能运维分析,可实现掌上一键管理,是企业去O的理想选择。
最后是企业级数据管理中较为核心的诉求——数据的安全合规与安全保障。腾讯云TDSQL内核支持三权分立体系;数据库防火墙、自动脱敏、强制访问控制;支持物理独享、加密、审计等系列安全方案;支持中国标准的商用密码加密算法,符合等保3和密评相关要求。
TDSQL产品逻辑架构
DSQL产品逻辑架构拆分为三部分——工具区、运维区和业务区,参照腾讯在公有云上运维经验而产生的架构设计。即通过一套运维管控平台来实现大量节点服务器的纳管操作,帮助最终用户建立自身的数据库 DBaaS,实现统一入口、统一纳管,目前在纯数据库软件部署的环境中已有一套管控管理多达 200+ 数据库服务器节点数的生产案例。
业务区通过计算与存储拆分的方式,提供多层次可扩展的高可用组件设计:计算层节点互相独立且无状态设计,便于在业务负载突增或故障情况下快速进行节点扩容提升集群的链接支撑能力;数据层通过腾讯自研的 MAR 并行多线程强同步机制实现数据的高可用管理,保障在故障时的数据不丢失,并且数据层也具备在线节点扩容能力,以应对负载提升的场景,保障在业务发展的过程中数据库成本投入线性可控。业务层还具有列存引擎,通过内部同步机制对应用提供统一的数据视图,增强了产品在部分 HTAP 场景中的复杂分析能力。
TDSQL:助力政企核心系统替换
在国产化整体建设过程中会遇到较多问题,如水平扩缩容、分布式事务处理、业务全链路分析、数据强一致性、产品组件全面高可用等问题。通过这些问题可以发现,国产化建设有一个很重要的点:一旦做全栈化的建设就将会面临一个大风险——CPU用全新国产化芯片时要选择的数据库产品是一个全新的数据库产品,这对于很多企业来说是一个大胆的举动。
因此,腾讯云针对该场景完成分布式场景下数据强一致的双轨运行方案。双轨运行方案可一云多芯,支持通用X86与国产化资源混部;分布式实例可通过 MAR 技术实现数据副本集合内部出现故障后RPO为0;业务可以双轨运行并按需切换,切换保障数据的强一致性,且整体架构设计不会影响当前经典的两地三中心架构。
此外,TDSQL高度兼容Oracle,核心系统替换主要有三个挑战:1.Oracle语法和功能需要做到全兼容;2.Oracle承载大量核心业务逻辑,迁移和适配代码量巨大;3.业务适配和测试需要细致且全面。
腾讯云 TDSQL主要从三个层面兼容Oracle:1.内核兼容,内核与驱动层面做到Oracle语法兼容,做到应用层面不改代码;2.性能兼容,复杂SQL与核心业务逻辑执行性能对齐Oracle;3.习惯兼容,应用开发习惯于周边工具做到兼容配合。
可以看出,腾讯云 TDSQL在某国有大行核心系统单元化架构的实现,该系统替换的是大机+DB2,承载的客户数约为亿级别,整体的账户数达十亿级别。这也是国内首家银行做了核心全链路国产化的验证,其中部分链路完全采用“TDSQL+中标麒麟+鲲鹏”全栈国产化建设的链路支撑。
另一个案例是携手某保险共同攻坚核心系统深度去O,这是一套典型传统企业的核心架构,其中约有近20T的数据库,大量使用Oracle的特性,就是package,在代码量上面约为300万,共计16000多个对象。
在这之中,存储过程涉及最长存储过程约为几万行到十万行左右,腾讯云在4个月中完成对应验证(到目前为止),其应用代码的修改仅仅只有不到2%的量级。通过代码的兼容性测试可发现,TDSQL与Oracle的兼容性,或者说经过评估后需要做调整的代码在该阶段就已在5%以下了,可以说TDSQL能做到很高的Oracle兼容性,这也保障TDSQL在整个切换的过程中是平滑的迁移改造,最后更是将应用代码的修改降低到2%以内的量级。
TDSQL产品特性小结
TDSQL在整体产品特性方面可以总结为4个维度。
1.世界领先的数据处理性能,TDSQL通过TPC-C官方极限性能测试,性能达到每分钟8.14亿笔交易(tpmC),排名世界第一,单位造价是友商的1/3,这也是得益于这些年来整体硬件软件发展的成果。
2. 分布式数据库能力,如高可靠、强一致、多中心多或、资源池化。
(1)高可用:数据库各层组件均具备高可用特性,发生故障后自动切换,保障业务连续性。
(2)强一致:数据副本可以保障强一致性,在出现数据副本故障时,保障数据不丢失不错乱。
(3)多中心多活:数据库架构适配多中心多活架构,保障跨中心数据副本的安全性,中心级别故障自动切换。
(4)资源池化:支持资源池化管理,根据不同业务需求划分对应规格实例,灵活管控物理资源投入。
3. 易用性——易开发、易运维、易迁移。从开发方面看,TDSQL优势在于符合SQL2016规范,兼容Oracle、MySQL、pg等开发习惯,便于上手。从运维方面看,TDSQL用图形化监控运维平台,降低上手难度,而且其内核原理相通,可快速复用已有技术栈。从迁移方面看,DBbridge迁移工具支持Oracle、MySQL、DB2的兼容评估、迁移、校验、回退。
TDSQL助力各行各业实现数据库国产化
TDSQL案例墙:腾讯云在各个行业持续推动实现数据库国产化,致力于协助政企客户完成数据库层重要链路国产化动作。