TDSQL 是什么:腾讯如何打造一款金融级分布式数据库
我们先初步了解 TDSQL 产品,以及它的适用场景。
首先,**TDSQL 是腾讯推出的一款兼容 MySQL 的自主可控、高一致性分布式数据库产品。**这里我们强调一点,高度兼容 MySQL——TDSQL 完全兼容 MySQL 协议,并且做到完全自主可控、数据强一致性。第二是 TDSQL 具备分布式的特性,具备一个弹性扩展、高可用的架构。在互联网行业,海量的用户流量场景很常见,如果数据库不具备可伸缩性、可扩展性,是很难应对如:电商的大型促销,春节抢红包等突增流量的场景,这些其实都是对数据库应对海量用户流量的考验。
目前 TDSQL 已经服务超过 500+的金融政企,行业覆盖银行、保险、证券、政务、互联网金融等各个领域。
我们再看一下 TDSQL 的前世今生。TDSQL 最早可以追溯到 2002 年,那个时候其实还不叫 TDSQL,它是腾讯计费平台部的一个数据库服务,当时使用了开源的 MySQL。2002 年-2007 年随着公司业务的发展,腾讯所面临的用户量的压力也越来越大。这个时候我们提出了 7×24 小时不宕机的高可用设计方案,来保证数据库能提供 7×24 小时不间断连续高可用服务。那个时候,腾讯的增值业务日渐成规模,业务对数据也越来越敏感,对数据可用性的要求越来越高,甚至平时还要防备一些像运营商的光纤被挖断等各种各样的异常场景。
**在 2007 年-2012 年,这可能是互联网时代从互联网到移动互联网的发展的快速 5 年。**当然,公司的业务也是突飞猛进。我们开始把这个高可用的数据库产品化。到 2012 年,TDSQL 的雏形就已经出来了,作为一款内部产品,开始在公司内部提供金融级的数据强一致性、可靠性服务。
从 2012 年起,TDSQL 已经在腾讯内部做得已经比较成熟,已经是一个知名的产品了,但是它一直没有对外做商业化。2014 年恰逢一个很好的机会——微众银行的成立。微众银行做数据库选型的时候关注到了 TDSQL,经过反复测试验证,发现当时的 TDSQL 已经完全具备了微众银行对数据可用性和一致性的要求。借此机会,TDSQL 成功在微众银行投产,成为微众银行唯一的数据库,覆盖了银行的核心业务。
所以说 2014 年,TDSQL 完成了商业化,也实现了私有化部署。2014 年以后,TDSQL 推广到了很多银行、金融机构,这过程中是借鉴了 2014 年 TDSQL 在微众银行成功实施的宝贵的经验。
因为在 2014 年微众银行的部署中,我们也踩了很多坑,也认识到在私有化部署环境的各种各样的挑战,并一一攻克了这些挑战。当 2014 年在私有化部署完成之后,再到 2015 年 TDSQL 上公有云,我们继续通过公有云服务打磨自己的产品。
**所以从 2012 年作为一个内部产品到 2014 年的私有化部署,再到 2015 年公有云上的部署,TDSQL 已经逐步从一个内部产品逐渐走向行业,成为一个正式对外的商用数据库。**从 2015 年到 2019 年,TDSQL 已经推广到许多银行和金融政企。但是很重要的一点是,虽然服务了很多银行、金融客户,但是在银行领域有一块比较难动的蛋糕叫银行的传统核心系统。传统核心系统数据库长期以来一直是被国外的商用数据库所垄断,比如说 ORACLE、DB2 啊,像 TDSQL 这类分布式数据库是很难介入的。
2018 年,我们关注到张家港银行有更换核心系统的需求,就此建立联系并成功达成合作,最终,2019 年,我们将腾讯这套分布式数据库系统成功应用到了张家港银行的传统核心系统。张家港行也是作为全国第一家传统核心系统上分布式数据库的银行,分布式数据库不再是只局限于银行的互联网核心、互联网银行等外围系统的尝试,而是真真正正切入到银行系统的心脏—传统核心,这也是国产数据库领域一个具有里程碑意义的事件。
所以在未来,我们也将继续“走出去”深入到更复杂、更新核心的业务系统,打磨我们的产品。
评论