导读
数据库的发展由对性能的要求,逐步发展为对更为极致成本的要求,Serverless数据库是在高性能云数据库之上的极致成本优化方案。【墨天轮数据库沙龙-Serverless专场】邀请到腾讯云数据库产品经理陈昊,为大家带来《TDSQL-C Serverless应用与技术实践》主题分享,以下为演讲实录。
Serverlss市场现状
1、Serverless 技术发展
云数据库历经了三个时代的演变,1.0云托管时代,云产品以租户方式提供,帮助用户解决数据库运维、部署机房等问题,实现降本增效,这也是目前大部分客户所处的一个时代。2.0云原生时代,存算分离结耦提供了更极致的性能优势,带来更多资源的有效利用。3.0时代,Serverless数据库应用阶段,自动弹性能力、更加智能化的运维,极致化的成本优势提供了更为广阔的想象空间。
《全球Serverless架构市场》报告同样显示,全球Serverless架构市场的规模预计到2024年将达到140亿美元,在这段预测期内将以23.4%的年复合增长率增长,Serverless技术的热度呈现出逐渐升温的状态。
2、何为Serverless?
简单来说,Serverless=Faas+Baas,Faas为函数即服务,Baas为后端即服务。也有观点认为Serverless是云服务的体现方式,它以API的方式提供服务,呈现出弹性伸缩的能力,不需要额外支付费用。
3、TDSQL-C Serverless VS 传统云数据库
大部分用户仍然处于云托管时代,传统云数据库帮助开发者实现高可用、自动备份,将云服务的特性提供给用户。但传统云数据库在同机部署计算和存储的模式下,固定规格使得剩余资源难以利用。以双11高负载的场景为例,提前发起扩缩容的操作会导致运维效益随之大打折扣。不仅如此,固定规格对传统云数据库的计算进程常驻,无请求时仍然收费。
以下图左侧显示,一同机部署的传统云数据库存储资源使用量达到了90%,而计算空余资源没有办法分配给新的租户从而造成资源浪费。
图3 传统云数据库与TDSQL-C Serverless的对比
存算分离是实现Serverless的基础,我们采用了TDSQL-C的架构实现Serverless。在该架构下一旦存储满了,只需要横向加机器而无需关注计算状态,反之亦然。如果计算资源达到了一个瓶颈,只需要横向扩展计算节点。所以相较于传统云数据库,TDSQL-C Serverless的计算与存储解耦的架构形态可以将资源利用率尽可能最大化,跨机扩容也会更加快捷。
TDSQL-C Serverless特点与架构
1、TDSQL-C存算分离架构
TDSQL-C数据库的计算层是腾讯云自研的TXSQL内核并复用bugfix和新特性,使特性能够及时发挥出来。同时RO与RW节点也可以通过redo方式进行物理日志的同步,实现1毫秒同步到备机。
TDSQL-C存储层基于CBS打造 HiSTOR 存储平台,能够真正做到物理日志的下沉,通过DB Client来实现日志的分发。整个存储层采用三副本的模式,能够做到故障的自动迁移与数据校验。存储层就是一个分布式高可用的存储空间,我们也为用户提供了SSB、混存、EC版本,满足多种使用场景与不同诉求。
TDSQL-C存算分离的架构能够达到单节点百万QPS的超高性能,存储空间理论上也可以得到无限的高度。总结来说,TDSQL-C能够将云的技术特点充分发挥,是一款超高性能、新型的数据库。
2、TDSQL-C Serverles 架构
接下来,为大家介绍基于TDSQL-C如何实现Serverless的架构。下图所示,从上到下分为四个层级,最上层是用户访问层,下面是接入层,路由通过转发进入计算层中,TXSQL与存储层进行数据的交互。当某一时段内用户没有连接,旁边的管控平台便会起到资源实时监控的作用,对计算资源进行回收后上报给监控与计费平台,从而暂停用户计算层的收费空间。整个管控平台起到很重要的作用,它通过监控资源的使用情况来触发扩缩容。
TDSQL-C 特性
1、TDSQL-C Serverles 三大特性
我们希望用户像自来水一样使用TDSQL-C Serverless ,它是如何实现的呢?接下来我将为大家详细讲解TDSQL-C Serverless的三大特性。
第一个特性是自动扩缩容,能够像调节水龙头的大小一样控制水流速度。用户指定最大与最小规格,TDSQL-C 便在这个范围内触发自动扩缩容。业界的常见方案存在着一定的弊端,首先弹性扩缩容的监控时间对整体业务会有影响,其次面对临时的高负载任务,需要多次弹性扩容以满足业务需求,并且多次动态调整Buffer pool会对性能产生影响,对用户体验感造成折损。
一改常见方案,TDSQL-C将CPU与内存的限制放到最大的规格,管控平台起监控作用根据不同的负载来调整Buffer pool。因此我们给用户分配2核4G资源的模式,使得CPU与内存消耗在无限大的情况下,都可以快速响应使用资源的诉求。
图6 TDSQL-C Serverless 特性一:自动扩缩容
第二大特性是按使用量收费,以实际使用的负载进行计费,开发者无需为没使用到的资源付费。我们每5秒进行一次资源使用采样,单位是CCU,CCU(CynosDB Compute Unit)为 Serverless 的计算计费单位,一个 CCU 近似等于1个 CPU 和 2GB 内存的计算资源,每个计费周期的 CCU 使用数量为:数据库所使用的 CPU 核数 与 内存大小的1/2 二者中取最大值。以实际使用的负载进行计费,开发者无需为自己没有使用到的资源付费。
图7 TDSQL-C Serverless 特性二:按使用量收费
第三个特性是无使用无费用。当无数据请求时,不需要对计算资源资源进行计费。
我们给用户提供了自定义启停的能力,默认情况下(10分钟内)没有用户连接,便会回收计算资源不扣费,在这个时间段内也支持用户自定义启停时间。
图8 TDSQL-C Serverless 特性三:无使用无收费
2、链接不断转发请求能力
TDSQL-C 的链接不断转发请求能力让数据库能够快速启动不影响整体业务。接入层增加了一个恢复感知器(简称 perceptron)的模块来实现请求转发,perceptron 在和客户端握手之后,不断用户连接,恢复集群后,与 TDSQL-C 版握手,后续转发四层报文。
整体流程设计采用了两个挑战随机数进行鉴权,以实现中继模块 preceptron 不存储用户名密码的情况下也可以完成用户名密码验证,保证了用户密码的安全性,也不会引入存储密码不一致的问题。
图9 TDSQL-C Serverless 拥有链接不断转发请求能力
TDSQL-C Serverless应⽤场景与使用
1、TDSQL-C Serverless场景
对于每天夜间清理过期数据、生成报表等每个月初计算上月的账单这样负载不均衡的场景,中小企业选择固定高规格的数据库会承担更多的成本,选择小规格的数据库又会影响整体性能。面对这样的情况,serverless形态给了用户最大与最小的空间范围,在处理类似慢查询操作以及定时操作以及负载不确定等场景游刃有余。
图10 TDSQL-C Serverless 在定时任务场景使用的示意图
对于机器学习、数据训练等业务数据长期不访问的场景,TDSQL-C Serverless 能够对数据进行存储,同时在用户需要时提供更强的分析能力。
图11 TDSQL-C Serverless 在归档数据库场景使用的示意图
TDSQL-C Serverless为低频访问的应用场景提供了更大的想象空间,它能够立马支撑爆款小程序突然高负载情况,用户无需实时关注扩缩容时间。
图12 TDSQL-C Serverless 在低频访问场景使用的示意图
对于测试开放场景,在周末时间,TDSQL-C Serverless实现不使用自动暂停实例,不收取任何费用,帮助企业降低成本。
图13 TDSQL-C Serverless 在开发测试场景使用的示意图
2、TDSQL-C Serverless 使用案例
腾讯云原生数据库TDSQL-C Serverless 实现与微信生态互通,联合微信小程序云开发,创造开发者使用数据库新形态。开发者仅关注业务即可,后端开发逻辑以及底层应用逻辑等都可以通过键部署完成微信云托管,已为接近50万小程序开发者提供了一站式开发云服务。目前我们也在积极探索新的集成形式,给开发者与企业提供更多一键部署多端运行的全套解决方案。
图14 TDSQL-C Serverless 已实现与微信生态互通
总结与展望
我们的愿景是建一座大坝管理好上游的水资源,我们提供的云资源是一个湖泊,TDSQL-C Serverless 就好比是大坝的闸口,闸口开启以满足下游企业使用云资源。我们希望水资源能够合理分配给每个用户,帮助他们降低成本而把更多的精力放在整体业务的开发层面上。
关于未来展望,TDSQL-C Serverless能够在商业化场景不断扩展,同时也希望它在技术上实现更大的突破。探索更多集成化场景,以业务优先的整体serverless解决方案;探索横向弹性能力在实际应用的落地场景,从“开发测试环境”到有限场景下的生产环境的转变。
我们相信TDSQL-C Serverless在未来能够在生产环境中使用乃至支撑重大的核心业务,我们对此有很强的信念!我今天的分享就到这里,谢谢大家!
更多精彩内容,欢迎大家观看现场视频回放与会议资料
视频回放:https://www.modb.pro/video/7708
会议资料:https://www.modb.pro/doc/93247
墨天轮技术社区正在举办【有奖问卷|墨天轮2022年数据库大调查】活动,诚邀各位朋友参与!只要以【账号登录状态】提交问卷即可获得奖励,更有机会获得大疆DJI无人机、VIP年卡、电脑支架等奖品。邀请好友填写还可以领取现金奖励!期待大家的参与!
点击即可填写:https://www.modb.pro/event/767