
亚马逊最近宣布了Amazon Aurora DSQL的全面可用性,这是一个与 PostgreSQL 兼容的无服务器分布式数据库。这项新的托管服务旨在支持双活高可用性和多区域强一致性。
在最新的 re:Invent 主题演讲的预览中,Aurora DSQL针对的是需要全局可扩展性、弹性和一致性能的用例。AWS 的首席博主 Channy Yun写道:
与大多数传统数据库不同,Aurora DSQL 被分解成多个独立的组件,如查询处理器、仲裁器、日志和交叉开关矩阵。这些组件具有高内聚性,通过明确指定的 API 进行通信,并根据工作负载进行独立扩展。
在单个区域中,Aurora DSQL 提供 99.99%的可用性,而多区域部署则旨在实现 99.999%的可用性,系统可以从故障中自动恢复。两个区域端点充当对等点,在保持强一致性的同时支持并发操作,而第三个区域充当仅记录日志的见证,以增强可用性。Yun 补充道:
Aurora DSQL 是支持使用微服务和事件驱动架构的应用程序的理想选择(......)它也非常适合多租户软件即服务(SaaS)应用程序和数据驱动服务,如支付处理、游戏平台和社交媒体应用程序。
在部署多区域集群时,所有读写操作在所有区域端点之间保持一致和持久,每个区域端点表示一个单一的逻辑数据库。这使得应用程序可以从任何位置上进行读写。

来源:AWS 博客
PostNL 的首席工程师兼 AWS 英雄 Luc van Donkersgoed写道:
这是近年来最大的产品发布,其潜力可与 Lambda 和 DynamoDB 相媲美。
在文章“只需扩大规模:Aurora DSQL故事”中,AWS 的两位高级首席工程师Niko Matsakis和Marc Bowes提供了关于 Rust 的技术见解,以及他们如何使用 Rust 构建 DSQL。他们写道:
Aurora DSQL 的设计目标是将数据库分解为具有清晰接口和显式契约的小块。每个组件都遵循 Unix 的座右铭——只做一件事,并且把它做好——但它们一起工作时,能够提供用户期望从数据库获得的所有特性(事务、持久性、查询、隔离、一致性、恢复、并发性、性能、日志记录等)。

来源:All Things Distributed
AWS 的副总裁兼杰出工程师Marc Brooker之前已经发表了一系列关于DSQL设计和实现以及新服务背后的想法的深入文章。
虽然社区的反应总体上是积极的,但一些用户对称为分布式处理单元(DPU)的新标准化计费单元感到困惑,不知道如何将其与现有的替代产品进行比较,也不知道是否有兼容性问题。
AWS 声称“Aurora DSQL 和 PostgreSQL 对所有 SQL 查询返回相同的结果”,新数据库支持核心关系特性,如 ACID 事务、二级索引、连接、插入和更新。然而,文档提供了一个详细的SQL功能兼容性列表,其中有一节是关于不支持的 PostgreSQL 特性的。用户 sh1boleth评论道:
我认为对于那些已经使用了成熟的 MySQL/Postgres 的组织来说,除了易用性和无限扩展之外,这不会提供太多好处,但是对于那些使用 DynamoDBz 的组织来说,它们会因为 DynamoDB 的建模和缺乏关系而感到受限(并且不想处理令人头疼的单表),这是一个介于全关系数据库和 NoSQL 之间的很好的中间点。
随着 GA 的发布,该服务在欧洲和亚太地区的其他区域增加了支持,并引入了对 PostgreSQL 视图、CloudFormation、KMS 客户管理密钥和 AWS 备份的支持。作为 GA 的一部分,还发布了用于 AI 应用程序工作负载的模型上下文协议(MCP)服务器,它将人类可读的问题和命令转换为结构化的 postgresql 兼容的 SQL。
与其他托管 AWS 服务类似,有一个免费的分层,每月覆盖 100000 个 DPU 和 1GB 月的存储。
原文链接:
评论