亚马逊云科技 re:Invent 2024!Amazon Aurora DSQL 闪亮登场,跨区域提供强一致性,带来全新突破!

news2025/1/10 11:58:01

在 AWS re:Invent 2024 的主题演讲中,Amazon 正式发布了支持多区域 Active/Active 架构的关系型数据库 Aurora DSQL,目前已开放预览。

我正在拉斯维加斯现场观看 Keynote,刚刚听到这一令人振奋的消息。Aurora DSQL 的亮点在于能够跨区域写入,同时确保数据一致性。这项技术的推出,无疑将为全球化的应用程序开发带来巨大便利。稍后会分享更多细节!

Amazon Aurora DSQL

Aurora DSQL 是一款具备几乎无限扩展能力的无服务器分布式 SQL 数据库。它通过提供一个跨越三个可用区 (AZ) 的 Active/Active 单一集群,最大程度减少了复制和故障切换操作。同时,它具备 ACID 特性,能够提供强一致性的数据处理能力。

特点

Aurora DSQL 拥有以下亮点:

  • 几乎无限的扩展能力
  • 构建具备 99.999% 高可用性的应用
  • 无需管理基础设施
  • 强数据一致性
  • 兼容 PostgreSQL

此外,Aurora DSQL 提供了公共端点,而非局限于 VPC 内,是真正意义上的零扩展无服务器数据库。

架构

Aurora DSQL 的单一区域配置与 Aurora Limitless Database 的架构相似。它由跨越三个可用区的计算层、事务日志层和存储层组成,提供一个单一的集群端点。在单一区域模式下,写入事务会被提交到分布式事务日志,并在三个可用区内同步,确保数据的可靠性和一致性。

这个设计让 Aurora DSQL 成为了适用于高负载、高可用场景的理想选择,同时通过无服务器架构解放了开发者的运维负担。

在多区域配置中,Aurora DSQL 可实现 99.999% 的高可用性。多区域配置为每个链接区域提供一个区域端点,共计两个端点。这种设计使其具备与单一区域配置相同的恢复能力和连接性能。

链接的集群在两个端点上共同提供一个逻辑上的单一数据库,支持具备强一致性的数据读取与写入操作。此外,除了链接区域外,还需要一个称为见证(witness)的区域。见证区域负责短时间内保存加密的事务日志,从而提升多区域配置的耐久性与可用性。

这种架构不仅满足了跨区域数据处理的需求,还确保了数据的高一致性和可靠性,为全球化的高可用性应用场景提供了理想的解决方案。

性能表现

虽然 Aurora DSQL 拥有几乎无限的扩展能力,但其每个查询的延迟可能会引起关注。尤其在多区域配置中,由于通信距离较长,这一问题更为显著。AWS 宣称,在多区域配置下,Aurora DSQL 的性能比 Google Cloud 的 Spanner 快 4 倍。

然而,需要注意的是,Aurora DSQL 采用了乐观并发控制 (OCC)。通常情况下,即使系统规模扩大或混入较长的事务,事务执行速度也不会受到明显影响。但在跨区域竞争或冲突频繁的情况下,由于可能需要多次重试,性能可能会有所下降。

因此,尽管 Aurora DSQL 提供了高性能和高扩展性的解决方案,在特定高竞争场景下,设计和使用时仍需权衡。

费用

目前,Aurora DSQL 仍处于预览阶段,因此可以免费使用。具体的收费信息将在正式公开时公布,敬请期待。

支持的区域

目前,Aurora DSQL 可在以下区域使用:

  • 美国东部(弗吉尼亚北部)
  • 美国东部(俄亥俄)

实践操作

接下来,让我们实际启动 Aurora DSQL 集群,体验它的功能。

  1. 登录 AWS 控制台,在弗吉尼亚北部区域找到 Aurora DSQL 页面。
  2. 点击 Create cluster 按钮,开始创建集群。

通过这些简单的操作,即可快速体验 Aurora DSQL 的强大功能!

创建多区域配置

在这里,我们将通过以下步骤为 Aurora DSQL 配置多区域集群:

  1. 勾选 Add linked Regions 选项以启用多区域配置。
  2. Linked cluster Region 中选择 俄亥俄 作为链接集群的区域。
  3. Witness Region 中选择 俄勒冈 作为见证区域。
  4. 最后,点击 Create cluster 按钮,完成集群的创建。

通过上述设置,Aurora DSQL 将在多区域之间实现高可用性和强一致性,为分布式应用程序提供强大的支持。

