关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Aurora, Amazon Aurora Innovations, Cloud-Native Database, Storage Architecture, Read-Write Instances, Asynchronous Replication, Local Write Forwarding, Global Database, Distributed Transaction Router, Limitless Database, Aurora De Sql]
导读通过创新的架构将计算与存储分离,并具备Global Database和低延迟读取副本等先进功能,Amazon Aurora重新定义了关系型数据库的含义。Aurora是一种现代数据库服务,在完全兼容开源MySQL和PostgreSQL的基础上,提供了无与伦比的性能和大规模高可用性。在本次会议中,我们将深入探讨Aurora提供的最令人兴奋的新功能,包括Aurora Limitless Database、Aurora I/O优化、Aurora与Amazon Redshift的零ETL集成,以及Serverless v2。此外,您还将了解到pgvector扩展的添加如何实现向量嵌入的存储和支持生成式AI的向量相似性搜索。
演讲精华以下是小编为您整理的本次演讲的精华。
讲者首先热烈欢迎与会者出席DAT405会议,并表示这是Amazon Aurora十周年纪念。Aurora将企业级功能与广受好评的MySQL和PostgreSQL开源软件无缝集成。
讲者阐述了Aurora的架构,其主要区别在于Aurora仅写入日志记录。讲者举例说明了一个跨三个可用区的集群,其中写入操作分布在这些区域中的10GB块上。Aurora要求在确认日志写入之前,必须完成6个块中的4个,从而确保在该区域内的持久性。
与传统做法不同,Aurora不使用检查点、全页写入、双写缓冲区和日志归档,因为它不在读写节点上执行备份。这种设计选择减少了工作负载,从而提高了效率和可扩展性,尤其是对于写操作。
Aurora从本地可用区检索块,无需读取仲裁,从而确保低延迟。如果遗漏了写入,Aurora可以通过从另一个副本复制该块来启动修复过程。如果整个存储服务器发生故障,Aurora会自动从另一个副本复制受影响的块,并将其置于新的存储服务器上。
Aurora利用集群存储来连接只读节点,无需单独的卷和数据库实例。它使用来自读写节点的异步失效或更新消息来与只读节点保持内存同步,从而可以部署多达15个不同类型的只读节点。
发生故障时,Aurora会将故障转移到不同可用区的某个只读节点,需要应用程序了解新写入节点的位置。Aurora提供了JDBC、Node.js、Python和ODBC的包装器,可以跟踪写入节点的位置,从而实现更快的故障转移并最小化中断时间。讲者提到,许多客户现在都在使用这些包装器。
本地写入转发功能适用于MySQL和PostgreSQL,允许写入只读节点,然后将写入转发到读写节点。这种能力可以在不重新编码应用程序的情况下进行扩展,并提供了各种可见性模式来控制写入可见性。在会话可见性模式下,更新需要约3毫秒,而第一次选择需要30毫秒才能确保读取自己的写入。最终一致性模式允许第一次选择以正常速度进行,但牺牲了读取自己写入的能力。全局一致性模式确保所有操作具有相同的延迟,等待自语句开始时间以来发生更改的数据被复制。
Aurora Global Database功能可以在另一个区域建立辅助集群,用于灾难恢复。基于存储的复制方法允许并行复制10GB块,避免了单流复制的瓶颈。可以在辅助区域中配置只读节点,并为只读应用程序启用写入转发。
Global Endpoint功能提供了一个单一端点,可自动解析为主区域,从而无需应用程序了解主区域,并实现跨区域的无缝故障转移。
讲者解释了Aurora存储的内部结构,包括传入队列、热日志、更新队列和数据块合并过程。I/O优化存储类型为所有工作负载提供可预测的定价,并为I/O密集型工作负载提供更好的性价比。如果客户在I/O成本上花费超过25%,应考虑这种选择,有些客户由于大量使用I/O,在Aurora账单上节省了高达70%的费用。
演示显示,与上一代相比,I/O优化存储的吞吐量高出2.3倍,延迟低6.4倍。对于16XL实例上的只读HammerDB基准测试,与R5实例上的标准存储相比,I/O优化存储的吞吐量高出1.9倍。在R7i实例上,I/O优化存储又提高了10%,而Postgres 17中的持久队列更改又增加了10%,总计吞吐量比上一代高出2.3倍。
对于48XL实例上的Postgres 17、I/O优化存储和持久队列更改的写入SysBench基准测试,与24XL R5实例上的标准存储相比,延迟在低端提高了3倍,在高端提高了6.4倍。延迟曲线明显更平坦,表明在各个吞吐量级别上延迟保持一致低延迟。
优化读取功能引入了分层缓存,利用NVMe存储来缓存临时对象和数据块。对于4XL实例上85GB工作集的CIS Bench点选择只读基准测试,启用分层缓存与从内存读取相比,延迟仅略有增加。当工作集增加到340GB,超过实例内存容量时,分层缓存通过从NVMe存储提供数据来保持低延迟,避免了从较慢存储读取的需求。对于680GB工作集和帕累托分布,分层缓存将延迟控制在内存性能的1.4倍以内,因为大部分数据都来自内存或NVMe存储。对于PG Vector测试,分层缓存将处理时间缩短了9倍。
Aurora Limitless Database是一种托管分片解决方案,旨在通过自动化重新分片、跨分片保持一致性以及提供一致的备份和恢复等任务来简化分片。分布式事务路由器层负责路由和事务处理,而数据访问分片层存储数据。Aurora Limitless Database已扩展至超过200万TPS,并支持自动重新分片、无服务器容量扩展、一致的查询DDL以及一致的备份和恢复。
Aurora de SQL是Aurora家族的新成员,与Aurora Postgres不同,它是Postgres兼容但不完全兼容Postgres,因为它具有分布式特性。它支持真正的多写入器,采用乐观并发控制,目前事务大小限制为10,000行和5分钟(预览版)。与具有缓存的只读节点的Aurora Postgres不同,Aurora de SQL直接从存储读取数据,而不进行缓存,利用优化来实现高效读取。Aurora de SQL提供一致读取,而Aurora Postgres提供最终一致读取,除非启用读取转发。Aurora de SQL可以支持跨区域的主动-主动全局部署,实现跨区域的同步提交,从而实现0 RPO。
讲者还讨论了Zero ETL功能,该功能允许客户将数据从Aurora复制到Amazon Redshift,延迟仅为5到10秒。这使得可以基于Aurora中的OLTP数据构建实时仪表板,并在Redshift上运行。一个客户用例是能够在单个Redshift集群中查询来自MySQL和PostgreSQL等多个数据库的数据,利用Zero ETL。讲者强调,Aurora的存储层允许更高效的并行直接导出用于种子数据,以及增强的binlog流用于CDC,从而最小化对主OLTP工作负载的影响。
最后,讲者简要总结并向观众表示感谢,鼓励他们对本次会议提供反馈。
下面是一些演讲现场的精彩瞬间:
演讲者介绍了Amazon Aurora作为一款与MySQL和PostgreSQL完全兼容的云原生数据库,在开源软件之上提供企业级功能。
Andy Jassy解释了传统数据库分片的挑战,以及Amazon的无限数据库如何旨在使分片变得简单且一致。
亚马逊云科技 reinvent 2024:探讨Aurora和DSQL两种分离计算和存储的分离式数据库之间的相似之处和差异,以及它们的无服务器功能。
Amazon Aurora Postgres和Amazon DSQL提供了不同的并发控制机制,Aurora Postgres使用单写入者隐式/显式锁定,而DSQL是一个真正的多写入者系统,采用乐观并发控制。
亚马逊云科技解释了Amazon DSQL如何直接从存储读取数据而无需缓存,通过推送下技术优化读取性能,并利用NVMe存储实现快速访问。
Andy Jassy强调了Amazon Aurora Global Database的主动-主动多写入器功能,允许在多个亚马逊云科技区域进行写入,并在提交时进行同步复制,实现跨区域的RPO为0。
演讲者概述了深入探讨会话424,邀请观众进一步探索SQL和相关主题的细节。
演讲者深入探讨了Amazon Aurora这一云原生数据库服务的创新功能和能力。Aurora的分离式存储架构可实现高性能、可扩展性和持久性,具有并行复制、自动修复和跨多个Availability Zones的只读副本等功能。演讲者重点介绍了最近推出的I/O优化存储,为I/O密集型工作负载提供可预测的定价和改进的性能。
Aurora Serverless V2可以实现计算和内存资源的无缝秒级扩展,具有缓冲池大小调整和为优化成本而缩减至零的能力。演讲者还讨论了可管理性的增强功能,如零停机修补、蓝绿部署以及与Amazon Redshift的零ETL集成,实现实时分析。
此外,演讲者介绍了Aurora Limitless,这是一种托管分片解决方案,可在保持分片之间一致性的同时简化横向扩展。最后,演讲者概述了新发布的Aurora de SQL,这是Aurora家族中的一种分布式SQL数据库,其多写入器架构和乐观并发控制与Aurora PostgreSQL的传统单写入器模型形成对比。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。