GaussDB(for MySQL) Serverless全面商用:无感弹性,极致性价比
本文分享自华为云社区《GaussDB(for MySQL) Serverless全面商用:无感弹性,极致性价比》,作者: GaussDB 数据库。
技术背景
对于现代企业级IT系统,数据库往往是作为底座一般的存在,数据库的稳定性、可靠性如果难以保障,整个系统的平稳运行将无从谈起。出于如上考量,在部署数据库资源时,客户基本都会较保守地进行配置,包括但不限于计算、内存、存储等多种资源及参数设置,通过一定程度的资源冗余来保障业务高峰时数据库的正常运行。
然而,在业务波谷期,冗余配置的数据库资源会大量闲置,成本空转,而在面对预期外的激增业务压力时,即使已经保守配置,数据库资源也有可能出现短时间的不足情况,系统整体有受损风险。
除了以上典型的企业级用户,云上还存在大量低频小规格的数据库使用场景,如研发测试环境、小程序云开发、学校的实验教学环境等。这些场景中,用户往往对数据库规格要求不高,但也有一定业务连续性要求,不能通过不断创、删按需实例解决,即使购买较低配置的包周期实例,完全无负载的时间段稍长,仍显得成本浪费问题严重。
针对这些客户场景及痛点问题,Serverless数据库无疑是很好的解决方案。数据库集群资源将随客户业务负载动态弹性扩缩,需要时多用,不需要时少用甚至不用,真正做到了负载与资源动态匹配的按量付费模式,助力企业级用户进一步降本增效,同时普惠万千中小客户,彻底打破云数据库的使用门槛。
特性价值
(1)业务无感的秒级弹性:面对负载突增或预期外压力,纵向扩容秒级完成,业务无感知;支持横向扩容,结合proxy负载均衡和高性能全局一致性能力,应用侧可平滑享受弹出的只读来分担流量压力,无需人工介入或业务改造。
(2)负载与资源动态匹配,极致性价比:数据库实时性要求高,但使用需求不稳定,峰均比高的场景,或业务平常整体负载较低,但偶有大幅波动或预期外负载的场景。此类场景下,相比固定规格,serverless实例平均可降低使用成本超30%,特定情况甚至有80% +的成本降低。
实现原理
1. Buffer Pool快速弹性伸缩,降低伸缩过程对业务的影响
- 分阶段采用多线程并行处理Buffer Pool伸缩中的页面处理和多个哈希表重新映射。充分利用并行能力,减少Buffer Pool扩缩容时间。
- 针对扩缩容中涉及到的页面和哈希表对应的内存,采用在临界区外预申请和延后释放等方式,缩短临界区时间,减少对业务影响的时间。
- Buffer Pool Chunk的初始在临界区外进行,并且在临界区内采用O(1)时间复杂度的方式加入到空闲链表,缩短临界区时间,减少扩容场景对业务影响的时间。
- 通过遍历事务链表重构锁记录哈希表,避免重构锁记录哈希表时出现的大量无效遍历,缩短重构锁记录哈希表的时间。
2. 高性能全局一致性,横向拓展对业务平滑
GaussDB(for MySQL)提供基于内核层的高性能全局一致性服务,使得客户在使用横向拓展的serverless集群时,无需担心弹出只读与主节点的一致性问题,保证发往集群任意副本的读请求都可以获得强一致性的结果。
计算节点间通过高性能网络做LSN同步,当业务入口到Proxy层,Proxy会将读请求发送到只读节点,此时若读节点发现LSN落后于主节点,会等待当前的LSN推进到主机最近的LSN位点后,再读取最新数据返回,允许等待的超时时间和超时分发策略用户可设置,真正做到满足各个用户实际场景的高性能全局一致性。
业务场景/流程
1. 购买Serverless实例
- 进入购买云数据库 GaussDB(for MySQL)页面。
- 在“服务选型”页面,计费模式选择“Serverless”。
- 按需选择算力范围即可,如需横向扩展能力,可在创建完成后设置只读节点数量范围。
2. 修改Serverless配置
购买Serverless实例后,可根据需要修改Serverless算力的最小值和最大值,包括设置集群中允许横向拓展的只读节点上限,当只读节点已经纵向扩展到设定规格上限,集群中现有的只读节点的CPU使用率或内存使用率仍然满足纵向扩展的条件,则会自动触发只读节点的横向扩展。
总结
GaussDB(for MySQL) Serverless集群,可根据客户业务实时负载,集群资源秒级动态弹降,结合内核深度优化,在各种场景下做到对上层业务透明无感。针对负载峰均比高或负载不可预测的企业级客户,Serverless实例自动弹性扩缩,节省资源浪费同时助力运维效率提升;针对个人开发者、学生实验等中小客户,Serverless实例具备极致性价比,真正将云原生技术普惠万千用户。
附录
- 本文作者:华为云GaussDB(for MySQL)团队
- 华为云GaussDB(for MySQL)官方产品文档:https://support.huaweicloud.com/gaussdbformysql/index.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
“未来产业划定发展路线图”出炉
近日,工业和信息化部、科技部、交通运输部、文化和旅游部等部门联合印发《关于推动未来产业创新发展的实施意见》,提出到2025年,未来产业技术创新、产业培育、安全治理等全面发展,部分领域达到国际先进水平,产业规模稳步提升;到2027年,未来产业综合实力显著提升,部分领域实现全球引领。 专家认为,《意见》充分把握全球科技创新和产业发展趋势,前瞻部署了生物制造、量子信息、氢能、核能、基因和细胞技术等多个细分赛道,将全面支撑推进新型工业化,加快形成新质生产力。 全面布局新赛道 未来产业由前沿技术驱动,尚处于孕育萌发阶段或产业化初期,是具有显著战略性、引领性、颠覆性和不确定性的前瞻性新兴产业。 当前,新一轮科技革命和产业变革加速演进,重大前沿技术、颠覆性技术持续涌现,科技创新和产业发展融合不断加深,催生出元宇宙、人形机器人、脑机接口、量子信息等新产业发展方向。大力培育未来产业已成为引领科技进步、带动产业升级、开辟新赛道、塑造新质生产力的战略选择。 我国具备工业体系完整、产业规模庞大、应用场景丰富等综合优势,为未来产业发展提供了丰厚的土壤。各省(区、市)积极培育未来产业,北京、上海、江苏、浙江等地出...
- 下一篇
实例详解在Go中构建流数据pipeline
本文分享自华为云社区《Go并发范式 流水线和优雅退出 Pipeline 与 Cancellation》,作者:张俭。 介绍 Go 的并发原语可以轻松构建流数据管道,从而高效利用 I/O 和多个 CPU。 本文展示了此类pipelines的示例,强调了操作失败时出现的细微之处,并介绍了干净地处理失败的技术。 什么是pipeline? pipeline在Go中并没有书面的定义,只是众多并发程序中的一种。非正式地,pipeline由一系列stage组成。每个stage是运行着同一个function的协程组。在每个stage,协程们 通过inbound channel从上游获取数据 在data上进行运算,通常会产生新的值 通过outbound channel向下游发送数据 每个Stage都有数个inbound channel和outbound channel,除了第一个和最后一个Stage,分别只有outbound和inbound channel。第一个Stage通常叫做Source或Producer。最后一个Stage通常叫做Sink或Consumer。 我们将从一个简单的示例pipelin...
相关文章
文章评论
共有0条评论来说两句吧...