历史一直在螺旋上升,云原生数据库替代传统数据库所付出的努力,不逊于数据库诞生以来的任何一次变化。在通往新征程中,有人选择山川湖岳,有人选择戈壁沙漠,但腾讯云数据库的目标是——星辰大海。
从2006年企业应用架构互联网化开始,云原生便进入了从0到1的阶段;2016年,随着企业应用不断向云端迁移,越来越多的人开始意识到云原生的重要性, Kubernetes、Docker等一些典型技术,也是在这个时候开始向数据库应用渗透;2020年到现在,云原生数据库已经发展成为金融、政务、能源、制造等多个领域的核心应用,并逐渐向下一代云原生技术升级。
对比在已有关系型数据库基础上进行改造,使其适应云环境的方式,新一代云原生数据库明显更胜一筹。基于云特有的优势,云原生数据库从设计之初就充分考虑到云的特点,在弹性、自运维能力和资源利用率方面,为用户带来一站式体验。
腾讯云自2002年起,就在基于MySQL构建数据库体系。2007年开始自研第一款数据库产品,就是TDSQL的前身,这款数据库很好地支撑了当年开放式平台创新的浪潮。2012年,由腾讯内部业务衍生的自研数据库TDSQL正式诞生,为了满足客户上云的更多定制化需求,多款数据库产品以TDSQL产品家族的方式,共同支撑企业的不同业务场景。
01
变革与重塑,实现内核技术创新
TDSQL-C 是腾讯云在2017年推出的一款自研的云原生数据库。融合了传统数据库、云计算与新硬件技术的优势,采用“日志即数据库”的算存分离架构, 融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、高效迭代的优势 , 在百万 QPS 高性能、PB 级海量存储、Serverless 秒级伸缩等特性上遥遥领先,已为超过10万企业用户以及50万微信小程序开发者提供高效稳定的数据库服务, 助力传统企业完成数字化转型。
从具体的技术路线来看,TDSQL-C打破了传统数据库集中式部署瓶颈,提出了计算与存储分离的架构,并且可以做到面向日志的可计算和存储,真正实现了性能上的突破。TDSQL-C采用的是腾讯云数据库团队自研的TXSQL内核,100%兼容原生MySQL版本。同时,针对企业级重要场景,研发出众多核心特性,满足企业在性能和稳定性方面的需求。比如:在元数据多版本化方面,表元数据保存列的多个版本信息,用户只能看到最新的表元数据,修改列只能修改元数据,而基于TXSQL进行内核升级过后,TDSQL-C可以毫秒级完成列修改,且不受数据量大小的限制。
TDSQL-C有诸多核心特性,除了在架构方面具有得天独厚的优势,在查询性能方面也具有更卓越表现。在并行查询中,TDSQL-C突破复杂查询性能瓶颈,以多线程并行查询的方式,打破传统MySQL单SQL无法利用多核CPU的瓶颈,让复杂查询效率提升10倍以上,真正做到数据的实时性分析、结果实时可见。
值得一提的是,TDSQL-C是国内首个采用Serverless架构的云原生数据库,继1.0版本发布一年之后,TDSQL-C Serverless 2.0已全新升级。
面对用户既要成本低,又要高弹性,还要弹得稳的局面,2.0版本实现了三大特性升级:
1、集群级别的弹性。当前,一主多从集群版Serverless已正式发布,这意味着用户不只拥有之前单节点的纵向弹性,还能获得集群级别的弹性,快速向横纵多维度弹性能力扩展。
2、可释放存储。这也是腾讯云首 创的一个能力,用户可在集群无访问时间段,让数据落冷归档,而在启动时则无需等待,全量、快速恢复数据,归档存储价格比分布式存储最高可降80%的成本。很多人可能会想,当存储不用了,归档就可以,没啥了不起,但整个过程的难点在于,能不能做到秒级的恢复,并且应用是无感知状态。
3、绝对平滑弹性扩缩。扩容和缩容最难攻坚的部分就是“抖动”,不管是因为信任问题,还是因为网络原因,都会对实际业务产生影响,而基于2.0架构以及一些优化算法,包括通过一些预前分配和延后删除的机制,可确保整个过程无任何毛刺,在核心系统的稳定性上实现大幅提升。
02
降本增效,基于业务场景不断精进
当云原生数据库成为主流趋势,当Serverless数据库成为高性能云数据库之上成本优化的极致方案,越来越多的企业开始在更广泛的场景下尝试使用。
以好未来为例,作为一家致力于教育领域的公司,好未来业务广泛,包括智能出版、智能教育、智能教辅等等。但企业应用上云之后,成本没有降低,反而大幅提高。追其根本,是企业在迁云过程中会超额购买,导致资源浪费。更进一步来说,是技术治理能力不足,资源申请比较粗放,同时资源分类缺少标准规范,最终造成了成本分摊不清的结果。
找到原因后,企业迫切需要找到一款新的数据库产品,能在高峰来的时候,数据库性能表现 最 佳,而在低谷的时候能够弹性缩容,不影响业务。TDSQL-C是存算分离架构,数据库资源盘活非常快。最后,好未来通过TDSQL-C实现了降低成本的目标,但企业创新的脚步并没有停止,而是把目光转向TDSQL-C Serverless。
“我们把TDSQL-C和TDSQL-C Serverless,做了一个性能对比,以及资源使用对比。发现二者都差不多,但我们有一个离线库的场景,每个月会有两天大量去跑一些抽取的计算,耗费的CPU和内存比较高,这样的场景还是使用TDSQL-C Serverless比较适合。” 好未来数据库技术专家 李金威 表示,TDSQL-C Serverless完全是按量收费,就像用水和电一样,需要多少资源购买多少资源。
很明显,TDSQL-C Serverless基于按需使用、降本增效等方面的优势,已经得到了客户的深度认可和使用,在企业数字化转型中发挥重要价值。但有一个插曲是,在TDSQL-C Serverless1.0时代,很多人对这款产品持质疑态度,因为在传统认知里,数据库是一个有状态的服务,没有状态的服务如何快速去启停,会不会对数据有影响,是否会影响业务,大家心里没底。但在实际使用中,用户确实发现Serverless架构的独特之处,能快速弹起更高规格的资源实例,能够更灵活的计费,甚至可以做到不计费,这让TDSQL-C Serverless实现了快速增长。
在Serverless数据库快速上量过程中,腾讯企业内部的微信云托管平台、云开发平台都开始尝试合作。之后,外部客户,包括富途证券、HUPU、CHATLABS、百胜科技开始大量使用。Serverless数据库在2020年实现井喷式增长。腾讯云数据库在一边支撑客户业务的同时,一边在做优化。针对启动慢、数据快速恢复、启动链路的控制逻辑等问题,一步步去抠,包括秒级到毫秒级的耗时问题、内核,再到底层的操作系统,从不同层面进行了深度迭代。
Serverless数据库特别适合三大场景:第一,低频访问业务。比如:博客、垂直论坛、微信小程序类的应用;第二,开发测试环境。只在工作使用中收费,下班之后的夜间以及周末不收费;第三,活动类场景。在活动期间会有一个比较高的负载,但活动过后负载会降低,同时需要及时应对可能突发的高负载事件。
当然,TDSQL-C Serverless不局限于上述场景,当整个集群版Serverless发布后,其实完全可以覆盖所有业务场景,只要企业有降本增效的需求,都可以去尝试。
十年磨一剑,TDSQL-C已是高可用、高可靠、高性能、高安全以及极致弹性的代名词,是国产数据库不断创新和发展的典范,而TDSQL-C Serverless 2.0的再精进,则有效降低数据库的使用门槛,让用户不仅实现了计算层面的弹性,还拥有了存储层面的更高性价比,真正降低了数据库的使用门槛。相信,随着企业数字化转型的不断加快,腾讯云原生数据库将与更多用户并肩前行,奔向那向往已久的数智化新未来!