完成设置后,只需等待几分钟,Aurora DSQL 集群即可启动并完成多区域配置部署。

就这样,Aurora DSQL 成功启动!

 

切换到俄亥俄区域查看集群

当您切换到俄亥俄区域的 AWS 控制台时,可以看到同样的 DSQL 集群已经成功创建。这表明多区域配置的 Aurora DSQL 集群已经在不同区域间实现了同步部署!✨

现在,您可以在两个区域中测试数据一致性和写入性能,充分利用 Aurora DSQL 的多区域能力。

​​​​​​​

 在 AWS 控制台中,进入 Aurora DSQL 集群的详细信息页面,您将看到以下关键信息

 在 Aurora DSQL 集群的详细信息页面,进入 Linked Regions 部分,您可以清楚地看到配置的链接区域信息

目前,在 Metrics(指标) 部分,您可能只看到 ApproximateClusterStorage(近似集群存储量),它显示了 Aurora DSQL 集群当前使用的存储空间。 

在 Aurora DSQL 集群详情页面顶部,点击 Connect 按钮,可以看到如何连接到您的集群的相关信息

 

获取连接信息

点击 Connect 后,您将看到以下关键的访问信息:

  1. 端点(Endpoint):用于连接 Aurora DSQL 的数据库地址。
  2. 端口(Port):Aurora DSQL 的默认端口号。
  3. 数据库名称(Database Name):您在创建集群时指定的数据库名称。
选择认证方式

Authentication Token(认证令牌) 部分,可以选择以下两种角色:

  • 管理员(Administrator):提供对数据库的完全访问权限,适合配置和管理数据库。
  • 自定义数据库角色(Custom Database Role):适用于更有限的权限范围。

此处选择 管理员 角色,然后点击右下角的 Copy 按钮,即可将生成的认证令牌复制到剪贴板。

⚠️ 注意:认证令牌的有效期仅为 15 分钟,请确保在有效期内完成连接操作,否则需要重新生成。

使用 psql 登录 Aurora DSQL

按照以下步骤使用 psql 客户端连接到 Aurora DSQL 集群:

[root@ip-10-0-2-85 bin]# psql --host=hyabtu6pcuqagk4uvhl4q5r27y.dsql.us-east-1.on.aws --port=5432 --dbname=postgres --username=admin
Password for user admin:
psql (16.4, server 16.5)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_128_GCM_SHA256, compression: off)
Type "help" for help.

postgres=>

在成功登录到 Aurora DSQL 后,您可以执行以下 SQL 命令来创建表、插入数据并查询,验证数据库功能。

postgres=> CREATE TABLE items(item_id int, item_cat varchar, val int, item text);
CREATE TABLE
postgres=> INSERT INTO items (item_id, item_cat, val, item)
VALUES
  (1, 'AAA', 101, '111'),
  (2, 'BBB', 102, '222'),
  (3, 'CCC', 103, '333'),
  (4, 'DDD', 104, '444'),
  (5, 'EEE', 101, '111'),
  (6, 'FFF', 102, '222'),
  (7, 'GGG', 103, '333'),
  (8, 'HHH', 104, '444');
INSERT 0 8
postgres=> SELECT * FROM items;
 item_id | item_cat | val |  item
---------+----------+-----+--------
       8 | HHH      | 104 | 444
       2 | BBB      | 102 | 222
       5 | EEE      | 101 | 111
       3 | CCC      | 103 | 333
       1 | AAA      | 101 | 111
       7 | GGG      | 103 | 333
       6 | FFF      | 102 | 222
       4 | DDD      | 104 | 444
(8 rows)

在成功设置多区域 Aurora DSQL 集群后,您可以切换到俄亥俄区域登录并验证记录的一致性。操作步骤如下:

[root@ip-172-31-15-140 bin]# psql --host=liabtu6pcuqcnbn5bxdtns7yjq.dsql.us-east-2.on.aws  --port=5432 --dbname=postgres --username=admin
Password for user admin:
psql (16.4, server 16.5)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_128_GCM_SHA256, compression: off)
Type "help" for help.

postgres=> SELECT * FROM items;
 item_id | item_cat | val |  item
---------+----------+-----+--------
       8 | HHH      | 104 | 444
       2 | BBB      | 102 | 222
       5 | EEE      | 101 | 111
       3 | CCC      | 103 | 333
       1 | AAA      | 101 | 111
       7 | GGG      | 103 | 333
       6 | FFF      | 102 | 222
       4 | DDD      | 104 | 444
(8 rows)

