QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Amazon Aurora DSQL:具有多活高可用性的分布式 SQL 数据库

作者:Renato Losio

  • 2025-01-13
    北京
  • 本文字数:1663 字

    阅读完需:约 5 分钟

Amazon Aurora DSQL:具有多活高可用性的分布式 SQL 数据库

在最近于拉斯维加斯举行的亚马逊云科技 re:Invent 大会上,亚马逊发布了 Aurora DSQL 的公开预览版,这是一款具有多活高可用性的无服务器分布式 SQL 数据库。这个新的与 PostgreSQL 兼容的数据库选项在 AWS 社区中引起了极大的热情,并被与会者广泛视为本次大会的一大亮点。


Aurora DSQL 是一个分布式 SQL 数据库,号称有无限的可扩展性、99.99% 的单区域可用性和 99.999% 的多区域多活可用性。该数据库可处理水平扩展、多区域多活运维、连接管理,还支持 缩放至零,后者是最近添加到 Aurora 的一项期待已久的特性。PostNL 首席工程师 Luc van Donkersgoed 写道:


它来了!Amazon Aurora 分布式 SQL(DSQL)。它是 DynamoDB 和 Postgres 合并而成的一个真正的无服务器关系型数据库。这是 Re:Invent 2024 的最大亮点。其他一切都不重要。


Aurora 已经通过 Global Database 提供了跨多个区域的 与 PostgreSQL 兼容的数据库,但 DSQL 背后的技术有很大不同。在 DSQL 中,两个区域都以多活模式运行,都接受写入和交叉复制数据。相比之下,Global Database 只能将数据从一个区域复制到另一个区域,并且只允许一个区域写入数据库。次级区域充当只读副本,如果需要可以提升为主区域。


在单区域配置中,Aurora DSQL 将所有写入事务提交到分布式事务日志,并同步将提交的日志数据复制到三个可用区中的用户存储副本。在多区域配置中,集群通过两个区域端点(每个链接集群区域一个)提高可用性。在介绍这项新服务时,亚马逊云科技高级数据库工程师 Raluca Constantin 和公司专业解决方案架构师 Arun Sankaranarayanan 写道:


链接集群的两个端点都呈现同一个逻辑数据库,并支持具有强大数据一致性的并发读写操作。这让你可以为地理位置、性能或弹性目的平衡应用程序和连接,确保读取器始终看到相同的数据。第三个区域充当见证区域,接收写入链接集群的数据并存储一个有限的加密事务日志窗口,以确保多区域持久性和可用性。



来源:亚马逊云科技博客


正如另一篇文章中解释的那样,Aurora DSQL 采用乐观并发控制 (OCC) 而不是传统的锁定方法。亚马逊云科技高级数据库专家 Rajesh Kantamani 和公司数据库专家 Prasad Matkar 写道:


由于其分布式架构,将 OCC 与 Aurora DSQL 结合使用非常合适,因为它可以避免在事务执行期间锁定资源,从而实现更高的吞吐量和系统效率。‍


这家云提供商强调,OCC 不仅可以防止单个慢速事务影响或减慢其他事务的速度,还可以为查询处理提供更好的可扩展性,并为实际故障提供更强大的集群。这是通过避免依赖锁定机制来实现的,锁定机制可能会导致死锁或性能瓶颈。


亚马逊云科技副总裁兼杰出工程师 Marc Brooker 发布了一系列技术文章,分享了对 Aurora DSQL 实现的见解。他描述了事务延迟是怎样相对于事务语句计数保持不变的,即使跨区域也是如此。Brooker 还解释了如何管理写入、冲突检测和持久性,以及事务隔离和查询性能的实现。这些文章很受欢迎,他在会议上的深度分享现已在 YouTube 上发布。



来源:Brooker 的博客


社区中的许多人认为,亚马逊云科技的这些新产品是对兼容 PostgreSQL 的 Neon、Cloudflare D1 和 Google Cloud Spanner 的挑战。亚马逊的首席执行官在台上声称,通过将事务逻辑与存储层分离并以强一致性处理事务,新数据库的读写速度达到了 Spanner 的四倍。


Hacker News 上的反应褒贬不一,许多开发人员强调了一系列重大局限性。虽然该实现依赖于亚马逊云科技的精确时间基础设施——该基础设施提供了具有强错误界限的精确时钟,但一些专家认为 DSQL 是一个给开源数据库带来启发的项目。用户 Edwinr95 写道:


没有临时表、没有外键、没有视图,事务中不超过 10k 行。除了与 Postgres 协议的一些基本线路兼容性外,我很难将其称为“数据库”,而更像是一个键值存储。


新服务旨在在全球范围内提供低延迟和同步复制能力。但它的公共预览版目前仅在美国三个地区提供:北弗吉尼亚州、俄亥俄州和俄勒冈州。


原文链接:

Amazon Aurora DSQL: Distributed SQL Database with Active-Active High Availability(https://www.infoq.com/news/2024/12/amazon-aurora-dsql/)

2025-01-13 17:305183

评论

发布
暂无评论

阿里云林小平:如何实现资源高效运维及成本分析

阿里云弹性计算

运维 资源管理

Linux系统安装配置jdk

Centos 7 jdk8 9月月更

i++需要多少QPS才能测出BUG

FunTester

C语言_2 变量

泾箐

c 9月月更

数据治理的内核:数据标准

Taylor

数据治理 大数据平台 数据管理平台 数据标准 大数据仓库

源于加速,不止加速-阿里云加速引擎的10年演化之路

阿里云CloudImagine

CDN CDN加速 CDN技术

易周金融分析 | 多家银行试水特色网点揽客;自动驾驶颠覆传统车险模式

易观分析

自动驾驶 金融 银行 网点

【iOS逆向】某营业厅算法分析

小陈

中文稀疏GPT大模型落地——通往低成本&高性能多任务通用自然语言理解的关键里程碑

阿里云大数据AI技术

自然语言处理 多任务 企业号九月金秋榜 GPT

找准风口,如何从运维转向 DevOps?

飞算JavaAI开发助手

OpenHarmony中的HDF单链表及其迭代器

OpenHarmony开发者

Open Harmony

SAP UI5 ManagedObject 的 Association 讲解

汪子熙

JavaScript typescript SAP UI5 ui5 9月月更

软件测试 | 测试开发 | 想测试入门就必须要懂的软件开发流程

测吧(北京)科技有限公司

测试

LeetCode-27. 移除元素(java)

bug菌

9月日更 Leet Code 9月月更

产品需求文档必须消亡

ShineScrum

Scrum 敏捷 产品开发 PRD

P8大佬私藏的:微服务与分布式系统实践详解,YYDS!

程序知音

Java 分布式 SpringCloud 后端技术 微服务架构师

C语言_1 背景,和Hello world

泾箐

c 9月月更

「趣学前端」骨架屏,分享一波前端UI组件开发的经验

叶一一

JavaScript 前端 组件 9月月更

行业案例|长安汽车质量管理数据分析实践

Kyligence

质量管理 数据管理 长安汽车

Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法

共饮一杯无

Java 9月月更 URL和URI

如何使用Postman调试HMS Core推送接口?

HarmonyOS SDK

移动推送

阿里云弹性计算技术专家樊毅伟:云上成本优化实践

阿里云弹性计算

自动化运维 资源利用

蒙特卡洛方法与蒙特卡洛搜索树(一)

Joshua

机器学习 算法 蒙特卡洛

C语言_3 选择结构

泾箐

c 9月月更

Netty高并发处理架构设计介绍

孙大卫

架构 Netty 开发框架 9月月更

长沙!《学习的学问》长沙分享会

博文视点Broadview

「工作小记」多个批量操作的链式实现

叶一一

前端 设计思维 React Hooks 9月月更

FreeRTOS记录(二、FreeRTOS任务API认识和源码简析)

矜辰所致

源码分析 FreeRTOS 9月月更 任务API

软件测试 | 测试开发 | 数据持久化技术(Java)

测吧(北京)科技有限公司

测试

TOP 5!望繁信科技获评WAIC2022全球创新项目路演优胜项目

望繁信科技

WAIC2022

软件测试 | 测试开发 | Jenkins 踩坑(三)| Email 配置与任务邮件发送

测吧(北京)科技有限公司

测试

Amazon Aurora DSQL:具有多活高可用性的分布式 SQL 数据库_数据库_InfoQ精选文章