Amazon S3 表格更智能:Intelligent-Tiering 与 Native Replication 解析

发布: (2026年1月1日 GMT+8 22:42)
8 分钟阅读
原文: Dev.to

Source: Dev.to

Source:

介绍

随着分析数据集的增长,组织面临两个长期存在的挑战:

  • 存储成本上升 – 历史表数据的访问频率降低。
  • 运营复杂性 – 在不同地区或 AWS 账户之间维护一致的 Apache Iceberg 表。

Amazon 最近通过为 Amazon S3 表引入 Intelligent‑Tiering原生复制 来解决这两个问题。这些增强功能显著简化了分析工作负载的成本优化和全球数据访问——无需更改应用程序或构建自定义同步流水线。

Amazon S3 表为 Apache Iceberg 表提供了一种 托管存储抽象,直接位于 Amazon S3 中。一个表由以下组成:

  • Parquet 数据文件
  • Iceberg 元数据文件(快照、清单、模式演进)

S3 表消除了在大规模管理 Iceberg 元数据时通常会遇到的大量运营负担,同时仍与 Spark、Trino、DuckDB 和 PyIceberg 等支持 Iceberg 的查询引擎兼容。

在支持 Intelligent‑Tiering 和复制之前,团队经常面临以下困难:

  • 手动生命周期规则以管理存储成本
  • 为跨地区或跨账户使用场景构建的自定义复制流水线
  • 为保持快照顺序和元数据一致性而编写的复杂逻辑

Source:

功能 #1:S3 表的智能分层

它是什么

Intelligent‑Tiering for S3 Tables 会根据观察到的访问模式自动在访问层之间移动表数据,从而优化存储成本——对性能没有影响,也无需更改应用程序。

S3 表支持三种低延迟访问层:

层级描述与 Frequent Access 相比的成本降低
Frequent Access(默认)热数据,立即访问
Infrequent Access温数据,访问频率较低约降低 40 %
Archive Instant Access冷数据,极少访问比 Infrequent Access 低约 68 %

对象会自动转换:

  • 约 30 天未访问 → Infrequent Access
  • 约 90 天未访问 → Archive Instant Access

AWS 估算: 根据访问模式,Intelligent‑Tiering 可将存储成本降低最高 80 %

好处

  • 无需更改应用程序或查询引擎
  • 对分析工作负载没有性能影响
  • 文件级别 自动分层
  • 内置维护操作仍可正常工作:
    • 压缩
    • 快照过期
    • 删除未引用的文件

压缩作业会优化为主要处理 Frequent Access 层的数据,避免对冷数据进行不必要的重新分层。

配置(AWS CLI)

# 为表桶启用智能分层
aws s3tables put-table-bucket-storage-class \
   --table-bucket-arn $TABLE_BUCKET_ARN \
   --storage-class-configuration storageClass=INTELLIGENT_TIERING
# 验证配置
aws s3tables get-table-bucket-storage-class \
   --table-bucket-arn $TABLE_BUCKET_ARN

该配置会自动应用于在该桶中创建的所有新表。

Source:

功能 #2:S3 表的原生复制

Amazon S3 表现在支持 原生复制 Apache Iceberg 表,跨 AWS 区域和账户进行复制。复制会创建 只读副本表,并与源表保持同步,省去使用 Lambda、Step Functions 等自定义同步系统的需求。

复制工作原理

  1. 目标表存储桶 已指定。
  2. S3 表创建一个 只读副本表
  3. 对已有数据进行 回填
  4. 持续 应用后续更新

复制会保留:

  • 快照血统
  • 父子关系
  • 按时间顺序的提交顺序

副本表通常在 几分钟内 反映源表的更新。

好处

  • 为分布式团队提供全局分析能力
  • 通过读取区域副本降低查询延迟
  • 符合合规性和数据驻留要求
  • 灾难恢复与数据保护
  • 支持时光旅行查询和审计

启用复制(AWS CLI)

aws s3tables-replication put-table-replication \
  --table-arn ${SOURCE_TABLE_ARN} \
  --configuration '{
    "role": "arn:aws:iam:::role/S3TableReplicationRole",
    "rules": [
      {
        "destinations": [
          {
            "destinationTableBucketARN": "${DESTINATION_TABLE_BUCKET_ARN}"
          }
        ]
      }
    ]
  }'
# 检查复制状态
aws s3tables-replication get-table-replication-status \
  --table-arn ${SOURCE_TABLE_ARN}

复制可跨 AWS 区域和账户 进行,查询性能与源表相当。

成本考虑

成本组件描述
存储目标表存储桶的存储(按层级计费)
PUT 请求复制过程中的 PUT 操作
表更新(提交)使用每次提交的元数据写入
对象监控对复制数据的监控费用
跨区域数据传输仅针对跨区域复制产生的费用
无额外配置费用只需为上述资源付费

提示: 使用 AWS 成本与使用报告CloudWatch 指标 追踪存储使用情况。

监控

  • AWS 成本与使用报告 – 按层级的存储费用
  • Amazon CloudWatch 指标 – 表使用情况及维护操作
  • AWS CloudTrail – 复制和配置事件

可用性

Intelligent‑Tiering 与 Amazon S3 表的原生复制已在 所有支持 S3 表的 AWS 区域 提供。

入门指南

  1. 启用 Intelligent‑Tiering 在表‑桶级别,以实现持续的成本优化。
  2. 测试维护操作(压缩、快照过期)在分层数据上。
  3. 启动复制,使用小型试点表以了解成本和延迟。
  4. 监控使用模式,在扩展到全生产复制之前。

这些功能对以下场景尤其有价值:

  • 数据密集型分析平台
  • 拥有分布式团队的全球组织
  • 合规驱动的工作负载
  • 具有混合访问模式的大型历史数据集

它们在保留 Iceberg 语义和查询性能的同时,显著 降低运营开销

结论

借助 Intelligent‑Tieringnative replication,Amazon S3 Tables 使在 Apache Iceberg 之上构建 成本高效全局一致、且 低维护 的分析平台更加容易。这些增强功能消除了传统上管理存储、分层和跨区域数据同步所需的大量手动工作。

Posts and cross‑region consistency — 让团队能够专注于分析而不是基础设施。

资源

  • AWS News Blog: Announcing replication support and Intelligent‑Tiering for Amazon S3 Tables
  • Amazon S3 Tables 文档
  • Amazon S3 定价页面
  • Apache Iceberg 文档
  • AWS 分析服务: Athena, EMR, Glue, Redshift
Back to Blog

相关文章

阅读更多 »

RGB LED 支线任务 💡

markdown !Jennifer Davishttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%...

Mendex:我为何构建

介绍 大家好。今天我想分享一下我是谁、我在构建什么以及为什么。 早期职业生涯与倦怠 我在 17 年前开始我的 developer 生涯……