《Serverless数据库技术研究报告》——二、 Serverless数据库关键技术及应用场景——(一)Serverless数据库关键技术(2)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 《Serverless数据库技术研究报告》——二、 Serverless数据库关键技术及应用场景——(一)Serverless数据库关键技术(2)

《Serverless数据库技术研究报告》——二、 Serverless数据库关键技术及应用场景——(一)Serverless数据库关键技术(1) https://developer.aliyun.com/article/1223727?groupCode=polardbforpg


2、高可用


云上环境中,多个用户的数据库实例部署在一台物理机上,并通过资源隔离保证其相互间不受影响。在Serverless场景下,统一物理机上运行的数据库实例可能都需要资源扩容,此时有可能遇到物理机资源无法满足所有扩容请求的场景。如果选择预留足够多的资源以应对每一个数据库实例可能的扩容请求,这与Serverless的成本初衷背道而驰。因此,当本地资源不足时,我们需要将计算节点实例迁移到资源充足的物理机上部署。当实例发生跨设备迁移时,将产生两个连带问题,即迁移时间长和用户业务中断受损。为解决上述问题,云原生Serverless数据库需要具备高效的高可用能力。高可用能力可以总结为以下四部分:云原生数据库系统自动切换能力、RO节点预热状态的快速切换能力、用户链接保持与事务保持能力。


(1)自动切换能力

当前业界的云原生数据库一写多读架构中,主节点的切换、旧RO(Read Only,只读)节点链接到新主节点一般都需要外部模块进行决策与下发任务。该模块可能需要下发主节点停止任务、更新该模块必要拓扑信息、升级选定RO节点。这是一个耗时的任务流,并且有外部模块元信息和数据库集群不一致的风险。因此云原生数据库内核需要在数据库集群发生切主或者RW(读写)节点崩溃时,某个RO节点自动竞争成为新主,其余RO快速自动链接到新主节点。当前

业界主要有两种解决方案,一是集群各个节点通过一致性协议,如Paxos、Raft选出一个新主的去中心化解决方案;二是利用云原生数据库中心化共享存储的分布式锁解决方案,如PolarDB Voting Disk Service解决方案。两种方案的核心都是集群节点通过某种协商机制,实现集群主节点的自我维护。

1684820911335.png


(2)热备节点:全局预热系统

在拥有集群主节点自我维护能力以后,进一步地,用户希望备RO节点选主成为新主以后,能快速完成RO至RW角色切换。云原生数据库引入了热备节点的角色。热备节点是一个资源弱化版的RO节点,同时也是一个更接近主节点、随时准备接班的灾备节点。相比普通的只读节点,它保留有限的读服务,预留更多的CPU、内存资源去优化切换速度。有了热备节点的全局预热系统加持,云原生数据库Serverless可以更快地完成切换,进一步降低用户业务的受损时间。

1684820969385.png


(3)链接保持

在缩短了切主时间以后,数据库系统快速恢复了服务能力,可以开始执行新的事务。但在切换过程中需要保持用户会话不中断,否则用户将明显感知到实例迁移而发生应用连接闪断、新建连接短暂失败、存量事务回滚等问题。因此,Serverless还需要解决在跨机迁移过程中的链接中断问题。

对于迁移时的空闲链接,可以引入中间件Proxy,利用Proxy的链接技术保证用户链接不中断。Proxy作为流量入口,是当前云原生数据库的基础组件,负责云原生数据库一写多读的负载均衡,接管理、高可用、安全防护。对于预期内的跨机迁移场景,首先管控组件会通知云原生数据库Proxy节点。Proxy节点收到通知后, 开始进入高可用模式, 在此模式下,新的建立链接请求被接受后, 会开始被阻塞并等待后续释放通知;已经建立的链接, 代理会阻塞新请求的发送。当代理探测到新的节点已经恢复并且加入到代理之中后,代理会和新节点建立链接, 并同步环境变量 (如字符集、用户变量、模式等信息)。随后, 所有被阻塞的前端链接会被放行, 请求会继而发送到后端数据库。

1684821074702.png


(4)无损事务续传

Proxy的链接保持技术只能处理切换时没有事务执行的空闲链接。对于切换瞬间正在执行的事务,一方面Proxy无法从数据库内核中找回原有事务的上下文,另一方面新主会将未提交的悬挂事务回滚,释放这些事务持有的锁。因此在这种场景下,链接保持就会失效。数据库内核还需要提供无损事务续传能力以解决这一缺陷,例如阿里云PolarProxy+PolarDB内核事务续传解决方案。在Proxy连接保持的基础上,对于切换时正在执行的事务,内核在切换以后会维护事务一段时间。在此段时间内,Proxy利用保存的用户连接信息与内核沟通,将事务恢复到切换时SQL语句的执行状态。如下图所示,用户如果在执行事务1的更新语句时,发生了RW节点切换,Proxy会在内核切换完成后,在内核找到事务1的信息并重新执行更新语句。在用户视角,整个主备切换过程中,应用程序只感知到一条更新语句变成了慢SQL,但不会接收到连接报错或事务报错,后续应用层就不需要显式执行连接重连和事务重试,事务续传技术彻底解决了用户的感知问题。

1684821208833.png

集群自动切换+热备+无损事务续传的跨机迁移解决方案为用户

管控侧提供了更高的自由度,使更高效的资源管理方案成为可能。


《Serverless数据库技术研究报告》——二、 Serverless数据库关键技术及应用场景——(一)Serverless数据库关键技术(3) https://developer.aliyun.com/article/1223658?groupCode=polardbforpg

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
182 64
|
15天前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
25 6
|
2月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
81 1
|
1月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
61 1
|
1月前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
32 1
|
2月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
2月前
|
供应链 数据库
数据库事务安全性控制有什么应用场景吗
【10月更文挑战第15天】数据库事务安全性控制有什么应用场景吗
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
62 3
|
运维 Cloud Native 关系型数据库
活动回顾|阿里云 Serverless 技术实战与创新成都站回放&PPT下载
7月29日“阿里云 Serverless 技术实战与创新”成都站圆满落幕。可免费下载成都站|阿里云 Serverless 沙龙演讲 PPT。

热门文章

最新文章