从Aurora最新产品看Serverless发展

2023-12-12 01:59

本文主要是介绍从Aurora最新产品看Serverless发展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

就在不久前,AWS发布了其重量的数据库产品-Aurora Serverless形态的最新预览版本:Aurora Serverless V2。其对云数据库产品发展带来很大的引领意义。本文将从Aurora Serverless V2的能力谈起,并谈谈数据库产品Serverless的发展趋势。

1. 浅谈Aurora Serverless V2

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

1).Aurora Serverless 简介

Amazon Aurora Serverless是Amazon Aurora支持按需自动缩放的版本。它可根据应用程序的需要自动启停并扩展计算容量。Aurora Serverless从设计上旨在提供多租户无服务器云环境中所需的安全性和隔离性。这一架构开销更小,并可快速做出响应;并且做够强大,以满足处理需求的急剧增长。对于终端用户来说,Aurora Serverless为数据库使用提供一种更为简洁、经济的使用方式。系统架构图如下:

Aurora有三个架构组件:路由层、查询层和存储层。

❖ 路由层

路由层接受来自客户端的数据库连接,并将它们多路复用到查询层进程的连接上。它是水平可扩展和多租户的。路由层本身是协议感知的,支持MySQL和PostgreSQL连线协议。Aurora的路由层除了简单地将请求路由到正确的进程之外,还有两个主要目的。它通过从数据库进程本身卸载连接开销来帮助提高可伸缩性。此外,还允许Aurora在迁移或重新启动数据库进程时保持客户端连接打开。路由层通过跟踪底层数据库连接的使用情况,通知自动扩展;这一点对于Serverless非常重要。

❖ 查询层

查询层的作用是连接到路由层,执行客户机提交的查询的计算组件,并访问存储层以读写底层行和索引。查询层“版本”是底层开源PostgresQL和MySQL数据库软件的分支。这实际上与你自己托管开源数据库代码的体验是相同的。在一个Aurora集群中,可以有许多只读数据库进程,但只有一个写入器。由于数据库进程不是多租户的,而是运行在用户定义的虚拟机实例上。通过减少供应粒度并提高供应速度对于Serverless非常重要。

❖ 存储层

存储层管理区域内和跨区域的复制。为了提供高可用性,每个Aurora区域都保留6个数据集副本:三个可用分区(AZ)中的每个分区都有2个副本。这让它能够容忍一系列特定的故障,同时最小化应用程序的影响:

  • 在不同AZ中丢失两个分区副本不会对用户产生影响

  • 在同一个az中丢失两个分区副本将影响延迟,并可能需要主进程故障转移到另一个az来缓解,但数据库仍可用于写操作

  • 丢失三个分区副本将使数据库无法进行写操作,但不会导致数据丢失

  • 丢失四个或更多分区副本将使数据库完全不可用,并可能丢失数据

Aurora存储层还管理备份、恢复和其他灾难恢复场景,简化了查询层。与PostgreSQL和MySQL默认使用的B-tree引擎不同,Aurora使用的是日志结构的存储引擎。

2). Aurora Serverless V2变化

Aurora Serverless支持实例弹性伸缩。在之前的v1版本中,其扩展单位ACU是需要按倍数增长,以此来支持工作负载。但在v2版本中,支持已更小以粒度0.5个ACU为单位,实现伸缩。这一变化无疑为计算容量带来很大的灵活性(用户不需要为不需要的资源买单),此外其伸缩延迟也将大大减少(最高可达15倍)。Aurora Serverless v2的另一大变化与配置计算的方式有关。Aurora Serverless v2 实例会根据应用程序负载在几毫秒内自动扩展。这将使得资源计算的时长更加精准。

Aurora Serverless 一个亮点能力是增加“只读”能力。在v2版本中可最多增加15个只读节点,每个节点可扩充至256个ACU。

Aurora Serverless V2还提供了在单个集群中创建混合配置的能力。这意味着,单个集群可以是混合预配置和Serverless的实例。不仅如此, 还可以修改现有的预配置Aurora群集以支持新的Serverless实例。如果您有一个现有集群,并且想要添加高度可扩展的按需读取容量,则无需创建新集群或迁移数据就可以做到这一点。上图中的模式就是这样。

❖ 弹性扩展示例

作为Aurora Serverless的基础能力,弹性伸缩对用户很有意义。在v2版本中,提供了更为平滑、精细的伸缩能力。如下图是一个示例:

上图显示业务压力(蓝色)和ACU(橙色)的变化曲线。随着业务的增长和缩减,ACU资源随之变化。ACU 由内存 (RAM) 和处理器 (CPU) 组成。CPU 利用率的增加可立即响应工作负载需求。当需求从峰值开始下降时,随着内存的释放速度(相比于 CPU)越来越慢,从最大 ACU 向下扩展的速度也更慢。这是一种经过深思熟虑的架构选择。Aurora Serverless v2随着需求的减少而逐渐释放内存,以避免影响工作负载。

3).定价问题

