AWS re:Invent 2024:AWS 在其 S3 对象存储上种植了湖仓一体表,并首次推出了全球分布式 SQL 数据库。
紧跟数据管理的最新趋势,亚马逊网络服务(AWS)为其S3对象存储服务引入了对Apache Lakehouse表的支持,并首次推出了一款提供无限可扩展性、事务一致性和低延迟的分布式SQL数据库。
AWS的新任首席执行官Matt Garman在本周于拉斯维加斯举行的公司年度AWS re:Invent会议上介绍了这项技术。

新的存储桶类型
对于构建多源开源数据湖仓以进行分析的组织,公司引入了名为Amazon S3表的管理服务,提供Apache Iceberg表。
公司声称,与将数据存储在通用S3存储桶中相比,该数据存储服务为分析工作负载提供了快三倍的查询性能和高达十倍的每秒事务数。
AWS声称,现在普遍可用的Amazon S3表是“第一个完全支持Apache Iceberg的云对象存储”,尽管公司是跟随Snowflake和Databricks的脚步,这两家公司今年早些时候扩展了对Apache Iceberg的支持。
作为一种新的存储桶类型,Amazon S3表带来了许多好处,包括更快的分析能力,允许应用程序通过可查询的对象元数据更快地发现数据。
S3目前是世界上最大的存储桶,为数百万客户保存超过400万亿个对象。AWS发现Apache Parquet已成为S3上增长最快的数据文件格式之一。它被用来存储表格数据,这是数据查询的首选格式。Iceberg是能够管理Apache Parquet文件的开放表格式(OTF)之一。
用于访问Parquet文件的最广泛使用的引擎之一是Iceberg,它提供了通过用户首选的查询引擎(如Apache Spark或Apache Flink)使用SQL查询数据的能力。
Garman告诉听众,Iceberg带来了自己的挑战。
“很多客户会告诉你——像许多开源项目一样——Iceberg实际上很难管理,特别是在规模上。管理性能、可扩展性、安全性很难,”Garman说。“所以,你雇佣专门的团队来做这些事情,比如电缆维护、数据压缩、访问控制,所有这些你都需要管理并尝试从你的Iceberg实现中获得更好的性能。”
“S3正在为数据湖世界彻底重新发明对象存储,以提供更好的性能、更低的成本和更好的规模。”——Matt Garman,AWS re:Invent
Amazon S3表的卖点是自动处理所有这些杂务。“我们基本上提高了你所有Iceberg表的性能和可扩展性。
Amazon S3表负责表的维护工作,如压缩和快照杂务。它还提供行级事务、通过时间旅行功能查询快照、模式演变和表级访问控制。
Amazon S3表与AWS Glue数据目录集成(预览中),后者提供了通往AWS自己的可视化和分析服务的门户,如Amazon Athena、Redshift、EMR和QuickSight。
更好的元数据
Amazon S3表还消除了客户构建和/或维护自己的元数据系统的需求。
随着用户数据规模增长到PB级别,对象元数据变得越来越重要;对于找到所需数据,如日期和来源位置等属性可能是必不可少的,Garman解释说。
管理元数据也可能是一项杂务,Garman指出。你必须存储数据,然后将其与相关对象关联,然后构建一个事件处理管道,在搜索期间将其调出。
相关的功能S3元数据,现在处于预览阶段,为每个新对象自动生成元数据,包括系统关于对象本身的信息(大小、来源等)。用户/应用程序也可以添加自己的自定义元数据(如产品SKU、交易ID、内容评级、客户详情等)。
“S3元数据是让你立即发现关于你的S3数据信息的最快、最简单的方式,”Garman说。
“我们自动将你所有的对象元数据存储在一个Iceberg表中,然后你可以使用你最喜欢的分析工具轻松交互和查询这些数据,这样你可以快速了解你的对象,并找到你要找的对象,”他说。“随着对象的变化,S3实际上在几分钟内自动更新元数据,所以它始终是最新的。”
Amazon Aurora DSQL,一款分布式SQL数据库
Garman还介绍了公司Aurora SQL数据库服务的分布式版本,称为Amazon Aurora DSQL。
与PostgreSQL兼容的DSQL提供了几乎无限的可扩展性,因为分区可以分布在多个磁盘上,甚至分布在多个可用区域。
它提供了强一致性和99.999%的多区域可用性。
单服务器数据库系统可以提供强一致性,但它们被限制在服务器所在的单个区域。也有一些分布式数据库可以提供多区域可用性,但它们在性能上受到损害,因为需要时间在所有区域同步数据库集群。
AWS构建DSQL是为了同时实现这两个目标,Garman说。
而且,作为一项托管服务,DSQL无需管理任何基础设施。无需预置、修补或管理数据库实例。更新和安全修补在无停机时间的情况下进行。
有许多高性能的分布式关系数据库,如CockroachDB,尽管AWS声称DSQL比竞争对手快4倍。
Aurora DSQL通过将事务处理与存储分离来实现这一点。
“我们实际上将事务处理从存储层分离出来,所以你不需要在提交时检查每个单独的语句,”Garman解释说。“相反,你在做单一提交时;我们同时在所有区域并行化所有的写入,所以你可以在区域间获得强一致性,并以超快的速度写入数据库。”
承载数据库的Amazon Elastic Compute Cloud (EC2)实例通过Amazon Time Sync Service进行同步,确保微秒级的时间精度。因此,数据库的每个区域副本都以它们发生的确切顺序看到每个数据库操作。
随着公司建立国际客户群,他们发现单节点数据库无法提供全球一致性和足够低的延迟。
Autodesk、Electronic Arts、Klarna、QRT和Razorpay等公司正在探索多区域分布式数据库将带来的额外好处。例如,印度金融科技公司Razorpay可以使用DSQL来支持其不断增长的用户群,并满足金融用例所需的强大多区域一致性。
无服务器NoSQL DynamoDB也已全球化,提供了一个多区域、多活数据库,提供99.999%的可用性(使用与DSQL相同的技术和架构)。

by Joab Jackson
2024年12月4日




