亚马逊云科技为S3 Tables添加智能分层存储和复制功能
来源: InfoQ - 后端
亚马逊云科技最近宣布为S3 Tables引入两项新功能,第一项功能是新的智能分层存储类,该存储类能够根据访问模式自动优化成本,第二项功能是支持跨AWS区域和账户自动维护一致的Apache Iceberg表副本的复制功能,该过程无需手动同步。
智能分层存储类会将数据自动分配到最具成本效益的三个低延迟层级之一,即Frequent Access、Infrequent Access或Archive Instant Access。据公司介绍,最后一种是最低成本的层级,比Infrequent Access层级便宜68%。亚马逊云科技的主任开发者倡导者Sebastian Stromacq这样写到:
在无访问达30天后,数据会被移动到Infrequent Access层级,在90天后,则会迁移到Archive Instant Access层级,这一过程不会对应用程序造成影响或性能降低。
默认情况下,表使用标准存储类,但创建表时可以指定智能分层(Intelligent-Tiering)作为存储类,用户也可以在表存储桶级别配置默认存储类。用户可以将智能分层设置为表存储桶的默认存储类,如果在创建表时未指定存储类,那么表将自动存储在智能分层中。
用户可以利用AWS命令行界面(AWS CLI),通过put-table-bucket-storage-class和get-table-bucket-storage-class命令来更改或验证其S3表格存储桶的存储层级。相关命令如下所示:
aws s3tables put-table-bucket-storage-class \
--table-bucket-arn $TABLE_BUCKET_ARN \
--storage-class-configuration storageClass=INTELLIGENT_TIERING
# Verify the storage class
aws s3tables get-table-bucket-storage-class \
--table-bucket-arn $TABLE_BUCKET_ARN \
{ "storageClassConfiguration":
{
"storageClass": "INTELLIGENT_TIERING"
}
}来自Imperious Enterprise的AWS架构师Adefemi Adeyemi在LinkedIn的帖子中指出:
大多数分析数据集在一段时间内是“热”的,但随后会逐渐“冷却”。借助S3 Tables的智能分层功能,你无需不断调整Iceberg数据的生命周期策略。该服务会根据访问模式自动将对象移至更便宜的存储层级,这对长期存在的数据湖来说是一大优势。
此外,S3 Tables的复制功能可以帮助用户跨AWS区域和账户维护表格的一致性只读副本。当声明目标表格的存储桶时,服务会创建只读的副本表格,并以时间顺序复制所有更新,同时保持父子快照关系。这些副本表格将在源表格更新后的几分钟内得到更新,并支持独立于源表格的加密和保留策略。
Stromacq说到:
用户可以通过Amazon SageMaker Unified Studio或任何兼容Iceberg的引擎(包括DuckDB、PyIceberg、Apache Spark和Trino)查询副本表格。
借助AWS Management Console、API或AWS SDK,用户可以创建和维护表格副本。此外,他们可以指定用于复制源表格的目标表格存储桶。当用户启用复制功能时,S3 Tables会在这些存储桶中创建只读副本,使用最新状态进行回填,并持续监控更新以保持同步。
在同一篇LinkedIn帖子中,Adeyemi指出:
对复制功能的原生支持让你能够快速创建只读副本,这些副本在几分钟内即可与源表保持同步,并且可作为Iceberg表进行查询。减少了自定义集成的工作量,让你有更多时间真正使用数据。
用户可以通过AWS Cost and Usage Reports和Amazon CloudWatch指标跟踪各访问层的存储使用情况。配置智能分层无需额外费用,用户仅需支付各层的存储成本。至于S3 Table的复制,用户需支付目标表格的S3 Table的存储费用、复制PUT请求的费用、表格更新(提交)以及复制数据的对象的监控费用。更多详情可参见定价页面。
原文链接: