写点什么

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:307079

评论

发布
暂无评论

《原则》(十四)

Changing Lin

6月日更

标杆管理:让自己快速成长的实用工具

石云升

创业 职场经验 6月日更

【Flutter 专题】104 图解自定义 ACEDropdownButton 下拉框

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

区块链具有美学特征

CECBC

CSS技巧 | 前端开发需要知道的 10 个 CSS 技巧

devpoint

CSS css3 CSS小技巧 6月日更

物联网平台规则引擎流转到S3对比

张俭

azure IoT AWS 华为云

【译】Chrome 90 DevTools 中的新特性

KooFE

Chrome开发者工具 6月日更

小团队真的适合引入SpringCloud微服务吗?

xcbeyond

微服务 6月日更

请求背后的守护者-拦截器

卢卡多多

SpringBoot 2 拦截器 请求拦截 6月日更

🏆【声网Agora】「Linux系统下实时音视频流速提升实现」

码界西柚

RTC 6月日更

色情,科技,与女性

脑极体

MySQL基础之十二:增删改

打工人!

myslq 6月日更

setInterval 和 hooks 撞在一起,翻车了~

Viktor

踩坑经历 React Hooks

SpringCloud Gateway 动态路由

黄仲辉

mongodb 响应式编程 源码阅读 动态路由 SpringCloud Gateway

Trello个人生产力简易指南

俞凡

生产力 认知 大厂实践

消息队列架构设计文档

chenmin

经济金融的数字化转型并没有消除风险,风险反而更加复杂

CECBC

几行代码带你彻底搞懂Java内部类

若尘

java编程 6月日更

数字化转型的征途

CECBC

Kubernetes手记(11)- 配置信息容器化

雪雷

k8s 6月日更

【FlinkSQL】Flink SQL Query 语法(四)- Rattern Recognition

Alex🐒

flink 翻译 FlinkSQL flink1.13

架构实战营 - 模块6 - 作业

笑春风

假如我是创业公司CEO之电商小程序微服务拆分

ifc177

架构设计初识

编号94530

架构 系统设计 架构师

聊聊缓存模式

西门

Redis - 哨兵

旺仔大菜包

redis sentinel

LeetCode 每日一题「接雨水」

陈皮的JavaLib

Java LeetCode 动态规划

JAVA笔记(一)--软件安装-MyEclipse

加百利

Java 6月日更

🌏【架构师指南】带你全面认识实现"三高"架构设计方案

码界西柚

架构师 高并发系统设计 架构师技能 6月日更

代码操作中经常使用到设计模式之单例模式

良知犹存

设计模式

架構實戰營 - 模塊 5 作業

Frank Yang

架构实战营

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