Amazon声称客户通过使用Aurora Serverless v2,可以节省高达90%的成本(相对于峰值负载)。但从现有定价来看,v2 ACU的价格是原始v1 ACU的价格的两倍(每ACU小时0.12美元与每ACU小时0.06美元)。V2的优势在于更细粒度的调度、更快的收缩时间。对于多租户、动态变化的负载更有优势;对于稳定负载来说收益需评估。

2. 数据库产品Serverless趋势

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

Serverless作为一种新的基础设施使用方式,近些年愈发流行。作为基础软件之一的数据库,受限于架构数据库对Serverless模式支持相对滞后。随着以Amazon、腾讯等厂商的推进,Serverless形态的数据库产品逐步走入人们的视野。下面让我们从产品角度分析下Serverless型产品的发展趋势。

1).需求输入

  • 轻量化

    通常意义来讲,数据库是比较重的,提供更为轻量化的方案对客户很有吸引力。所谓轻量化是指,客户可在较短时间内获取,并以一种简洁的方式使用数据库。真正如同云所倡导的,提供类似水、电类的基础服务,不在需要复杂的配置管理、容量规划等。用之即来,用后即去。

  • 高弹性

    提供更加灵活的弹性能力,包括对计算、存储资源的弹性需求。客户以更精细化的粒度使用数据库,并可以在很大范围内调配资源。

  • 响应快

    提供更为快捷的响应方式,传统数据库漫长的扩容流程将被摒弃。取而代之的是召之即来的资源能力。这会带来客户对数据库使用的新模式,其将不在拘泥于资源规划,完全可根据负载快速获得。从使用体验及成本上都会更具优势。

  • 成本低

传统的基建式的构建方式,导致的是大量的资源闲置。客户不得不为空置的资源买单,导致极大的浪费。无服务器模式将大大改善这种情况,也许在单位时间成本上后者更高,但从整体使用成本上是降低的。

2).适用场景

  • 不常用应用

    使用时间很短,通过预置资源方式处理,费效比很低。通过Serverless模式,只在使用时为计算资源付费;平时数据可只做静态存储,费用很低。

  • 新应用程序

    新开发应用程序,不确定其负载特点,只做验证性使用。通过Serverless模式,可以让数据库自动扩展到应用程序的容量需求,无需提前规划容量。

  • 可变工作负载

    负载差异较大的应用,可通过Serverless模式保留对峰值的支撑。通过“固定+弹性”的组合,提供兼具一定费效比的可变负载下的支持能力。

  • 不可预测负载

    通过Serverless模式自动扩展容量以满足应用程序的峰值负载需求,然后在活动涌现结束时再收缩,以此应对不可预测工作负载。

  • 开发测试库

    此类对数据库需求,具有明显在使用上的时间特点。通过Serverless模式,可做好必要的计划调度。

  • 租户类应用 

    在面对纷繁复杂、海量的应用,在Serverless模式下,无需为每个租户定义资源。此方式下天然具备自动调整容量,自动适应。

3).未来发展

Serverless模式,还处于相对早期,随着这一理念被更多客户认可,相信其未来发展前景广阔。在发展方向上,可能朝下面几个方向演进:

  • 更加平滑

    改善用户使用体验,从接入层、计算层、存储层做到更加顺滑的弹性体验。

  • 更加低廉

    当前单位时间使用成本仍显过高,未来技术突破可进一步减低成本。

  • 更加简洁

    客户从更高维度使用数据库,不用考虑其底层物理架构。只需考虑最为基本的“计算+存储”诉求。

  • 更易集成

    与现有数据库架构,可更方便的集成,提供迁入、迁出、组合的灵活方案。

  • 更易使用

    与应用更好地结合,甚至在应用端直接支持,对数据库端完全无感。

韩锋频道:

关注技术、管理、随想。

长按扫码可关注

QQ群号:763628645

QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过

这篇关于从Aurora最新产品看Serverless发展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/482849

相关文章

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展

【科技明说 | 科技热点关注】 2024戴尔科技峰会在8月如期举行,虽然因事未能抵达现场参加,我只是观看了网上在线直播,也未能采访到DTF现场重要与会者,但是通过数十年对戴尔的跟踪与观察,我觉得2024戴尔科技峰会给业界传递了6大重要信号。不妨简单聊聊:从戴尔公司中国大饭店DTF大会,看科技外企如何在中国市场发展? 1)退出中国的谣言不攻自破。 之前有不良媒体宣扬戴尔将退出中国的谣言,随着2

雷动WEBRTC产品

http://www.rtcpower.com/html/leidongwebrtc.html ; 1.前言      WebRTC是一项在浏览器内部进行实时视频和音频通信的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得一项技术。WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以

全球AI产品Top100排行榜

Web Top50的榜单里,AIGC类型的应用占比52%,遥遥领先。AIGC类型包括图像、视频、音乐、语音等的内容生成和编辑。音乐生成应用Suno在过去六个月中的排名跃升最为显著,从第36位上升至第5位。排名第二大类是通用对话/AI聊天/角色扮演类型的应用,占比20%,包括常见的ChatGPT、Claude、Character.ai等。其他是AI写作(8%)、AI搜索/问答(6%)、Agent/

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录