《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 架构模式
相关文章
|
18天前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
103 61
|
16天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
30 3
|
18天前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
16天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
16 1
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
149 13
|
3月前
|
机器学习/深度学习 机器人 Serverless
FaaS 的应用场景
FaaS 的应用场景
|
3月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
15天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
51 1
|
19天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
29 1

热门文章

最新文章