切换到俄亥俄区域后,您可以验证是否可以正常插入数据。以下是操作步骤:

postgres=> INSERT INTO items (item_id, item_cat, val, item)
VALUES
  (9, 'III', 201, '555');
INSERT 0 1
postgres=> SELECT * FROM items;
 item_id | item_cat | val |  item
---------+----------+-----+--------
       8 | HHH      | 104 | 444
       2 | BBB      | 102 | 222
       5 | EEE      | 101 | 111
       3 | CCC      | 103 | 333
       1 | AAA      | 101 | 111
       9 | III      | 201 | 555
       7 | GGG      | 103 | 333
       6 | FFF      | 102 | 222
       4 | DDD      | 104 | 444
(9 rows)

最后总结

Aurora DSQL 发布时,我最初以为它是 Aurora Limitless Database 的多区域版本,但实际上差异非常明显。Aurora DSQL 运行在 VPC 外部,具有 零扩展 的特点,启动速度极快!(相比之下,首次试用 Limitless Database 时启动耗时超过 100 分钟!)

尤其是运行在 VPC 外的特性,使其非常适合 Lambda 等无服务器环境的访问。此外,它支持多区域 Active/Active 写入,这为构建全球化应用程序(尽管目前仅限于弗吉尼亚和俄亥俄区域)提供了极大便利,同时也非常适合作为边缘计算环境的数据存储解决方案。在企业级应用场景中,Aurora DSQL 极大简化了区域间的冗余部署,能够从单一可用区冗余扩展到区域间冗余,成为构建地理分布式高可用架构的有力工具。

然而,也有一些需要注意的限制。Aurora DSQL 采用乐观并发控制(OCC),无法在事务中对记录进行锁定,因此需要对提交时的冲突错误进行重试处理。此外,目前对于复杂的数据库操作支持仍有提升空间。

我原本以为 Aurora 的更新会朝着 HTAP(混合事务和分析处理)的方向发展,但这次转向全球一致性的强化,令人眼前一亮。作为 Aurora 的长期观察者,这种演进方向非常有趣。在即将到来的 re:Invent 2024 中,将有专门针对 Aurora DSQL 的详细解读环节,我计划参加并带来更多有价值的信息分享!🎉

Aurora DSQL 的推出,不仅对技术爱好者意义非凡,也为企业级用户提供了新的可能性。期待它的持续进化!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2257154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机视觉在科学研究(数字化)中的实际应用

计算机视觉是一种利用计算机技术来解析和理解图像和视频的方法。.随着计算机技术的不断发展,计算机视觉被广泛应用于科学研究领域,为科学家提供了无限的可能。 一、生命科学领域 在生命科学领域,计算机视觉被广泛用于图像识别、分类和测量等…

Springboot美食分享平台

文末获取源码和万字论文,制作不易,感谢点赞支持。 Springboot美食分享平台 一、 绪论 1.1 研究意义 当今社会作为一个飞速的发展社会,网络已经完全渗入人们的生活, 网络信息已成为传播的第一大媒介, 可以毫不夸张说…

如何在组织中塑造和强化绩效文化?

在组织中塑造和强化绩效文化是一个系统性的工程。 一、明确绩效目标与期望 设定清晰目标 组织应根据自身战略规划,将长期目标分解为具体、可衡量、可实现、相关联、有时限(SMART)的短期和中期绩效目标。例如,一家连锁餐饮企业的…

WireShark 下载、安装和使用

1、下载 官网下载太慢,本人另外提供下载地址【下载WireShark】 2、安装 全部默认下一步即可,但如下图所示的这一步值得拿出来说一下。这一步是要你安装Npcap,但是你的电脑如果已经安装了WinPcap,那么可以选择不再安装Npcap。Npca…

RocketMq详解:六、RocketMq的负载均衡机制

上一章:《SpringBootAop实现RocketMq的幂等》 文章目录 1.背景1.1 什么是负载均衡1.2 负载均衡的意义 2.RocketMQ消息消费2.1 消息的流转过程2.2 Consumer消费消息的流程 3.RocketMq的负载均衡策略3.1 Broker负载均衡3.2 Producer发送消息负载均衡3.3 消费端的负载均…

期末复习-Hadoop综合复习

说明 以下内容仅供参考,提到不代表考到,请结合实际情况自己复习 目录 说明 一、题型及分值 二、综合案例题-部署Hadoop集群 或 部署Hadoop HA集群 案例 1:Hadoop 基础集群部署 案例 2:Hadoop HA 集群部署 案例 3&#xff…

