关系数据库是各种应用程序和服务的强大且灵活的构建模块——从微服务和网站,到移动后端和SaaS应用程序。十年前,我们推出了Amazon Aurora,提供了无与伦比的高性能和高可用性,并完全兼容MySQL和PostgreSQL,成本仅为商业数据库的十分之一。我们听到客户希望有一种关系数据库,更易于管理,能够根据工作负载进行扩展,并且更容易构建高可用的多区域和多可用区架构。
今天,我们介绍Amazon Aurora DSQL,这是用于始终可用应用程序的最快的无服务器分布式SQL数据库。它提供几乎无限的扩展性、最高的可用性和零基础设施管理。它可以在不进行数据库分片或实例升级的情况下扩展以满足任何工作负载需求。凭借其创新的主动-主动分布式架构,Aurora DSQL在单区域配置中设计为99.99%的可用性,在多区域配置中设计为99.999%的可用性,使其成为构建高可用性应用程序的理想选择。其无服务器设计消除了补丁、升级、维护停机等操作负担。Aurora DSQL还提供了简单的体验,从几步快速创建数据库开始。Aurora DSQL兼容PostgreSQL,使开发人员能够使用熟悉的关系数据库概念以及他们已经熟悉的驱动程序、工具和框架快速构建和部署应用程序。
在这篇文章中,我们讨论了Aurora DSQL的优势以及如何开始使用。
Aurora DSQL架构和优势
Aurora DSQL设计有两种配置:一种是单区域配置,可以在组件故障或可用区(AZ)中断时不影响运行时间;另一种是多区域配置,可以在多个AZ故障时处理数据,同时让您完全控制数据的处理和存储位置。其独特的分离式主动-主动架构消除了由于故障转移或切换导致的停机时间,使得高可用性和业务连续性设计变得简单。
Aurora DSQL提供单区域集群,在三个可用区(AZ)之间实现主动-主动模式,最大限度地减少复制延迟和传统数据库故障转移操作。在硬件或基础设施故障的情况下,它会自动将请求路由到健康的基础设施,无需人工干预。Aurora DSQL中的事务提供所有的ACID属性(原子性、一致性、隔离性和持久性),即使在多个区域之间,也能将延迟影响降到最低。它实现了强快照隔离,并为集群端点的读写操作提供强数据一致性。
下图展示了Aurora DSQL在单区域部署中的高可用集群拓扑。
在单区域配置中,Aurora DSQL将所有写事务提交到分布式事务日志,并将所有已提交的日志数据同步复制到三个可用区(AZ)中的用户存储副本。集群存储副本分布在存储舰队中,以实现最佳的数据库性能。Aurora DSQL设计用于自动故障恢复。当组件或AZ出现故障时,它会自动将访问重定向到健康的组件,并异步修复副本。一旦受损的副本恢复,Aurora DSQL会自动将其添加回存储仲裁并使其对集群可用。
Aurora DSQL为需要最高弹性的应用程序提供99.999%的多区域可用性。
多区域集群提供与单区域集群相同的弹性和连接性,同时通过两个区域端点(每个链接的集群区域一个)提高可用性。链接集群的两个端点呈现一个逻辑数据库,并支持具有强数据一致性的并发读写操作。这使您能够根据地理位置、性能或弹性需求平衡应用程序和连接,确保读者始终看到相同的数据。
下图展示了使用Aurora DSQL多区域集群的应用程序架构。
当您创建一个多区域集群时,Aurora DSQL会在不同的区域创建另一个集群并将它们链接在一起。添加链接区域确保所有已提交事务的更改都复制到其他链接区域。每个链接集群都有一个区域端点,Aurora DSQL在区域之间同步复制写操作,从而使任何链接集群都能进行强一致性的读写操作。
第三个区域充当见证区域。见证区域接收写入到链接集群的数据,但没有集群或关联的端点。它存储有限窗口的加密事务日志,Aurora DSQL使用这些日志提供多区域的持久性和可用性。
其他 Aurora DSQL 特性
Aurora DSQL 提供几乎无限的扩展性,以帮助满足任何工作负载需求。其查询处理层、提交层和存储层独立扩展,适应任何形状的工作负载,包括不同的读/写比率、数据大小和查询复杂性。这意味着开发人员可以专注于下一个大项目,而不必担心随着业务增长对数据库性能的维护需求。
开发人员可以通过单个API调用快速创建新集群,并在几分钟内开始使用兼容PostgreSQL的数据库。它支持许多常见的PostgreSQL驱动程序和工具,以及核心关系特性,如ACID事务、SQL查询、二级索引、连接、插入和更新。
Aurora DSQL 还通过简单的声明性隐私和安全控制以及与AWS Identity and Access Management (IAM) 和 AWS CloudTrail 的全面集成来增强您的安全态势。它在不牺牲PostgreSQL线协议兼容性的情况下阻止标准用户密码认证。它支持使用IAM的基于令牌的认证,并在AWS Command Line Interface (AWS CLI) 和 AWS SDK 中提供辅助函数用于令牌生成。
与传统数据库不同,Aurora DSQL 使用乐观并发控制 (OCC) 而不是传统的锁定方法。随着扩展,OCC 确保您的长事务不会减慢其他正在进行的事务。要了解更多关于Aurora DSQL中OCC的信息,请参阅Amazon Aurora DSQL中的并发控制。
结论
Aurora DSQL 使构建具有强一致性和弹性的应用程序变得容易,以应对日益增长的监管挑战,而无需担心应用程序停机或数据丢失。凭借其创新功能,您可以改变数据管理和应用程序可扩展性的方法。
现在已提供预览版,您可以亲身体验其易用性。请访问Aurora DSQL控制台或使用AWS CLI或AWS SDK进行编程访问。
要了解更多信息,请访问Aurora DSQL概述页面或参考我们的综合用户指南以获取详细信息。