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

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

二、 Serverless数据库关键技术及应用场景


(一)Serverless数据库关键技术


云计算的核心理念在于池化资源的弹性使用。阿里云数据库基于线上数百万实例的运维经验,分析大量客户的核心痛点需求,总结出以底层池化资源为基础,利用RDMA高性能网络高效管理、使用物理资源的云原生数据库Serverless关键技术,实现资源池化及弹性扩展、高可用、高性能、低成本的Serverless能力。


1、 资源池化及弹性扩展


(1)存储资源池化,存储计算解耦

云数据库作为贴近数据存储的中间件服务,其与底层存储有着紧密联系。传统数据库将数据存储在物理机本地的持久化存储设备中,如磁盘、NVMe SSD等,并在同一台物理机上部署数据库实例以访问持久化数据。因此,当用户数据超出本机存储上限时,需要手动添加新的存储设备,或者迁移数据到存储空间更大的机器上。无论哪一种方案都是缓慢且长时间影响数据库服务能力。

云原生数据库第一步是要将底层的庞大数据量池化,使得数据存储空间的弹性伸缩成为可能。池化的存储资源池,为上层的数据库计算服务提供弹性的存储能力。常见的池化存储方法可以是分布式文件存储服务,如Ceph、HDFS等,也可以是数据库系统定制的共享存储服务,如Ceph、HDFS等,也可以是数据库系统定制的共享存储服务,如Aurora的quorum机制存储服务、PolarDB高性能共享存储PolarStore等。存储池化条件下,当用户需要进行存储空间扩容时,只需要向底层服务发起请求,数据库计算实例不需要做任何数据迁移,用户业务亦是无损影响。

1684821411900.png

(2)资源调度

在存储资源池化以后,云原生数据库Serverless的计算资源弹性也需要实现优异的资源隔离能力,进而为基础的计算资源提供池化管理。管理平台需实时监控实例负载,根据丰富的弹性参考维度(CPU、内存、IOPS、链接数等),提供高效率的计算资源调度服务,最终提供秒级的计算资源弹性能力。

实现该功能的常见技术路线可以是使用以Kubernetes等容器形式管理和调度计算资源,也可以是以虚拟机的形式管理计算资源,例如开源服务OpenStack。

1684821483858.png


(3)计算+内存+存储三层解耦

云数据库通常需要较大的内存对缓存磁盘上海量数据进行加速查询,以保证数据库的服务质量,尤其是对于OLTP类型对延时及其敏感的业务。然而,云上用户的业务类型丰富,其各种业务对计算资源与内存资源的需求比例是不同的,这就导致固定的vCPU+内存的数据库规格售卖模式,通常导致用户购买的实例存在部分资源浪费的现状。例如用户对200G常用数据进行简单的插入操作,由于不需要复杂的计算,因此4vCPU可能足以满足用户需求,但是用户为了保证服务质量,想选用32GB内存从而缓存更多的数据实现加速查询,但当用户购买8vCPU+32GB规格的数据库实例,将导致购买的实例闲置了4vCPU资源。在其它场景下,用户业务可能需要更多的CPU资源,但对数据量要求并不多,导致用户购买的内存资源闲置。

为了更多地降低用户成本,提升云上资源的利用率,云原生数据库需要将内存与计算节点进行深度解耦,实现CPU+内存+持久化存储的三层解耦模型。如图4所示,在共享存储服务和计算节点之间存在一个GBP(Global Buffffer Pool Service)服务。计算节点在物理服务器上只需要较小的内存作为用户查询在GBP中实际需求数据页的缓存,而将其余clean data page暂存在GBP中。使用池化内存有两个好处,一是计算节点服务器不再需要巨大内存,当用户需要扩展内存时只需要在GBP中动态扩展即可;二是当实例崩溃、重启或者迁移时,由于其数据页仍然在GBP中,其可以快速恢复服务而不需要再此从共享存储中加载持久化数据。

1684821576550.png


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

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
182 64
|
29天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
1月前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
47 3
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
81 1
|
1月前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
58 2
|
1月前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
32 1
|
2月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
2月前
|
XML 存储 数据库
XML在数据库中有哪些应用?
【10月更文挑战第17天】XML在数据库中有哪些应用?
44 2
|
2月前
|
供应链 数据库
数据库事务安全性控制有什么应用场景吗
【10月更文挑战第15天】数据库事务安全性控制有什么应用场景吗
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
62 3

热门文章

最新文章