民宿管理系统

目录 如需链接的小伙伴pc端请点击👉👉👉资源 移动端请点击👉👉👉请点击 1 系统简介 2 系统相关技术 2.1 Java技术 2.2 SSM框架 2.3 MySQL数据库 3 需求分析 3.1 系统介绍 3.1.1 系统概述 3.1.2 系…

Vue Web开发(二)

1. 项目搭建 1.1. 首页架子搭建 使用Element ui中的Container布局容器,选择倒数第二个样式,将代码复制到Home.vue。 1.1.1.下载less (1)下载less样式 npm i less   (2)下载less编辑解析器 npm i less…

专业135+总分400+华中科技大学824信号与系统考研经验华科电子信息与通信工程,真题,大纲,参考书。

考研成功逆袭985,上岸华科电子信息,初试专业课824信号与系统135,总分400,成绩还是很满意,但是也有很多遗憾,总结一下自己的复习,对于大家复习给些参考借鉴,对自己考研画个句号&#…

解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾

在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库…

Android自定义验证码输入框

Android自定义验证码输入框 Android开发的验证码输入框,输入够自动触发下一步 一、思路: 自定义验证码控件,监听每一个输入框 二、效果图: 看视频更直观点: Android开发轮子-自定义验证码输入框 三、关键代码&…

软件无线电安全之GNU Radio基础(下)

往期回顾 软件无线电安全之GUN Radio基础(上) 背景 在上一小节中,我们简单介绍和使用了GNU Radio软件的基础功能和模块,同时通过GNU Radio Companion(GRC)创建了简单的流程图,展示了信号生成、处理和输出的流程。最后…

vuedraggable

官方文档:https://www.npmjs.com/package/vuedraggable 中文文档:http://www.itxst.com/vue-draggable/tutorial.html 案例下载地址: https://github.com/SortableJS/Vue.Draggable.git vuedraggablehttps://sortablejs.github.io/Vue.Dr…

linux基于systemd自启守护进程 systemctl自定义服务傻瓜式教程

系统服务 书接上文: linux自启任务详解 演示系统:ubuntu 20.04 开发部署项目的时候常常有这样的场景: 业务功能以后台服务的形式提供,部署完成后可以随着系统的重启而自动启动;服务异常挂掉后可以再次拉起 这个功能在ubuntu系统中通常由systemd提供 如果仅仅需要达成上述的场…

windows将文件推给Android真机/实机

记录一下 因为以前只试过从真机实机中将文件推给windows 但是从windows只简单复制粘贴的话会一直报错。 1.电脑安装adb 2.手机开启开发者模式 usb调试 3.usb连接选择文件传输 4.推送命令adb push 文件路径 /sdcard/download 步骤1和2和3不作赘述,可以搜相关配置教程…

区块链钱包开发:全面功能设计方案解析

区块链钱包是连接用户与区块链世界的核心工具,为用户提供了存储、管理和交易加密资产的便捷途径。随着区块链应用的广泛普及,钱包的功能需求和技术复杂度也在不断增加。如何设计和开发一款功能全面、安全可靠的区块链钱包,成为区块链项目成功…

超详细搭建PhpStorm+PhpStudy开发环境

刚开始接触PHP开发,搭建开发环境是第一步,网上下载PhpStorm和PhpStudy软件,怎样安装和激活就不详细说了,我们重点来看一看怎样搭配这两个开发环境。 前提:现在假设你已经安装完PhpStorm和PhpStudy软件。 我的PhpStor…

双十二投影仪推品牌推荐哪个?当贝卓越画质与智能系统的完美结合

双十二购物狂欢节临近,加上国补至高20%的优惠,这场投影仪年末战役也成为了各家品牌必争之地。越来越多的朋友都在考虑入手一台投影仪,打造专属的私人家庭影院,在家也能享受影院级影音乐趣。在众多投影仪品牌中,当贝投影…

技术岗面试准备总结

该总结除个人经验外,参考: 求职】手把手教你写求职简历,8分钟掌握简历的套路科注意事项! 【求职干货】从面试官的角度,教你如何面试中小企业研发岗 面试一家公司,需要做哪些准备?(…

Quill富文本实现内容自定义格式format

在使用quill富文本编辑器时,我们输入文本会被作为类似DOM节点的数据对象存储在内部,渲染时生成相应的DOM节点。这是quill的文档模型Parchment,它提供了多种内容节点类型,如Inline \ Block \ Embed等。 quill 扩展了 Parchment 提供的的基础类…