图说TDSQL | 下一个十年的金融业务场景,腾讯怎么做?
随着互联网的不断发展和逐渐普及,各行各业也纷纷选择了上云之路,腾讯云数据库致力于运用领先技术,助力企业上云,腾讯云自研的金融级分布式数据库TDSQL 是一款具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性的数据库产品,《图说TDSQL》栏目将以图文结合的形式,带大家了解TDSQL的方方面面。
本文将为你详细解读 TDSQL 的核心特点和应用场景。
如今大部分金融业务场景的数据库使用的都是国外的商用数据库,因为其对数据库的成熟度有着极高的要求,需要经过长久的研究和测试方才值得信赖。而这些国外的集中式数据库目前已经面临着成本过高,海量业务场景无法弹性伸缩等问题。
与此同时国产数据库产品已经得到长足发展--腾讯云自研的 TDSQL 就是这样一款部署在云上的一种支持自动水平拆分、SharedNothing 架构的金融级国产分布式数据库产品。
TDSQL 的前世今生
其实 TDSQL 对腾讯来说并不是什么新东西,时间回溯到21世纪初,当时腾讯的计费产品还处于起步阶段,技术团队选择完全基于开源 MySQL 来构建数据库体系。随着开放战略的兴起,同时为了确保计费等公司级敏感业务高可用、核心数据的零流失、核心交易的零错账,腾讯数据库团队从07年开始自研了一款数据库产品,这也是 TDSQL 的前身,后来随着腾讯开放合作的发展扩大,行业场景越来越多,从2012年开始,腾讯基于"开源定制化+自研"策略构建更加通用的金融级分布式数据库产品,正式命名为 TDSQL ,目标就是确保金融级应用场景高可用、数据一致和水平伸缩。随着不断地更新和迭代一直走到现在,就是你所看到的样子。
如你所见,TDSQL 的前身是为了解决内部的计费问题,所以一直到现在,90%的腾讯金融计费业务系统均搭建在 TDSQL 上,其中就包括耳熟能详的微信支付和腾讯充值等产品业务。而如今,TDSQL 已经支持了超过500家的政企、金融机构,客户覆盖银行、保险、证券、互联网金融、计费、第三方支付、物联网和互联网+等相关领域。
TDSQL 六大核心特点
TDSQL 能够发展成现在的模样,保证各金融机构和腾讯内部90%以上的金融计费业务系统平稳运行,自然有其独特之处,下面就为大家揭秘 TDSQL 的六大核心特点。
1. 数据强一致
TDSQL 通过内核级深度优化,实现真正意义上的多副本强一致性复制,TDSQL 的跨数据中心强同步性能等同于异步复制功能,通过主备部署模式,可以实现RPO=0,即数据0丢失,这对于金融场景是至关重要也是最基础的要求;同时 TDSQL 也实现了自动化的主备强一致切换,在30秒内可以完成整个主备切换流程,实现故障RTO的秒级恢复。
2. 金融级别高可用
TDSQL 自主研发的强同步复制(Raft),确保数据能实现跨机架、跨 IDC 、跨城的容灾和数据可靠性,实现数据零丢失。在自动化容灾监测、秒级切换等能力保障下,可实现99.999%的金融级别高可用,同时经过优化,目前 TDSQL 在跨 IDC 的网络延迟下TPS强同步性能与异步性能相当,不会带来任何损耗。此外 TDSQL 还支持灵活的全球部署架构:除了支持银行业标准的"两地三中心部署架构"外,还支持"同城双中心""两地四中心" 等架构,可根据不同的机房建设,实现不同模式的高可用容灾。
3. 高性能低成本
TDSQL 的单分片最大性能可达超55万 QPS,整个实例性能随着分片数量增加线性扩展,而且不存在中间件 + 数据库方案中的性能瓶颈,即 SQL Engine 也可以做线性扩展,同时强同步性能与异步同步相当,能保证在数据不丢失的情况下,也拥有较高的性能。
4. 线性水平拓展
TDSQL 具有超强的弹性拓展能力,采用自研的自动再均衡技术保证自动化的扩容和稳定,支持在线实时扩容,整个扩容过程对业务完全透明,无需业务停机。扩容时仅部分分片存在秒级的只读或中断,整个集群不会受影响。
5. 企业级安全性
TDSQL 的安全性经过了腾讯各类核心业务10余年大规模产品的验证,包括社交、电商、支付、音视频等不同类型的产品。在灾备方面,TDSQL提供完善的数据备份、容灾、一键升级、快速恢复,以及数据库防火墙、透明加密等功能,同时建立起完善的监控和报警体系,大部分故障都通过自动化程序处理恢复。
6. 智能化运维
腾讯云提供的"赤兔"和"扁鹊"系统为数据库实现自动化运维提供了丰富的工具,极大地解决了困扰传统集中式数据库运维效率问题。
"扁鹊"系统是 TDSQL 提供包括数据采集、实时检测、自动处理、性能检测与健康评估、 SQL 性能分析、业务诊断等多种智能工具的集合,采用模块插件化无缝对接各种数据库,可以自动抓取存在性能问题的SQL,并进行智能分析提供索引优化建议,将数据库的性能问题及时扼杀在萌芽当中。在扁鹊的帮助下,DBA 可以从日常繁杂的数据库运维工作中解脱出来。"赤兔"平台从管理员视角提供 TDSQL 的全部运维功能和上百项数据库状态监控指标的展示,让数据库管理员日常90%以上的操作均可通过界面化完成,同时更方便定位排查问题。
TDSQL 三大应用场景
目前TDSQL主要适用于 OLTP 场景的业务,以下就是三个 TDSQL 常见的应用场景。
1. 超高并发实时交易场景
电商、金融、O2O、社交应用、零售、SaaS服务提供商等业务普遍存在用户基数大(百万级或以上)、营销活动频繁、核心交易系统数据库响应日益变慢的问题,这些问题制约了业务的发展。TDSQL 可以提供线性水平扩展能力,能够实时提升数据库处理能力,提高访问效率,轻松应对高并发的实时交易场景,微信支付、财付通、腾讯充值等都是使用的 TDSQL 数据库架构。
2. 金融创新业务场景
金融行业对事务处理的需求极高,转账、扣费,无一不是使用事务,TDSQL 通过经典的 XA 两阶段提交加两阶段封锁协议实现了强分布式事务,以支撑金融场景对事务管理的需求。同时采用自动化分库分表的策略,充分考虑到银行业务的特点和需求,是一款专业的为"金融交易类"场景而存在的数据库。
3. PB 级数据存储访问场景
在工业监控和远程控制、智慧城市、智能家居和车联网等物联网场景下,传感监控设备多、采样率高、数据规模大,通常存储一年的数据就可以达到 PB 级甚至 EB,而传统基于 x86服务器架构和开源数据库的方案根本无法存储和使用如此大的数据量。TDSQL 提供的容量水平扩展能力,以及 Rocksdb 等存储引擎的压缩能力,可以有效的帮助用户以低成本(相对于共享存储方案)存储海量数据。
TDSQL 客户案例
从2014年开始,微众银行抛弃了传统的IT架构,完全采用了互联网分布式架构构建核心交易数据库,部署超过1500+实例,承载全行所有 OLTP 业务。借助腾讯云提供的金融业务支撑平台,微众银行不仅实现了技术的自主可控,还节省了大笔数据中心投资成本、管理成本,以及支付损失率。详情点击 亿级客户和PB级数据规模的金融级数据库实战历程。
2019 年 9 月 12 日, TDSQL 在张家港农村商业银行正式投产,张家港行业也成为国内首个在传统核心业务场景中使用的国产数据库的银行。采用了TDSQL 的张家港行硬件成本减低到传统架构成本的五分之一甚至更低,在成本大幅降低的同时,数据库的性能也得到了大幅度的提升,预计可以满足未来十年的业务发展,详情点击 图说TDSQL | 张家港行,我是你的"破壁人"。
此外,腾讯云 TDSQL 还支撑着中国银行、富途证券等众多银行和证券保险公司的互联网核心生产系统,目前已经有500多家金融机构选择 TDSQL来承载业务数据。
经过十余年发展,TDSQL 技术持续突破,同时收获了众多来自行业的信任和认可,相信2020更将是乘风破浪,未来可期。
往期推荐
图说TDSQL | 张家港行,我是你的"破壁人"