1、Serverless数据库技术研究报告一、Serverless数据库概述 5(一)Serverless理念的起源 5(二)Serverless概念及特点 6(三)Serverless数据库的历史演进 7(四)Serverless数据库的市场前景 8二、Serverless数据库关键技术及应用场景 9(一)Serverless数据库关键技术 9(二)Serverless数据库应用场景 19三、Serverless数据库技术趋势 21(一)专注数据库易用性,打造面向业务的Serverless数据库 21(二)计算资源标准化,统一底层资源 21(三)计费方式更加精确,按需计费 22(四)扩缩容无感,
2、纵享极致弹性,更快的业务反应 23(五)资源快速调度,提升资源利用率 24(六)数据共享,打破Serverless数据库数据孤岛 24(七)数据库智能自治,提升Serverless易用性 25(八)新硬件加持,提升Serverless性能 25四、总结和展望 26附录:典型客户案例 27(一)PolarDB、AnalyticDB支撑双十一阿里集团电商业务 27(二)中国联通核心系统 31(三)云原生数据仓库AnalyticDB助力菜鸟运配平稳过高峰 32(四)PolarDB助力易仓快速扩容,应对业务洪峰 34目录图 1 数据库应用发展阶段 9图 2 存储资源池化 12图 3资源管理与调度 13
3、图 4 计算+内存+存储三层解耦 14图 5云原生数据库自动选主机制 16图 6 热备RO节点 16图 7 Proxy链接保持功能 17图 8 无损事务续传功能 18图 9 全局一致性RO节点 20图 10 PolarDB支撑双十一阿里集团电商业务 30图 11支撑双十一阿里集团电商业务 33图目录 2020年以来,数据库迁移上云态势显著提速,相较传统私有部署的数据库而言,云原生数据库通过存储计算分离,实现资源池化和弹性,具备高扩展性、高可用性、低成本等优势。在存算分离架构基础上,引入Serverless技术,可为用户提供真正具备秒级智能弹性扩容能力、随需而动的云原生数据库。据相关机构预测,2
4、020年全球Serverless服务市场规模达到446.1亿元,其中中国Serverless服务的市场规模达到63.7亿元,约占全球市场的14.3%。2022年阿里云数据库制定ALL in Serverless战略。核心产品PolarDB、RDS、AnalyticD-BA、Lindorm全面实现Serverless能力。PolarDB结合存储计算分离架构和软硬一体化等创新设计,成本只有传统商用数据库的1/10,计算能力最高可扩展至1000核以上,存储容量最高可达100TB。RDS Serverless支持秒级变配,最高实现70%成本优化。AnalyticDB Server-less可支持海量数
5、据毫秒/秒级实时分析查询,最高节省90%的TCO。2021年在ACM SIGMOD大会上,阿里云发表PolarDB Serverless:A Cloud Native Database for Disaggregated Data Centers论文,创造性地提出了DDC(Disaggregat-ed Data Centers)架构,实现数据库内计算、内存和存储三层资源解耦,三层资源均可以按需分层弹性,内存层支持PB级弹性扩展。随着弹性RDMA高速网络、新型内存、新一代云计算架构CIPU等技术在云平台的普及等技术在云平台的普及,Serverless技术使计算、内存和存储资源的三层解耦从理论走向
6、实际,未来将成为云原生数据库发展的新趋势。开篇词随业务负载5秒自动弹性伸缩按业务用量秒级计费,成本最高降70%内核BP Online Resize优化,弹的更稳RESTful访问支持业界弹性范围最广,01000核扩展随业务负载5s探测,1s切换全球首创无感切换,连接保持无中断全球首创三层解耦,成本再降60%单作业010000个ACU秒级弹性扩展按规则和按负载,3秒自动弹升,秒级弹降分钟级计费,批处理SQL作业级别计费按量计费,成本最高降80%阿里云数据库核心能力摘要70%成本最高降60%成本最高降80%成本最高降RDSPolarDB AnalyticDB 2009年,UC Berkeley发表
7、了Above the Clouds:A Berkeley View of Cloud Comput-ing1,并在该文章中首次对云计算做出定义:云计算包含互联网上的应用服务及在数据中心提供这些服务的软硬件设施。近年来,随着云计算飞速发展,云计算的形态也在不断的演进,从IaaS到PaaS,再到SaaS,云计算也逐渐地“找到了正确的发展方向”。2012年,Iron.io的副总裁Ken Form所写的一篇名为Why the Future of Software and Apps is Serverless2 的文章中,提出了一个新的观点:即使云计算已经逐渐的兴起,但是大家仍然在围绕着服务器转。不过,
8、这不会持续太久,云应用正在朝着服务器无感知(Serverless)方向发展,这将对应用程序的创建和分发产生重大影响。这首次将“Server-less”这个词带进了大众的视野。此后国外Serverless生态迅速发展,诞生了如Serverless Framework、Vercel等很多优秀的产品。然而国内起步较晚,直到2017年阿里云和腾讯云才相继发布了国内的Serverless产品:函数计算和云函数,这时Serverless才开始进入大多数国内开发者的视野,各大厂商开始极力宣传和实践Serverless,短短三年后,国内Serverless开发进入蓬勃发展期,国内诸多企业开始用Serverle
9、ss解决业务中的效率和成本问题。Serverless 翻译为中文是“服务器无感知”,这代表开发者不需要关心服务器。根据CNCF的定义,“Serverless是指构建和运行应用程序不需要管理服务器的概念。它描述了一种更细粒度的部署模型,即将应用程序打包为一个或多个功能,上传到平台,然后执行、扩展和计费,以响应当时确切的需求。”其核心思想是将应用程序解耦至“Function”并自动扩展缩减,让用户无需再关注服务器,包括托管或发生在服务器上的所有内容,从而进一步提高云的效率,降低运营的工作量和成本,有效解决资源浪费与成本高的问题。广义的Serverless是一、Serverless数据库概述(一)S
10、erverless理念的起源(二)Serverless概念及特点指构建和运行软件时不需要关心服务器的一种架构思想。基于 Serverless 思想实现的软件架构就是 Serverless 架构。与 Serverless 对应的概念就是 Serverful。在Serverful架构下,如果要保证应用持续稳定运行,需要用户自行解决很多问题,例如备份容灾、弹性伸缩、日志监控等。解决这些复杂的问题需要投入大量的人力物力,小公司几乎无法完成。Serverless就是为了解决这些问题诞生的,它可以将底层硬件、存储等基础资源隐藏起来,由平台统一调度、运维,并将常用的基础技术抽象、封装,比如数据库、消息队列等
11、,将其以服务的方式提供给开发者。开发者只专注于开发业务逻辑,所有业务无关的基础设施,都交给 Serverless 平台。概括而言,Serverless 和 Serverful 的架构有如下区别,一是资源分配,在 Serverless 架构中,无需关心应用运行的资源(比如服务配置、磁盘大小),只提供一份代码就行;二是计费方式,在 Serverless 架构中,计费方式按实际使用量计费(比如函数调用次数、运行时长),不按传统的执行代码所需的资源计费(比如固定CPU),计费粒度也精确到了毫秒级,而不是传统的小时级别;三是弹性伸缩,Serverless架构的弹性伸缩更自动化、更精确,可以快速根据业务并
12、发扩容更多的实例,甚至允许缩容到零实例状态来实现零费用,对用户来说是完全无感知的,而传统架构这一过程需要较长时间。Serverless被业界认为是继虚拟化、容器技术之后的云计算的第三代通用计算平台。数据库对外服务形态也在不断演化,从传统的自建数据库一路演化到现在Serverless DB。第一阶段是用户自建数据库,这是数据库部署最传统的方式,用户自建机房时,就要考虑数据库选型,而数据库本身更要关注机房本身的物理部署,灵活性和可扩展性并不高。第二阶段是在云上以PaaS(平台即服务)服务形态,以租用服务的方式提供给用户,这也是目前数据库应用的主流。在这一阶段,用户经常会碰到数据库扩容的突发需求,能
13、否满足这些突发的扩容需求,成为用户关注的重点。第三阶段是云原生的数据库服务,其可以提供快速的扩缩容的能力,在这一阶段,用户不需要考虑扩缩容时机,但要考虑它的费用、成本等。云原生数据库还(三)Serverless数据库的历史演进不能实现按更小的粒度,即实现按使用量付费。第四阶段是Serverless数据库应用阶段,其具备完全自动化的扩容能力,它能够随着用户业务的请求数的增加和减少,智能化“膨胀”和“缩小”,实现资源的自动“吞吐”。这种全自动化特性,能够为用户带来更经济的计费模式和更无感的扩容体验,它可以让业务根据请求的繁忙程度实现平滑的全自动响应,无需人工介入。在云数据库领域,云原生数据库市场空
14、间广阔。据IDC预测,2022年全球关系型数据库规模有望超过300亿美金。根据2021年上半年中国关系型数据库软件市场跟踪报告3 数据,2021上半年中国公有云关系型数据库规模6.7亿美金,同比增长50.1%。未来随着微服务理念和无服务器架构的Serverless技术的逐步成熟,容器和Serverless架构的融合发展有巨大前景,有望成为容器技术未来发展的趋势。2020年全球Serverless服务市场营收达446.1亿元,中国Serverless服务的市场规模达到63.7亿元,约占全球市场的14.3%。传统云数据库的容器架构与Serverless架构结合,使云原生数据库在弹性、自动化等方面带
15、来创新性价值。Serverless 架构提供了极强的弹性伸缩能力,按照负载动态分配资源,从而达到让资源适配业务需求。提供一种真正按需付费,并且在资源空闲时不收费的计费模型。这些特性使得Serverless服务在全球的热度持续增长。当前Serverless相关的应用已经在全球被广泛使用。FaaS(functions-as-a-service)作为Serverless技术领域中最具代表性的技术形态,是各大云厂商当前在Serverless生态上的主要服务之一。可以预见的是,Serverless的优势将会促进更多PaaS技术产品与之融合。在与数据库技术结合后,Serverless数据库可以更好地满足市
16、场需求。根据2021年上半年中国关系型数PaaS图 1 数据库应用发展阶段 (四)Serverless数据库的市场前景据库软件市场跟踪报告 数据,2021上半年中国公有云关系型数据库规模6.7亿美金,同比增长50.1%。未来,我国公有云数据库将主要以Serverless数据库形态呈现,所以Serverless关系型数据库市场将持续升温,是各大云数据库厂商未来发展机遇的重要战略地,是打开数据库市场规模与价值的必经之路。当前,用户对关系型Serverless数据库的应用主要集中在开发、测试等数据库场景,未来或将有更多的客户将Serverless数据库应用于生产环境以及核心业务系统。云计算的核心理念
17、在于池化资源的弹性使用。阿里云数据库基于线上数百万实例的运维经验,分析大量客户的核心痛点需求,总结出以底层池化资源为基础,利用RDMA高性能网络高效管理、使用物理资源的云原生数据库Serverless关键技术,实现资源池化及弹性扩展、高可用、高性能、低成本的Serverless能力。1、资源池化及弹性扩展(1)存储资源池化,存储计算解耦 云数据库作为贴近数据存储的中间件服务,其与底层存储有着紧密联系。传统数据库将数据存储在物理机本地的持久化存储设备中,如磁盘、NVMe SSD等,并在同一台物理机上部署数据库实例以访问持久化数据。因此,当用户数据超出本机存储上限时,需要手动添加新的存储设备,或者
18、迁移数据到存储空间更大的机器上。无论哪一种方案都是缓慢且长时间影响数据库服务能力。云原生数据库第一步是要将底层的庞大存储资源,使得数据存储空间的弹性伸缩成为可能。池化的存储资源池,为上层的数据库计算服务提供弹性的存储能力。常见的池化存储方法可以是分布式文件存储服务,如Ceph、HDFS等,也可以是数据库系统定制的共享存储服务,如Aurora的quorum机制存储服务、PolarDB高性能共享存储PolarStore等。存储池化条件下,当用户需要进行存储空间扩容时,只需要向底层服务发起请求,数据库计算实例不需要做任何数据迁移,用(一)Serverless数据库关键技术二、Serverless数据
19、库关键技术及应用场景户业务亦是不受影响。(2)资源调度 在存储资源池化以后,云原生数据库Serverless的计算资源弹性也需要实现优异的资源隔离能力,进而为基础的计算资源提供池化管理。管理平台需实时监控实例负载,根据丰富的弹性参考维度(CPU、内存、IOPS、链接数等),提供高效率的计算资源调度服务,最终提供秒级的计算资源弹性能力。实现该功能的常见技术路线可以是使用以Kubernetes等容器形式管理和调度计算资源,也可以是以虚拟机的形式管理计算资源,例如开源服务OpenStack。Storage PoolRW(server-a)RO(server-b)RO(server-c)RW(serv
20、er-b)RO(server-a).图 2 存储资源池化示意图中心控制页面汇聚计算业务执行控制资源再分配秒级采集MySQL本地控制页面业务 资源决策决策数据链路控制链路图 3资源管理与调度(3)计算+内存+存储三层解耦 云数据库通常需要较大的内存对缓存磁盘上海量数据进行加速查询,以保证数据库的服务质量,尤其是对于OLTP类型对延时及其敏感的业务。然而,云上用户的业务类型丰富,其各种业务对计算资源与内存资源的需求比例是不同的,这就导致固定的vCPU+内存的数据库规格售卖模式,通常导致用户购买的实例存在部分资源浪费的现状。例如用户对200G常用数据进行简单的插入操作,由于不需要复杂的计算,因此4v
21、CPU可能足以满足用户需求,但是用户为了保证服务质量,想选用32GB内存从而缓存更多的数据实现加速查询,但当用户购买8vCPU+32GB规格的数据库实例,将导致购买的实例闲置了4vCPU资源。在其它场景下,用户业务可能需要更多的CPU资源,但对数据量要求并不多,导致用户购买的内存资源闲置。为了更多地降低用户成本,提升云上资源的利用率,云原生数据库需要将内存与计算节点进行深度解耦,实现CPU+内存+持久化存储的三层解耦模型。如图4所示,在共享存储服务和计算节点之间存在一个GBP(Global Buffer Pool Service)服务。计算节点在物理服务器上只需要较小的内存作为用户查询在GBP
22、中实际需求数据页的缓存,而将其余脏页暂存在GBP中。使用池化内存有两个好处,一是计算节点服务器不再需要巨大内存,当用户需要扩展内存时只需要在GBP中动态扩展即可;二是当实例崩溃、重启或者迁移时,由于其数据页仍然在GBP中,其可以快速恢复服务而不需要再此从共享存储中加载持久化数据。Storage ServiceStorage NodeStorage NodeStorage NodeMemory NodeMemory NodeMemory NodeRW(server-a)RO(server-b)RW(server-d)RO(server-c)RO(server-e)LBP-aLBP-dLBP-eL
23、BP-bLBP-cGlobal Buffer Pool Service图 4 计算+内存+存储三层解耦示意图LBP:local bu er poolGBP:global bu er pool2、高可用 云上环境中,多个用户的数据库实例部署在一台物理机上,并通过资源隔离保证其相互间不受影响。在Serverless场景下,同一物理机上运行的数据库实例可能都需要资源扩容,此时有可能遇到物理机资源无法满足所有扩容请求的场景。如果选择预留足够多的资源以应对每一个数据库实例可能的扩容请求,这与Serverless的成本初衷背道而驰。因此,当本地资源不足时,我们需要将计算节点实例迁移到资源充足的物理机上部署
24、。当实例发生跨设备迁移时,将产生两个连带问题,即迁移时间长和用户业务中断受损。为解决上述问题,云原生Serverless数据库需要具备高效的高可用能力。高可用能力可以总结为以下四部分:云原生数据库系统自动切换能力、RO节点预热状态的快速切换能力、用户链接保持与事务保持能力。(1)自动切换能力 当前业界的云原生数据库一写多读架构中,主节点的切换、旧RO(Read Only,只读)节点链接到新主节点一般都需要外部模块进行决策与下发任务。该模块可能需要下发主节点停止任务、更新该模块必要拓扑信息、升级选定RO节点。这是一个耗时的任务流,并且有外部模块元信息和数据库集群不一致的风险。因此云原生数据库内核
25、需要在数据库集群发生切主或者RW(读写)节点崩溃时,某个RO节点自动竞争成为新主,其余RO快速自动链接到新主节点。当前业界主要有两种解决方案,一是集群各个节点通过一致性协议,如Paxos、Raft选出一个新主的去中心化解决方案;二是利用云原生数据库中心化共享存储的分布式锁解决方案,如PolarDB Voting Disk Service解决方案。两种方案的核心都是集群节点通过某种协商机制,实现集群主节点的自我维护。协商机制:一致性协议分布式锁RW协商模块RO 3协商模块RO 2RO 1图 5云原生数据库自动选主机制(3)链接保持 在缩短了切主时间以后,数据库系统快速恢复了服务能力,可以开始执行
26、新的事务。但在切换过程中需要保持用户会话不中断,否则用户将明显感知到实例迁移而发生应用连接闪断、新建连接短暂失败、存量事务回滚等问题。因此,Serverless还需要解决在跨机迁移过程中的链接中断问题。对于迁移时的空闲链接,可以引入中间件Proxy,利用Proxy的链接技术保证用户链接不中断。Proxy作为流量入口,是当前云原生数据库的基础组件,负责云原生数据库一写多读的负载均衡,Storage ServiceHot Buffer PoolHot UndoHot RedoHot BinlogHot ReplicaBuffer PoolTransaction SysRedoBinlogMaste
27、rspace_id,page_idtrx infolsnfile,offsetruntimeapplywriteread图 6 热备RO节点(2)热备节点:全局预热系统 在拥有集群主节点自我维护能力以后,进一步地,用户希望备RO节点选主成为新主以后,能快速完成RO至RW(Read Write,读写)角色切换。云原生数据库引入了热备节点的角色。热备节点是一个资源弱化版的RO节点,同时也是一个更接近主节点、随时准备接班的灾备节点。相比普通的只读节点,它保留有限的读服务,预留更多的CPU、内存资源去优化切换速度。有了热备节点的全局预热系统加持,云原生数据库Serverless可以更快地完成切换,进一
28、步降低用户业务的受损时间。接管理、高可用、安全防护。对于预期内的跨机迁移场景,首先管控组件会通知云原生数据库Proxy节点。Proxy节点收到通知后,开始进入高可用模式,在此模式下,新的建立链接请求被接受后,会开始被阻塞并等待后续释放通知;已经建立的链接,代理会阻塞新请求的发送。当代理探测到新的节点已经恢复并且加入到代理之中后,代理会和新节点建立链接,并同步环境变量(如字符集、用户变量、模式等信息)。随后,所有被阻塞的前端链接会被放行,请求会继而发送到后端数据库。(4)无损事务续传 Proxy的链接保持技术只能处理切换时没有事务执行的空闲链接。对于切换瞬间正在执行的事务,一方面Proxy无法从
29、数据库内核中找回原有事务的上下文,另一方面新主会将未提交的悬挂事务回滚,释放这些事务持有的锁。因此在这种场景下,链接保持就会失效。数据库内核还需要提供无损事务续传能力以解决这一缺陷,例如阿里云PolarProxy+PolarDB内核事务续传解决方案。在Proxy连接保持的基础上,对于切换时正在执行的事务,内核在切换以后会维护事务一段时间。在此段时间内,Proxy利用保存的用户连接信息与内核沟通,将事务恢复到切换时SQL语句的执行状态。如下图所示,用户如果在执行事务1的更新语句时,发生了RW节点切换,Proxy会在内核切换完成后,在内核找到事务1的信息并重新执行更新语句。在用户视角,整个begi
30、n;insert;update;commit;事务信息缓存会话信息缓存语句缓存Proxytrx infosession tracker:会话信息、事务信息insertMasterSessionTransaction Sys热备SessionTransaction Sysinsert应用程序图 7 Proxy链接保持功能事务1begin;insert;update;commit;事务信息缓存会话信息缓存语句缓存ProxyAttach Trxupdate故障MasterSessionTransaction Sys热备MasterSessionTransaction Sys应用程序update主备切
31、换过程中,应用程序只感知到一条更新语句变成了慢SQL,但不会接收到连接报错或事务报错,后续应用层就不需要显式执行连接重连和事务重试,事务续传技术彻底解决了用户的感知问题。3、高性能(1)高性能全局一致性 因为云原生数据库横向扩展的RO节点上的数据和RW节点上的数据会存在复制延迟,用户通常无法在RO节点获取准确的最新数据。如下图所示,用户先后发起了事务1和事务2。事务1先发起,然后在RW上完成了数据A的更新。此时只读事务2发起在RO节点上,假设事务2与事务1的间隙时间是t1。因为事务1的事务日志在传输到RO时存在复制延迟和回放延迟t2,如果t2t1,则事务2在RO上读到的数据结果是A=0。然而,
32、根据数据库事务的定义,在Read Committed、Repeatable Read和Serialization隔离级别下,事务2都应该读到事务1的数据,也就是A=1。因此若不能实现在RO节点读强一致性的事务数据,数据库系统事务的一致性就遭到了破坏。在此情形下,为了保持数据正确性,数据库Serverless实例只能在单节点弹升。但是部署在物理机上的数据库实例能力会被物理机的集群自动切换+热备+无损事务续传的跨机迁移解决方案为用户管控侧提供了更高的自由度,使更高效的资源管理方案成为可能。图 8 无损事务续传功能示意图单机规格上限所限制。因此,云原生数据库Serverless需要有跨节点全局一致性
33、读的能力才能真正实现多节点横向扩展的弹性能力。因此,云原生数据库必须提供全局强一致的事务读能力,才能使事务一致性的RO节点替RW节点透明地分担用户负载。全局强一致性当前有两种技术方案,一是引入Proxy的辅助,让数据库RO节点上的事务等待日志回放到指定位点才能返回。但是所有读事务都等待,将使得数据库的性能极大回缩;二是PolarDB高性能全局一致性集群SCC(Strict Consistency Cluster)解决方案,PolarDB数据库引擎的PolarTrans事务系统利用提交时间戳技术CTS和RDMA网络,在内核层面提供集群全局一致性读SCC服务,保证发往集群任意副本的读请求都可以获得
34、全局一致性的结果。(2)计算算子(Shuffle、Scan)进一步分离,写跟读写分离 在OLAP应用场景,由于计算与存储分离后,计算相对没有状态。但是Shuffle在本地会导致BSP恢复成本较高,Scan操作需要将远程的数据拉取到本地。针对Shuffle会有类似ShuffleSer-vice的服务出现,Scan操作会将算子尽量推送到缓存端或者远程的存储之上,降低实际计算的数据量;存储层面,写操作由于需要较大吞吐量,读操作在计算后,将少量数据返回;一般会将写操作做成单独的服务,进而承接大吞吐量的写操作。Storage Service事务系统事务系统A=0A=1Redo LogRedo LogA=
35、0RW NodeRO NodeRedo Log复刷事务2:Select A事务1:update A=1非全局一致全局一致A=1A=0?A=1图 9 全局一致性RO节点示意图(3)引入新的硬件解决瓶颈问题 引入如GPU、FPGA、P-Memory来解决 Shuffle、Scan等池化后,进一步提升性能;新的芯片带来的新的指令集,如阿里云的倚天,计算需要在新的芯片下提供更高的性能;在向量化或者串通执行跟指令集做更加深层次的结合,在单机runtime层面进一步提升性能;核心在于单位硬件的投入可以带来数单位的性能提升;如果不选择对象存储,则需要厂商自己提供机型,采取通用机型性价比较低,需要定制新的存储
36、机型满足需求。4、低成本(1)将元数据、负载均衡&接入层等相关非计算服务资源池化 在OLAP应用场景,元数据、接入层、优化器、基于LSM的Build数据写入服务等全部池化,单客户初始化成本不到一分钱;一般Serverless后,会拓展大量的小客户,数据仓库需要提供非常低成本的规划,这就需要在计算与存储池化的基础之上,将负载均衡层、接入层、监控等全部池化;计算资源混合部署与超卖提升资源的售卖率,毫秒级的调度降低调度开销。大量的MPP或者BSP计算模型的节点,需要快速的启动时间,降低资源的调度开销;不同用户在实际运行时,CPU或者内存占用率通常未达到100%,如果能实现一定程度的超卖也是未来竞争力
37、的关键。数据库领域,用户在以下五个场景中可能应用到Serverless技术:1、可变工作负载 正在运行不常用的应用程序,每天或每年会出现数次峰期,每次持续30分钟到几个小时,例如人力资源、预算或业务汇报应用程序。使用Serverless技术后就不再需要按峰值容量预置,从而避免为不经常使用的资源付费,也无需按平均容量预置,从而避免可能导致的性能问题和糟糕的用户体验。2、不可预测的工作负载 正在运行的工作负载需要全天候使用数据库并且具有难以预测活动高峰的特点,例如电商大促时可能出现活动量激增的流量站点。应用Serverless技术后数据库将自动扩展容量以满足应(二)Serverless数据库应用场
38、景程序的峰期负载需求,并在活动量激增结束后缩减容量。3、企业数据库队列管理 如果企业拥有数以百计甚至千计的应用程序,每个应用程序都由一个或多个数据库支持,则必须妥善管理整个数据库队列的资源。由于应用程序的需求不断变化,要持续监控并调节各个数据库的容量以确保高性能、高可用性,同时将成本控制在预算范围内,将是一件难度极高的工作。应用Serverless技术后会根据应用程序的需求自动调整数据库容量,管理员无需再手动管理队列中数以千计的数据库。4、软件即服务应用程序 软件即服务(SaaS)供应商通常会在单个集群中运行数以百计甚至千计的数据库,每个数据库支持不同客户,从而提高利用率和成本效率。但供应商仍
39、需要逐一管理每个数据库。借助Serverless技术,SaaS供应商可以为每个单独的客户预置数据库集群,无需担心所预置容量的成本。系统会在数据库未使用时自动关闭数据库以节省成本,并且会即时调整数据库的容量以满足不断变化的应用需求。5、跨多个服务器横向扩展数据库 写入或读取需求高的客户经常会跨多个实例拆分数据库,从而实现更高的吞吐量。但用户预置的实例数量往往太多或太少,导致成本增加或扩展能力受到限制。借助 Serverless技术,用户能够跨多个实例拆分数据库,让服务根据需求即时自动调整容量。系统可以无缝调整每个节点的容量,不会造成停机或中断,仅使用支持应用程序所需的资源量进行服务。Server
40、less数据库核心特点是高易用性,借助Serverless架构,底层的数据库操作可以被屏蔽,数据库能够根据需求动态进行资源部署、扩缩容等操作,而使用者只需要关注自身业务的相关数据使用问题。随着Serverless技术的不断发展,数据库的易用性将进一步提升,如支持更三、Serverless数据库技术趋势(一)屏蔽底层数据库操作,提升易用性多的扩容手段、支持自动的横向扩展能力,将用户从复杂的业务资源评估和运维工作中进一步解放出来。亚马逊Serverless数据库Amazon Aurora Serverless能够完成无差别的繁复工作和自动化扩展,用户只需要关注面向业务的数据库模式设计、查询构建和查
41、询优化。智能运维等能力也开始成为了主流云厂商持续投入的方向,如阿里云的DAS产品和以此为基础的阿里云PolarDB Serverless,腾讯云PostgreSQL for Serverless也在近期发布了面向业务的Serverless数据库。传统数据库的底层资源多种多样,存在多样化的异构硬件,用户数据库常常受到底层资源干扰,无法专注于业务。Serverless数据库能够屏蔽底层资源属性,通过计算资源的方式统一底层资源,不向用户暴露底层具体数据,而是通过标准的计算资源方式为用户提供服务,避免用户受到底层资源干扰。标准化、归一化的算力服务能让更多类型的硬件无缝无感地接入到Serverless服
42、务中,实现硬件无感化。2018年,亚马逊发布Aurora Serverless V1,支持ACU(Aurora Capacity Unit)衡量,最小1ACU最大128ACU;2022年,Aurora Serverless V2发布,最小支持0.5 ACU,实现了更加精细的资源归一化。2022年,阿里云发布RDS Server-less,以计算能力(RCU:RDS Capacity Unit)定价,真正实现按量付费,对底层资源进行标准化和归一化。未来,更高标准化水平将成为Serverless数据库发展的一个重要方向。企业降本增效的需求对数据库的成本提出了更高要求,传统数据库按照使用资源,例如云
43、服务器实例、虚拟机的规格等进行计费,同时计算资源和存储资源绑定,如计算资源增加会导致存储资源关联增加,造成资源浪费。Serverless数据库相比传统数据库成本更低,依赖于计算和存储资源解耦,用户能够按照服务的使用量,比如调用次数、时长等计费,而不必担心资源的浪费,从而获得更具性价比的数据库服务。随着存算资源的深度解耦,未来Serverless数据库的计费方式将更加精确,比如精确到具体SQL等,同时在成本管理方面,Serverless数据库将会有更加完善的成本管理机制,比如预算预警、成本预测等功能,帮助用户节省成本。目前,行业以Amazon Aurora Serverless、MongoDB、
44、阿里云RDS Serverless等为代表,实现按需计费。(二)计算资源标准化,统一底层资源(三)计费方式更加精确,按需计费 大量企业上云会产生规模效应,但目前线上资源全局利用率低,没有彻底获取规模效应的红利。因此,Serverless数据库具有超卖基础,而超卖面临的问题是如何进行资源调度。调度器是支持资源调度的核心组件,依赖于调度器,能够对CPU、内存、缓存等资源的利用率进行更加灵活地调度,从而获得数据库的极致性能和资源的更高利用率,同时将红利释放给平台和用户。随着Serverless技术持续发展,更高资源利用率的调度会为Serverless产品在成本和客户体验上赢得更多主动权。随着精细化运
45、营的深入发展,企业内多业务间的数据关联分析越来越复杂,为保证业务隔离(五)资源快速调度,提升资源利用率(六)数据共享,打破Serverless数据库数据孤岛 随着用户业务不断上云,企业面临工作负载不均衡等场景,比如双十一等,波峰和波谷往往差异极大,为数据库的选型带来较多挑战。传统数据库难以应对这类不均衡场景,在波峰时无法打破工作瓶颈,在波谷时无法避免资源浪费,这为企业用户带来巨大不便。Serverless数据库将资源进行细粒度地拆解,即对存储计算能力进行解耦并拆分为可售卖的资源,以满足业务的资源编排。基于此架构,代码的执行不再需要手动分配资源,无需为服务的运行指定所需资源(例如使用机器数量、带
46、宽大小、磁盘空间等),Serverless数据库能够根据用户的负载需求进行扩缩容,从而避免资源浪费或遭遇瓶颈,为用户极致的弹性体验。目前,Serverless数据库在分配资源时还需要用户提供预置策略,例如单个实例的规格、最大并发数、单实例最大CPU使用率等。同时,扩缩容由于不够平滑,无法实现快速反应以应对业务变化。未来,随着机器学习算法不断发展,Serverless数据库有望实现预测未来资源增长,快速供给资源,实现自适应分配,从而达到扩缩容无感,有效满足业务需求变化。产业界目前在弹性能力上不断深入研究,阿里云PolarDB在业内首次实现计算、内存与存储的三层解耦,实现内存池化,使得弹性能力呈数
47、量级提升。未来,随着资源不断解耦,Serverless数据库将提供更加极致的弹性体验、更加快速的扩缩容功能。(四)扩缩容无感,实现更快的业务反应 在数据库领域,人工智能扮演越来越重要的角色,推动数据库管理从被动支撑变为主动赋能。Serverless资源细颗粒解耦为数据库智能化提供新思路,增强数据库的可用性和自治能力。机器学习算法是实现Serverless数据库智能化的关键算法,算法可以对大量数据进行分析学习,构建应用领域模型,使数据库更加自动化、智能化。数据库智能化分为三个方向,分别是智能诊断、智能优化和智能预测。智能优化如针对数据库表结构进行优化,为用户提供降低集群使用成本、提高集群使用效率
48、的调优建议。智能诊断从不同的层次进行诊断分析,帮助用户快速定位问题,直观地提供问题根因,如数据倾斜、索引低效等。智能预测能够根据历史工作负载预测未来工作负载趋势,如预测访问峰值、资源使用情况等。阿里云DAS专门为数据库提供智能优化和智能诊断,此服务将会大幅减少用户强依赖于经验进行的数据库运维操作。未来,智能化将帮助数据库实现自治,数据库可以实现自监控、自决策、自执行,几乎不需要人工处理。Serverless数据库底层依赖于硬件的支持,新硬件能力的提升带来了Serverless数据库能力的提升。目前融合Serverless数据库、云计算与新硬件的优势,结合新硬件,例如RDMA、GPU、(七)数据
49、库智能自治,提升Serverless易用性(八)新硬件加持,提升Serverless性能 和资源独享,企业一般会创建多个业务实例。如需对同一份数据进行流转,需要数据在实例间多次复制,极大地降低企业分析效率并增加了数据库运维的复杂程度,这对Serverless数据库提出了数据共享的需求。Serverless数据库使用存储计算分离架构,通过共享的元数据和数据存储实现无冗余数据共享,可以解决数据共享的难题,支持一存多读,实现数据在多个实例间的流转,并避免出现数据冗余、数据不一致、数据缺乏实效性等问题。数据共享可以极大地优化两个核心业务场景,一是负载隔离场景,支持将访问共享数据的工作负载彼此隔离;二是
50、业务协作场景,支持进行跨业务协作,数据可以在业务线、客户组、业务组之间进行共享。2022年3月,云原生数据仓库AnalyticDB PostgreSQL版率先在国内推出数据共享功能,无需移动数据即可实现账号下多实例的联合分析。利用数据共享解决数据流转问题,打破数据孤岛,这是未来Serverless数据库发展的重要方向之一。四、总结和展望 2022年以来,数据库迁移上云态势显著提速,相较传统部署的数据库而言,云原生数据库通过存储计算分离,实现资源池化和弹性,具备高扩展性、高可用性、低成本等优势。近年来,云原生数据库在存算分离架构基础上,引入Serverless技术,具备智能弹性扩容能力,能够随着
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100