《有效降本:如何像用自来水一样使用数据库?.pdf》由会员分享,可在线阅读,更多相关《有效降本:如何像用自来水一样使用数据库?.pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、有效降本:如何像用自来水一样使用数据库TDSQL-C Serverless 突破极致弹性腾讯高级工程师 杨珏吉TDSQL-C Serverless-特点与架构TDSQL-C Serverless-应用与场景总结展望目录TDSQL-C Serverless-架构与特点Serverless=FaaS+BaaS函数即服务 FaaS(函数计算)无需运维 以 API 形式提供服务 实时弹性伸缩 按调用次数计费 无使用无费用 高可用用户浏览器CDN静态内容动态内容对象存储函数计算云数据库后端即服务 BaaS 无需运维 以 API 形式提供服务 按实际使用计费(访问次数)无使用无费用 高可用传统数据库 Se
2、rverless 矛盾点目前常用业界云数据库 帮助开发者实现高可用、自动备份固定规格,开发者需要提前发起扩缩容固定规格,计算进程常驻,无请求时依然收费传统云数据库存储资源 90%计算资源 10%传统云数据库存储资源 10%计算资源 90%同机部署计算和存储,剩余资源难以利用云原生数据库 TDSQL-C-计算存储分离计算层 TXSQL存储层TXSTORE存储池80%90%10%60%解耦计算与存储,资源利用率高,跨机扩容快VSTDSQL-C Serverless 架构监控资源使用情况-触发扩缩容-暂停计算层-上报计费接入层收到请求后,恢复计算层用户访问监控与计费计算层 TXSQL存储层DBSTO
3、RE管控平台接入层按使用量计费以实际使用的负载进行计费,开发者无需为自己没有使用到的资源付费自动扩缩容根据业务负载扩缩容实例,开发者无需预测负载并提前扩容资源无使用无费用无数据请求时,不对计算资源计费TDSQL-C Serverless 三大特性-像用自来水一样自动扩缩容根据业务负载扩缩容实例,开发者无需预测负载并提前扩容资源自动扩缩容 购买时指定最小-最大规格 CPU、内存资源限制到最大规格 CPU、内存不存在扩容时间 Buffer pool 根据监控分钟级调整TDSQL-C Serverless 三大特性-像用自来水一样 可滴水可倾泻CPUMem资源限制为 1核 2G 低负载CPU 使用
4、0.1 核Buffer pool 使用 1G其他内存 使用 100MB 高负载-触发扩容前CPU 使用 1 核Buffer pool 使用 1G其他内存 使用 500MB 高负载-触发扩容后CPU 使用 1.8 核Buffer pool 使用 2G其他内存 使用 500MB资源限制为 2核 4G其他方案:比如:1核 2G,2 核 4G自动扩缩容根据业务负载扩缩容实例,开发者无需预测负载并提前扩容资源自动扩缩容 购买时指定最小-最大规格 CPU、内存资源限制到最大规格 CPU、内存不存在扩容时间 Buffer pool 根据监控分钟级调整TDSQL-C Serverless 三大特性-像用自来水
5、一样 可滴水可倾泻CPUMem 低负载CPU 使用 0.1 核Buffer pool 使用 1G其他内存 使用 100MB 高负载-触发扩容前CPU 使用 1.8 核Buffer pool 使用 1G其他内存 使用 500MB 高负载-触发扩容后CPU 使用 1.8 核Buffer pool 使用 2G其他内存 使用 500MB资源限制为 2核 4GTDSQL-C Serverless 方案:比如:1核 2G,2 核 4G按使用量进行计费 每 5 秒进行一次资源使用采样 CCU(TDSQL-C Compute Unit)=max(CPU,MEM/2,最小规格)按实时的 CCU 进行计费按使用量
6、计费以实际使用的负载进行计费,开发者无需为自己没有使用到的资源付费TDSQL-C Serverless 三大特性-像用自来水一样 精准的计量时刻点CPU(核)MEM(GB)最小规格(核)CCU10:1200.10.25(0.25核 0.5G 内存)0.2510:1331.00.25310:1801.60.250.8TDSQL-C Serverless 三大特性-像用自来水一样 随开随关无使用无费用 10 分钟内没有用户连接,回收计算资源,无计算资源扣费 收到用户请求时,自动唤醒计算资源,继续提供数据库服务无使用无费用无数据请求时,不对计算资源计费用户访问监控与计费计算层 TXSQL存储层DBS
7、TORE管控平台接入层TDSQL-C Serverless 三大特性-像用自来水一样 随开随关无使用无费用 10 分钟内没有用户连接,回收计算资源,无计算资源扣费 收到用户请求时,自动唤醒计算资源,继续提供数据库服务无使用无费用无数据请求时,不对计算资源计费用户访问监控与计费存储层DBSTORE管控平台接入层CCU=0,存储按实际占用量计费TDSQL-C Serverless 三大特性-像用自来水一样 随开随关无使用无费用无数据请求时,不对计算资源计费无使用无费用 TXSQL 启动加速 快速恢复:广播小表获取 VDL(最后连续一致性日志点)BP并行初始化:多线程初始化 BP chunk+laz
8、y 初始化 block mutex 事务系统并行化:多线程加载 undo pageRunning阶段:vdl推进后,将该vdl值异步持久化到后端(last-vdl)Recovery阶段:从后端获取last-vdl(checkpoint)广播所有相关小表获取=last-vdl的lsn序列(lsn1,len1)(lsn2,len2)使用败者树获取最后连续点(vdl)给有大于vdl日志的小表发送truncate命令进行日志截断vdllast-vdl写日志日志下沉TDSQL-C 计算存储分离架构设计原则-复用云上已有的成熟组件计算层-基于 TXSQL 内核,复用bugfix和新特性-物理复制:准实时同
9、步redo到备机(1ms)-日志下沉:通过 dbclient 组件,实现日志分发存储层-统一存储平台:基于 CBS 打造 HiSTOR 存储平台数据安全:复用副本同步,故障自动迁移,数据校验备份/回档:快照以MB粒度并发(速度达GB/s)成本:提供SSD、混存、EC版本,满足多种场景-可计算存储:增加 dbstore 插件数据多版本:通过日志回放,返回指定版本数据算子下推:加速条件查询存储层TXSTORE存储层TXSTOREDBStore存储层TXSTORE存储层TXSTOREDBStoreTXSQL RWDBClientTXSQL RODBClient同步 Redo计算层存储层读 PageC
10、OS写 Redo备份TDSQL-C Serverless-应用与场景应用场景-慢查询大固定规格将承担更多成本小固定规格将无法满足慢查询性能,甚至影响在线业务业务偶发慢查询-通常消耗较多 CPU 资源应用场景-定时任务大固定规格将承担更多成本小固定规格将无法满足全表扫描性能,甚至影响在线业务每天夜间清理过期数据、生成报表等每个月初计算上月的账单应用场景-归档数据库业务数据长期不访问-不对 CPU 和内存进行计费相比与直接存对象存储,当用户想使用时可以立刻提供更强的分析能力应用场景-低频访问的业务如-个人博客-垂直社区论坛-微信小程序与云函数、云开发、微信云托管有深入的合作每天 20 次左右的请求
11、,请求结束后无计算资源收费应用场景-开发测试环境工作时间:周一至周五的工作时间使用时则收费下班时间:夜间以及周末不使用不收费应用场景-低频访问的业务最低 0.25 核-助力微服务提供强隔离实例总结展望初创企业述求:-低成本:按 CPU 使用量收费,无使用无费用-减少运维人力:单主节点高可用,智能管家诊断 SQL-迭代试错快:发货速度快,回档 GB 每秒,搁置项目暂停实例-用户数激增:自动扩缩容-小微项目:小规格实例如果说中小企业是一片片沿溪而耕的农田总结展望展望:-冷启动优化:进一步地降低冷启动时间,不需要重试-进一步降低存储成本:长久暂停后,存储转存对象存储TDSQL-C Serverless:-自动扩缩容:瞬间能达到最大规格负载-按使用量计费:按 CPU 使用量,单位秒粒度-无使用无费用:冷启动 2 秒那么我们的愿景就是建一座大坝来管理好上游的水资源,用来灌溉下游企业谢谢观看THANKS