顶会点赞!PolarDB Serverless实现了哪些突破?

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 云原生的Serverless数据库,正在成为下一个五年的云数据库发展趋势。近日,在国际数据库顶级会议2021 ACM SIGMOD上,一篇以PolarDB Serverless为主题的论文,被评委会认为指引了下一代数据库服务的发展方向。这篇题为《PolarDB Serverless: A Cloud Native Database for Disaggregated Data Centers》的论文,介绍了阿里云自研数据库PolarDB基于计算存储分离,实现的最新Serverless技术架构研究进展。PolarDB Serverless论文的录用,标志着阿里云PolarDB数据库在最新一

云原生的Serverless数据库,正在成为下一个五年的云数据库发展趋势。


近日,在国际数据库顶级会议2021 ACM SIGMOD上,一篇以PolarDB Serverless为主题的论文,被评委会认为指引了下一代数据库服务的发展方向。


这篇题为《PolarDB Serverless: A Cloud Native Database for Disaggregated Data Centers》的论文,介绍了阿里云自研数据库PolarDB基于计算存储分离,实现的最新Serverless技术架构研究进展。


PolarDB Serverless论文的录用,标志着阿里云PolarDB数据库在最新一代架构的探索上迈出领先一步。


以下是这项突破的核心内容介绍:


01第一代云原生数据库的困境


早期的云上数据库,大部分是以ECS中的自建数据库和云厂商托管的数据库RDS的形态存在的,到目前为止还是有非常大的用户量。


这些云上数据库架构还是传统数据库的架构,是运行在云的基础设施上,数据库本身并没有为云做太多的改造和适配。局限于其架构,各项资源等比率的限制在一个范围内,其弹性范围、资源利用率都受到较大的限制,无法充分利用云的红利。


以亚马逊Aurora和阿里云PolarDB为代表的第一代云原生数据库,第一次对数据库架构进行了改造,实现了存储和计算分离,并基于此实现了一写多读,一定程度上适配云架构,存储完成了池化和按量付费,这是对云数据库非常大的进步。


但此架构下,CPU和内存依然是强绑定的,导致计算要实现真正按需供应也非常困难。也就是说,CPU资源和内存资源是一个整体,只能作为一个最小的单位升降级。例如,在亚马逊Aurora中,计算资源和缓存资源的比例是1core CPU:2GB内存。


然而,CPU和内存资源比例的绑定对一些场景下对用户是不合理的:


例如,分析型内存数据库用户,用户使用少数CPU来定期同步和更新数据,但需要大内存,因为维表数据、或者中间结果需要缓存在内存里避免从磁盘来读的延迟。

事务型数据库,例如电商等互联网应用场景里,客户的应用往往存在热点,因此少量的内存就足够保证缓存命中率超过99%,但高峰时CPU需要弹到64c甚至更多核,CPU的需求会高于内存的需求。


简而言之,因为第一代云原生数据库无法实现计算和内存资源的解耦,这也是导致目前云原生数据库价格依然高于RDS和自建数据库,无法占据大部分市场的核心原因。


02 实现新架构的突破


不过,随着PolarDB Serverless新架构的率先提出,这种情况可能要出现极大改变。


PolarDB Serverless的最大创新之处在于:在业内首次实现了内存与计算/存储的解耦,内存进一步池化,形成三层池化,使得弹性能力有数量级的提升,同时内存池化大幅度降低了成本,实现了完全地按量使用和按需弹性,贴合各种场景。


image.gifimage.png


PolarDB Serverless构建了一个全新的数据库形态,即DCaaDB(Datacenter as a Database)


整个IDC形成一个多租户的大数据库,其全部的CPU,内存,存储构成三个独立的资源池。在资源池未耗尽的情况下,任何一个用户(租户)都可能任意的弹性扩展任何一种资源到任何一个规格,用户为其SQL动态消耗的CPU、内存和存储买单,不需要预置任何的规格。


这种情况下,CPU和内存资源因其池化其使用率将会大幅度提升,云原生数据的成本将会远低于自建和RDS等一体化数据库,云原生技术的价值将会得到充分的体现,数据库市场将会重新洗牌。


image.gifimage.png


03 背后的技术难点


在PolarDB Serverless之前,学术界已经对分离架构有一定的研究,并且也进行了一些技术上的实验,但是都没有解决分离架构下的数据库的性能和弹性问题。


PolarDB Serverless通过进行技术创新解决了困扰业界的难题:


1)

PolarDB Serverless中引入了多租户、分布式的内存池的设计,包括页面分配和生命周期管理。


第一个挑战是增加内存池设计后,确保系统能正确的执行事务。 例如,一个被修改过的数据页不应该读到老的数据,即使跨节点也是如此,我们使用全局的缓存一致的机制(类似于多核cpu之间缓存一致性机制)来实现。


还有,当主节点正在分裂或合并一个 B+Tree 索引,其他节点不应看到中间不一致的 B-tree 结构,我们需要使用全局页锁来保护它。 当节点执行只读事务时,它必须避免读取未提交事务写入的任何内容,我们通过在数据库节点之间同步全局视图来实现它。


2)

第二个挑战是高效地执行事务。Serverless架构对数据库的性能会产生负面影, 因为数据库要从远程访问数据(内存池的或者存储池)的,这会引入额外的网络延迟。


