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
GaussDB(for MySQL) Serverless全面商用:无感弹性,极致性价比的更多相关文章
- 海量数据分析更快、更稳、更准。GaussDB(for MySQL) HTAP只读分析特性详解
本文作者康祥,华为云数据库内核开发工程师,研究生阶段主要从事SPARQL查询优化相关工作.目前在华为公司参与华为云GaussDB(for MySQL) HTAP只读内核功能设计和研发. 1. 引言 H ...
- mysql误删表,无备份
mysql误删表,无备份 1.操作步骤:https://blog.csdn.net/u011277123/article/details/78018513?tdsourcetag=s_pctim_ai ...
- 重新学习MySQL数据库1:无废话MySQL入门
重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行. MySQL 为关系型数据库(Relational Database Manageme ...
- kaggle 欺诈信用卡预测——不平衡训练样本的处理方法 综合结论就是:随机森林+过采样(直接复制或者smote后,黑白比例1:3 or 1:1)效果比较好!记得在smote前一定要先做标准化!!!其实随机森林对特征是否标准化无感,但是svm和LR就非常非常关键了
先看数据: 特征如下: Time Number of seconds elapsed between each transaction (over two days) numeric V1 No de ...
- Modelarts与无感识别技术生态总结(浅出版)
[摘要] Modelarts技术及相关产业已成为未来AI与大数据重点发展行业模式之一,为了促进人工智能领域科学技术快速发展,modelarts现状及生态前景成为研究热点.笔者首先总结modelarts ...
- 【经验】GaussDB(for MySQL)性能优化 —— 日志的“快递驿站”
GaussDB(for MySQL)数据库在写入性能上,在业界同类产品中是最好的,这主要得益于GaussDB(for MySQL)在MySQL内核方面的诸多优化.其中有一项从“送快递”得来灵感的优化— ...
- 详解GaussDB(for MySQL)服务:复制策略与可用性分析
摘要:本文通过介绍GaussDB(for MySQL)读写路径,分析其可用性. 简介 数据持久性和服务可用性是数据库服务的关键特征. 在实践中,通常认为拥有 3 份数据副本,就足以保证持久性. 但是 ...
- Spring Cloud实战 | 最八篇:Spring Cloud +Spring Security OAuth2+ Axios前后端分离模式下无感刷新实现JWT续期
一. 前言 记得上一篇Spring Cloud的文章关于如何使JWT失效进行了理论结合代码实践的说明,想当然的以为那篇会是基于Spring Cloud统一认证架构系列的最终篇.但关于JWT另外还有一个 ...
- GaussDB(for MySQL) :Partial Result Cache,通过缓存中间结果对算子进行加速
摘要:华为云数据库高级内核技术专家详解GaussDB(for MySQL)Partial Result Cache特性,如何通过缓存中间结果对算子进行加速? 本文分享自华为云社区<GaussDB ...
- 无感刷新 Token
什么是JWT JWT是全称是JSON WEB TOKEN,是一个开放标准,用于将各方数据信息作为JSON格式进行对象传递,可以对数据进行可选的数字加密,可使用RSA或ECDSA进行公钥/私钥签名. 使 ...
随机推荐
- NewStarCTF 2023 公开赛道 WEEK5|CRYPTO WP
last_signin from Crypto.Util.number import * flag = b'?' e = 65537 p, q = getPrime(1024), getPrime(1 ...
- web - 解决 formdata 打印空对象
获取单个值可以使用formData对象.get();而直接打印是看不到的.因为外界访问不到,你使用append方法后,对应的键值对就已经添加到表单里面了,你在控制台看到的是FormData原型,存储的 ...
- 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.11.17)
一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...
- [转帖]Linux nice和renice命令:改变进程优先级
https://c.biancheng.net/view/1074.html 当 Linux 内核尝试决定哪些运行中的进程可以访问 CPU 时,其中一个需要考虑的因素就是进程优先级的值(也称为 nic ...
- [转帖]Web技术(六):QUIC 是如何解决TCP 性能瓶颈的?
文章目录 一.QUIC 如何解决TCP的队头阻塞问题? 1.1 TCP 为何会有队头阻塞问题 1.2 QUIC 如何解决队头阻塞问题 1.3 QUIC 没有队头阻塞的多路复用 二.QUIC 如何优化T ...
- [转帖]tidb数据库5.4.3和6.5.3版本性能测试对比
https://tidb.net/blog/5454621f 一.测试需求: 基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同,需要做 ...
- [转帖]tikv性能参数调优
https://www.cnblogs.com/FengGeBlog/p/10278368.html#:~:text=max-%20bytes%20-for-level-%20base%20%3D%2 ...
- [转帖]etcd raft模块解析
https://www.cnblogs.com/luohaixian/p/16641100.html 1. Raft简介 raft是一个管理复制式日志的共识算法,它是通过复制日志的方式来保持状态机里的 ...
- [转帖]harbor-db restarting问题
现象: 在安装harbor后,启动时发现harbor-db 一直是restarting,/harbor-jobservice,/harbor-core 这两是starting 状态,如下图 解决: 1 ...
- FIO的再学习-不同Raid,不同磁盘性能验证
FIO的再学习-不同Raid性能验证 背景 发现自己对iodepth的和num_jobs的理解存在偏差 找了一些资料才发现自己很多地方做的不对. 这里找到一个新资料可以进行模拟数据库的测试 测试配置文 ...