墨天轮沙龙 | 亚马逊云科技李君:见微知著 - Serverless云原生数据库概览
导读
以业务为导向的数据库需要满足现代化应用的需要,以 Serverless 数据库为代表,云数据库正在迅速发展成熟,并带来更好的可访问性和高可用性,还有高扩展性与可迁移性。
【墨天轮数据库沙龙-Serverless专场】邀请到亚马逊云科技高级数据库技术专家李君,为大家带来《见微知著 - Serverless 云原生数据库概览》的主题演讲。本次分享从现代应用化改造出发,介绍Serverless数据库的本质与特点,同时也介绍了亚马逊云科技的七大Serverless家族中的DynamoDB 与 Amazon Aurora Serverless 数据库,以下为演讲实录。
李君 亚马逊云科技高级数据库技术专家
为什么要进行应用化改造?
1、现代化应用程序的特性与优势**
传统的开发文化导致新产品和功能的发布周期冗长、运维效率低下、无法支持不断变化的合规性和安全规章等问题,应⽤程序现代化可以快速、⾼效且合规地⽀持业务计划。
图1 现代化应用程序的特性和优势
现代数据架构从传统的Web服务器+应用程序服务器+数据库服务层的三层数据库架构转变到微服务、解耦架构,因此需要一个构建专门的数据层来满足现代应用架构。
2、亚马逊云科技无服务器数据库家族
亚马逊云科技构建了数据库家族支撑现代化应用开发,云原生系列包括 关系数据库服务Amazon Aurora Serverless,完全托管的 PB 级云数据仓库服务Amazon Redshift,支持键-值存储和文档型数据结构的NoSQL数据库服务Amazon DynamoDB,开源的宽列数据存储Amazon Keyspaces,时间序列资料库Amazon Timestream,完全托管的图形数据库服务Amazon Neptune以及完全托管的分类账数据库 Amazon Quantum Ledger Database ( QLDB ) 等七大数据库。
图2 亚马逊云科技Serverless云原生数据库光谱
3、Serverless 数据库介绍
2014年 亚马逊副总裁兼首席技术官 Werner Vogels 博士在 re:Invent 全球大会上发布了Lambda 服务,这项服务重新定义了云计算的 Serverless 发展理念,由此引发了Serverless 第一波浪潮。
Servereless并不是简单等于functions,它的本质为one demand scaling and pricing characterisics(按需使用、极致弹性压缩)。在新时代下,Servereless 实现随用随取,按量付费,成为与普及大众比肩的水电煤资源。
下图展示了Serverless数据库的四大特点,其中最显著的是无需管理服务器的特点,它使开发人员专注构建和运行应用。对于用户而言,最终收益体现在Serverless按使用量付费的设计上。
图3 Serverless数据库特点
Amazon Serverless 系列介绍
1、Amazon DynamoDB**
DynamoDB开创了云原生NoSQL数据库领域,亚马逊NOSQL之旅也是由它开始。
正值2004年的假日购物季,使用著名关系型数据库的 Amazon 电子商务平台由于超过负载而导致了数小时宕机。在启动COE(纠正错误是通过记录和解决问题来提高质量的过程)流程后,工程师梳理出亚马逊电商业务系统对数据库需求,70%的调用对单行进行操作,20%的调用返回单个表中的行集合。
三年后,AWS 于 2007 年发布了《Dynamo:Amazon 的高可用性键值存储》,论文介绍了 Dynamo 的设计和实现,它是一种高度可用的键值存储系统,亚马逊的一些核心服务使用它来提供“永远在线”的体验,由此DynamoDB 诞生了。
2012年,DynamoDB作为基于云的 NoSQL 数据库服务被正式发布,并于2016年位居 Gartner MQ 领导者象限。在发布的十年内,DynamoDB一直作为零层依赖项助力大多数亚马逊服务。
图4 Amazon DynamoDB 发展历程
Amazon DynamoDB作为快速且灵活的 NoSQL 数据库,规模没有限制,具有大规模高性能、无需管理服务器、适合大型企业、全局表的特性。
DynamoDB 能够在PB级规模下实现个位数毫秒延迟,最新2022 re:Invent keynote 上提到,DynamoDB每天收到的请求达到十万亿次,它能够真正实现全局表为应⽤程序提供多区域复制,为普通表提供99.99%的可用性SLA,为全局表(跨多个AWS region进行跨表复制)提供99.999%的可用性SLA。
图5 Amazon DynamoDB 特性
在各行各业,客户依靠DynamoDB 支持其任务关键型工作负载。
在银行和金融行业中,DynamoDB 被应用于处理欺诈侦测以及用户交易等场景。在游戏行业中,DynamoDB能够实现玩家数据无限量存储,不管是TB或是PB级别的数据,都能做到毫秒级响应延迟,相比较存储规模上升而性能对应下降的关系型数据库,DynamoDB表现出了明显的优势。对于广告技术中用户点击行为归因的场景,NoSQL数据库DynamoDB也是非常理想的选择。
图6 各行业的Amazon DynamoDB 的使用案例以及部分可公开客户名
2、Amazon Aurora Serverless
刚才对 Serverless 数据库鼻祖ynamoDB的发展历程、特性以及使用案例做了介绍,下面就来提一提亚马逊云科技中历史增长最快的数据库服务Aurora Serverless。
Amazon Aurora是专为云环境打造的 MySQL 与 PostgreSQL 兼容型关系数据库,提供与商业级数据库相当的性能与可⽤性,但成本仅为其⼗分之⼀,具有高性能可扩展、高可用持久性、高度安全、完全托管的特性。
下图展示了Amazon Aurora 的架构,跨3个可用区的6个副本,以实现高可用性、持久性和性能,架构涉及存储和计算的分离。同时Aurora 使用 4/6 的仲裁机制解决数据库组件故障和性能降级的问题, 对于每个逻辑日志写入,当发出六项物理复制写入指令,在其中四项写入指令完成时视为写入操作成功。
下图展示了Amazon Aurora 的架构,跨3个可用区的6个副本,以实现高可用性、持久性和性能,
图7 Amazon Aurora Serverless 架构概览
在成本与管理负担之间找到一个平衡点,是数据库容量管理亟需解决的问题。容量不足,用户体验随之下降;按照峰值配置,成本对应上升;持续监控和扩展又会导致理困难甚至停机。
- Amazon Aurora Serverless v1
Amazon Aurora Serverless v1 是Amazon Aurora的按需自动扩展配置,能够很好解决这一痛点,warm pool(资源热池) 的设计提供按需自动伸缩配置, 根据CPU以及当前的连接数进行扩展。Amazon Aurora与MySQL 与 PostgreSQL 相兼容,MySQL GA始于2018年,PostgreSQL适于2019年。 其中Aurora MySQL容量为 1-256 ACU,最大可扩展至488 GIB RAM。
图8 Amazon Aurora Serverless v1 扩展能力
- Amazon Aurora Serverless v2
Amazon Aurora Serverless v2是 v1的升级版本,于2022年发布。它可即时扩展以支持要求最苛刻的应用程序,与为峰值容量配置相比,可节省高达 90% 的成本。同时Aurora Serverless v2 提供全面的 Amazon Aurora 功能,包括多可用区支持、全局数据库、RDS 代理和只读副本。
即时&原地扩展是Aurora Serverless v2 重点迭代的部分。它一秒内可以实现CPU和内存资源的原地扩展,正在运行的数十万项事务不会因为扩展受到影响,后端持续监控和扩展计算节点,在保持状态的同时,后台对空闲实例进行移动,Aurora Serverless v2 的收缩速度是 v1 版本的15倍。
图9 Amazon Aurora Serverless v2 扩展特点
谈到Aurora Serverless v2 的扩展能力,就不得不提及它的细粒度容量以及扩展维度。
Aurora Capacity Unit(ACU)是Aurora Serverless v2 的容量测量单位,每个 ACU 都是大约 2 GiB的内存,CPU 和⽹络性能跟 预置Aurora 实例 配⽐相当, 初始容量最低可设置成 0.5 ACU (1 GiB),细粒度扩展可以⽀持 0.5 ACU 增量。Aurora Serverless v2的扩展维度包括可预测的扩展速率,CPU利用率、Memory使用情况、Network吞吐量。
图10-11 Amazon Aurora Serverless v2 细粒度容量调整与扩展维度
Amazon Aurora Serverless v2 非常适合各种应用程序。例如,面对业务快速增长场景与海量多租户场景时,当拥有数十万个应用程序的企业,或拥有具有成百上千个数据库的多租户环境的软件即服务 (SaaS) 供应商,可以使用 Amazon Aurora Serverless v2 来管理整个SaaS应用中众多数据库的容量,同时还适用于业务吞吐量波动明显的场景,如游戏业务、电商业务、测试环境等,以及无法预估吞吐量的新业务系统。
我们推荐用户在使用Aurora Serverless v2时,与现有的预配置实例作混搭。Cluster endpoint为数据库集群的读/写连接提供故障转移支持。下图所示,写节点做预配置,两个读节点进行读写分离,当写节点出现故障,Cluster endpoint帮助及时归档在读节点上,当写节点流量上来时,可以自动瞬时向外扩展,在整个过程中共享一份cluster volume(集群共享卷)。
图12 Amazon Aurora Serverless v2 支持混合搭配
由于时间关系,在这里就不再一一展示亚马逊云科技Serverless七大家族的产品。用“关系型数据库做一刀切”的方法已经是过去时,选择正确的数据库可以让开发专注于构建满⾜特定业务需求的应⽤程序,帮助业务快速扩展,开发人员专注创新,以及加速产品的上市时间。
感兴趣的小伙伴可以关注下方二维码,按需学习亚马逊云科技技能。
图13 亚马逊云科技技能学习地址
我今天的分享就到这里,谢谢大家!
更多精彩内容,欢迎大家观看现场视频回放与会议资料
视频回放:https://www.modb.pro/video/7710
会议资料:https://www.modb.pro/doc/93246
- 本文为墨天轮编辑部原创首发文章,点击查看原文:https://www.modb.pro/db/591463
墨天轮技术社区正在举办【有奖问卷|墨天轮2022年数据库大调查】活动,诚邀各位朋友参与!只要以【账号登录状态】提交问卷即可获得奖励,更有机会获得大疆DJI无人机、VIP年卡、电脑支架等奖品。邀请好友填写还可以领取现金奖励!期待大家的参与!
墨天轮沙龙 | 亚马逊云科技李君:见微知著 - Serverless云原生数据库概览的更多相关文章
- [转帖]微软击败亚马逊 赢得五角大楼的100亿美元JEDI云合同
微软击败亚马逊 赢得五角大楼的100亿美元JEDI云合同 https://www.cnbeta.com/articles/tech/903507.htm 微软Azure的胜利 国防部证实,美国政府已向 ...
- 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计
设计高可用的应用是架构师的一个重要目标,可是基于云计算平台设计高可用应用与基于传统平台的设计有很多不同.云计算在给架构师带来了很多新的设计挑战的时候,也给带来了很多新的设计理念和可用的服务.怎样在设计 ...
- A亚马逊WS网上系列讲座——怎么样AWS云平台上千万用户的应用建设
用户选择云计算平台构建应用程序的一个重要原因是高弹性的云平台和可扩展性. 面向Internet应用程序通常需要支持用户使用大量,但要建立一个高度可扩展.具有一定的挑战,高度可用的应用程序,只有立足AW ...
- 【AWS】亚马逊云常用服务解释
新公司使用的是亚马逊服务,刚开始的时候,对很多名词不太明白,总结了一下如下 1,EC2 这个是亚马逊的一种服务器服务,可以理解为跟vmware差不多,EC2为虚拟机提供载体,EC2上跑虚拟机服务器. ...
- oracle impdp 数据迁移 至RDS 亚马逊云
背景: 公司年底打算将aws rds11.2.0.4 oracle 数据库升级到19c,所以需要进行升级测试,所以需要我把线上的库数据迁移到一台测试的rds oracle 亚马逊云的数据库中,然后升级 ...
- 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...
- HPC+时代,携手亚马逊云科技,共赴数字化升级的星辰大海!
高性能计算(HPC)和云计算曾是两个"平行世界",各自演绎着精彩,却鲜有交集. 传统上,HPC主要应用于大规模计算,如天气预报.石油勘探.药物研发等.这些任务通常借助超级计算机或计 ...
- 亚马逊云科技现身世界人工智能大会,揭示AI最新技术趋势
2022世界人工智能大会(WAIC)于日前落幕.经过过去四届的发展与沉淀,今天的世界人工智能大会已成为人工智能领域最有影响力的国际盛会之一,今年大咖云集.国际大厂扎堆,充分彰显了大会的国际影响力和磁力 ...
- 当 EDA 遇到 Serverless,亚马逊云科技出招了
近二三十年来,软件开发领域毫无疑问是发展最为迅速的行业之一. 在上个世纪九十年代,世界上市值最高的公司大多是资源类或者重工业类的公司,例如埃克森美孚或者通用汽车,而现在市值最高的公司中,纯粹的软件公司 ...
- 使用AWS亚马逊云搭建Gmail转发服务(三)
title: 使用AWS亚马逊云搭建Gmail转发服务(三) author:青南 date: 2015-01-02 15:42:22 categories: [Python] tags: [log,G ...
随机推荐
- python global变量作用域
python变量作用域 var1 = 123 def func(): var1 = 456 print(var1) func() #456 print(var1) #123 ============= ...
- Megacity Unity Demo工程学习
1.前言 Megacity Demo发布于2019年春,本博文撰写于2024年,ECS也早已Release并发布了1.2.3版本.不过好在核心变化不大,多数接口也只是换了调用名称, 该Demo相较于之 ...
- 【Vue】NPM构建的一些问题解决
9418端口已经不再支持未授权的GIT协议 C:\Users\Administrator\Desktop\wss-taskcore-web>npm install npm ERR! Error ...
- 【H5】12 表单 其一 第一个表单
本系列的第一篇文章提供了您第一次创建HTML表单的经验, 包括设计一个简单表单,使用正确的HTML元素实现它, 通过CSS添加一些非常简单的样式,以及如何将数据发送到服务器. HTML表单是什么? H ...
- 【Java-GUI】12 Swing07 JList
列表和下拉选择: package cn.dzz; import javax.swing.*; import javax.swing.border.EtchedBorder; import javax. ...
- 【TypeScript】01 基础入门
前提:使用TypeScript你需要安装NodeJS支持 然后安装TypeScript: npm intsall -g typescript 安装完成后查看版本号: tsc -v 新建一个TypeSc ...
- FFT 高精度乘法模板
#define L(x) (1 << (x)) const double PI = acos(-1.0); const int N = 1e7 + 10; double ax[N], ay ...
- Ubuntu 笔记本设置合盖不息屏
编辑 logind.conf 文件 你可以通过编辑 /etc/systemd/logind.conf 文件来控制盖子关闭时的行为: 找到以下几行(如果不存在,可以手动添加): #HandleLidSw ...
- Postman Code Java-Unirest 代码的依赖
本来是Postman的Code直接使用的,结果根据这个名字 Unirest,搜出来了很多依赖,使用了排名第一的, https://search.maven.org/search?q=Unirest 结 ...
- Openstack-删除卷:您被禁止执行 删除卷 (僵尸卷)
您被禁止执行 删除卷 (僵尸卷) 您被禁止执行 删除卷: 7f23a26a-27f2-4504-9191-0f5630a5bff5, 卷一直在创建,但实例已经被删除了 [root@controller ...