我们大量利用RDMA优化,尤其是one-sided RDMA verbs,包括使用 RDMA CAS来优化获取全局页锁的过程。 为了提高并发性,数据库节点使用乐观锁技术来避免不必要的全局页锁。


此外,PolarDB内核引入一些技术减少读写带宽,例如使用重做日志下推技术后,存储可以直接从重做日志回放出最新版本的页面,因此数据库进程不再需要写脏页到远程存储里。当数据库访问页面而本地缓存不命中时,需要跨网络从远程内存和远程存储中获取页面,这会慢于本地内存和磁盘,因此通过预取提升本地缓存的命中率是提升分析查询类负载性能的关键。


3)

在Serverless架构下,数据库从一个单内核的系统,变成了跨节点部署,并且数据库的部分逻辑嵌入到并运行在内存池和存储池服务里。架构变得更复杂,因此增加了系统故障的种类和可能性。


作为云数据库服务,第三个挑战是构建一个可靠的系统。PolarDB设计了对不同节点类型的单节点崩溃的处理策略,以保证系统中没有单点故障。 并且因为内存和存储中的状态与数据库节点解耦,使用Serverless架构的PolarDB节点的崩溃恢复时间比使用单机架构的PolarDB内核快5.3倍。


在PolarDB Serverless架构之下,我们对数据库的性能进行了一些测试,最终的测试结果也远超预期。


这些结果也让我们有理由预测,使用全资源分离的架构来实现云原生的Serverless数据库,会成为下一个五年的云数据库发展趋势。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
3月前
|
关系型数据库 Serverless 分布式数据库
ICDE’24 | 中国企业首获最佳论文,详解PolarDB Serverless如何在0.5秒内实现跨机迁移
数据库领域顶会 ICDE 2024于5月13-17日在荷兰乌特勒支(Utrecht, Netherlands)举办。ICDE (The International Conference on Data Engineering) 与VLDB、SIGMOD被公认为是国际数据管理领域三大顶级学术会议,此次在荷兰召开的ICDE 2024大会,共吸引北京大学、清华大学、浙江大学、MIT、斯坦福等机构,以及谷歌、微软、阿里云、华为、字节等公司的近1000名人员参会,共同探讨AI、数据库、数据处理领域的前沿技术问题。
|
3月前
|
关系型数据库 Serverless 分布式数据库
揭秘PolarDB Serverless:大促洪峰秒级应对,无感伸缩见证科技魔法!一探云数据库管理的颠覆性革新,强一致性的守护神来了!
【8月更文挑战第13天】在云计算背景下,阿里巴巴的云原生数据库PolarDB Serverless针对弹性伸缩与高性能一致性提供了出色解决方案。本文通过一个电商平台大促活动的真实案例全面测评PolarDB Serverless的表现。面对激增流量,PolarDB Serverless能秒级自动扩展资源,如通过调用`pd_add_reader`快速增加读节点分摊压力;其无感伸缩确保服务平滑运行,不因扩展中断;强一致性模型则保障了数据准确性,即便在高并发写操作下也确保库存等数据的同步一致性。PolarDB Serverless简化了数据库管理,提升了系统效能,是追求高效云数据库管理企业的理想选择。
97 7
|
4月前
|
关系型数据库 分布式数据库 PolarDB
顶会最高奖+1 !阿里云PolarDB再获SIGMOD最佳论文奖
顶会最高奖+1 !阿里云PolarDB再获SIGMOD最佳论文奖
41 1
|
4月前
|
关系型数据库 MySQL Serverless
体验阿里云PolarDB MySQL Serverless集群
体验阿里云PolarDB MySQL Serverless集群
|
5月前
|
关系型数据库 MySQL Serverless
Serverless 应用引擎产品使用合集之在SAE2.0上的应用如何访问云原生数据库PolarDB MySQL版集群
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5月前
|
关系型数据库 Serverless 分布式数据库
PolarDB产品使用问题之普通版本的集群如何迁移到Serverless集群
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
22天前
|
关系型数据库 MySQL 分布式数据库
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶!
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶,邀请好友完成更有机会获得​小米Watch S3、小米体重称​等诸多好礼!
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶!
|
2月前
|
关系型数据库 MySQL Serverless
探索PolarDB MySQL版:Serverless数据库的灵活性与性能
本文介绍了个人开发者对阿里云PolarDB MySQL版,特别是其Serverless特性的详细评测体验。评测涵盖了产品初体验、性能观测、Serverless特性深度评测及成本效益分析等方面。尽管试用过程中遇到一些小问题,但总体而言,PolarDB MySQL版表现出色,提供了高性能、高可用性和灵活的资源管理,是个人开发者和企业用户的优秀选择。
|
3月前
|
关系型数据库 MySQL 分布式数据库
PolarDB 与传统数据库的性能对比分析
【8月更文第27天】随着云计算技术的发展,越来越多的企业开始将数据管理和存储迁移到云端。阿里云的 PolarDB 作为一款兼容 MySQL 和 PostgreSQL 的关系型数据库服务,提供了高性能、高可用和弹性伸缩的能力。本文将从不同角度对比 PolarDB 与本地部署的传统数据库(如 MySQL、PostgreSQL)在性能上的差异。
209 1
|
5天前
|
关系型数据库 分布式数据库 数据库
锦鲤附体 | PolarDB数据库创新设计赛,好礼不停!
锦鲤附体 | PolarDB数据库创新设计赛,好礼不停!

热门文章

最新文章

相关产品

  • 函数计算