百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

深入解析全新 AWS S3 Tables:重塑数据湖仓架构

liuian 2025-05-16 14:47 26 浏览

在 AWS re:Invent 2024 大会中,AWS 发布了 Amazon S3 Tables : 一项专为可扩展存储和管理结构化数据而设计的解决方案,基于 Apache Iceberg 开放表格式标准构建。在深入了解 Amazon S3 Tables 之前,我们需要先理解什么是“开放表格式”(Open Table Format, 简称 OTF)以及 Apache Iceberg。

什么是开放表格式(Open Table Format,OTF)?

在传统数据库中,读取数据通常涉及安装数据库软件、创建数据库、定义表结构(schema)和表或外部表,然后再从这些表中读取数据。而开放表格式则采取不同方式:

  • 数据直接以文件形式(如 Apache Parquet、Apache ORC 或 Apache Avro)存储在数据湖中。
  • 不需要将数据加载到数据库中,而是通过表格式协议将这些文件 组织并管理为“虚拟表”,就像它们存在于数据库中一样。

为了简化查询,可以使用例如 AWS Glue Catalog 这样的目录系统来注册这些虚拟表,进而让 Apache Spark、Trino、AWS Athena 等查询引擎 能够无缝访问和处理数据。

目前主流的开放表格式包括:

  • Apache Iceberg
  • Delta Lake
  • Apache Hudi

这些格式因其 高性能、强可扩展性以及支持时间旅行查询和 schema 演化 等高级功能而受到广泛采用。

Apache Iceberg 简介

Apache Iceberg 是一款为数据湖中的大规模数据集设计的开源表格式,提供如下特性:

  • 支持 ACID 事务,确保数据一致性;
  • 支持 schema 演化,适应业务变化;
  • 支持 时间旅行(Time Travel),便于历史数据回溯与审计。

Iceberg 提供了一种类似传统数据库的数据管理体验,让 AWS S3 这类云对象存储更具数据库特性,同时提升了数据分析任务的 性能、数据可靠性和灵活性

S3 中的桶类型演进

在此次发布之前,Amazon S3 主要有两种类型的存储桶(bucket):

  1. 通用存储桶(General Purpose Bucket):最初的标准 S3 存储类型;
  2. 目录桶(Directory Bucket):在 2023 年 re:Invent 推出,属于 S3 Express,支持更快的性能和分层存储结构。

而在 2024 年,Amazon S3 Tables 引入了第三种桶类型:S3 Table Bucket —— 专门用于存储结构化表格数据,与 Apache Iceberg 深度集成,提供数据库级的数据管理体验。

S3 Tables

Amazon S3 Tables 是一种 在 S3 中托管的 Apache Iceberg 表,旨在让结构化数据(如每日交易记录、传感器读数或广告曝光等)存储和分析更加简单高效。这类数据以行和列的形式组织,类似于传统数据库中的表。将 Apache Iceberg 表直接集成到 Amazon S3 中的 全托管服务,标志着数据湖与数据仓库(湖仓)融合迈出了重要一步。

使用 S3 Tables 时,数据存储在一种名为 “表桶”(table bucket) 的特殊 S3 存储桶中。该桶以表为子资源进行组织,并原生支持 Apache Iceberg 格式,从而实现对表数据的高效管理与无缝查询。

用户可以使用标准 SQL 语句,结合 Amazon Athena、Amazon Redshift、Apache Spark 等主流工具,对这些表进行查询,数据分析变得直观且易于上手。S3 Tables 的设计目标是在控制存储成本的同时,显著提升查询性能

S3 Table资源分类体系(New Taxonomy)

  • Namespaces(命名空间):命名空间是对 S3 表的逻辑分组方式,用于更高效地组织和管理表。它们不是实际的物理资源(不像 S3 表或表桶那样存在),而是纯粹的组织工具,便于进行权限控制和数据管理的扩展。
  • S3 表桶 & 表级策略(Table Bucket & Table Policies):现在,您可以为表桶(Bucket)和表(Table)分别编写资源级策略(Resource-Based Policies),同时也支持基于命名空间的策略管理。这增强了精细化的访问控制能力。
  • 表的 ARN(Table ARN):每个 S3 表现在都拥有一个唯一的 ARN(Amazon Resource Name),用于唯一标识和编写资源访问策略,便于集成与权限管理。
  • S3 Tables 接口终端节点(S3 Tables Endpoint):Amazon 为 S3 Tables 引入了全新的 接口终端节点(Interface Endpoint),这些终端节点是区域(Region)专属的,支持通过私有网络安全访问。
  • S3 Tables 操作类 API(Operational APIs):Amazon 推出了全新的 API,用于执行表的基本操作,包括:istTable 、CreateTable、GetTableMetadataLocation、UpdateMetadataLocation、DeleteTable
  • S3 Tables 管理类 API(Management APIs):为更好地进行表和桶的管理,AWS 还新增了以下 API:PutTablePolicy、PutTableBucketPolicy、PutTableMaintenanceConfig、PutTableBucketMaintenanceConfig

这些新能力标志着 S3 Tables 在数据治理、权限控制和操作自动化方面的全面进化。

S3 Tables 的核心优势与特性

Amazon S3 表兼具现代表存储系统的可扩展性、性能和可管理性。通过增强性能、确保表级安全性并优化存储成本,它们解决了大规模管理表格数据的核心挑战,使其成为一款强大的解决方案。

  1. 面向分析任务的性能优化
  2. 查询性能提升最高可达3倍,每秒事务数提升可达10倍(相较于用户自建 Iceberg 表+通用 S3 存储)。
  3. 自动进行 表维护、文件压缩和快照管理,持续优化查询效率、降低存储成本。
  4. 无缝对接 AWS 分析服务
  5. 支持 Apache Iceberg 标准,与 Amazon Athena、Redshift、EMR 等分析服务无缝对接。
  6. 用户可继续使用现有的工具链和技能,简化数据处理流程,提高开发效率
  7. 简化的数据管理与治理
  8. 引入 “表桶(table buckets)” 的概念,为表数据专门设计的 S3 存储类型。
  9. 支持表级权限控制,便于数据治理。
  10. 原生支持 Iceberg 的 schema 演化 和 time travel 功能,表结构可随业务变化灵活演进,无需复杂迁移。
  11. 对 Snowflake 与 Iceberg 格局的影响
  12. AWS 的深度集成意味着对 Apache Iceberg 作为开放表格式的强力背书
  13. Snowflake 也在积极支持 Iceberg,S3 Tables 的出现促进 跨平台协作与兼容,为同时使用 AWS 和 Snowflake 的企业带来更大灵活性。

S3 Tables 对湖仓架构和数据分析的深远意义

  1. 加速湖仓一体化落地:S3 Tables 打通了数据湖存储与数据仓库引擎的界限,以 Iceberg 为桥梁,实现结构化数据在数据湖中高性能、安全管理和查询,推动企业真正从“数仓+数湖”走向“统一的湖仓架构”。
  2. 降低构建现代数据平台的门槛:用户无需自己搭建元数据服务或处理表维护事务,即可使用标准的 Iceberg 表模型,极大简化数据湖平台运维复杂度
  3. 增强数据资产治理与生命周期管理能力:借助 S3 Tables 的原生表模型和权限管理,企业可以更轻松实现数据审计、访问控制、版本回溯等功能,提升数据可信度和合规性。
  4. 推动开源生态标准化与可移植性:随着 AWS 和 Snowflake 等巨头对 Iceberg 的支持,企业不再被绑定于某一个数据平台,可以在多个云服务和计算引擎之间灵活切换,提升架构弹性。


Amazon S3 Tables 的发布不仅是 AWS 数据湖服务的重要升级,更标志着 “数据湖即数据仓库” 的理念正在成为现实。它将 性能、兼容性、治理能力 三者统一于一体,为构建下一代统一的数据分析平台提供了强有力的基础设施支撑。

在 AWS re:Invent 2024 大会中,AWS 发布了 Amazon S3 Tables : 一项专为可扩展存储和管理结构化数据而设计的解决方案,基于 Apache Iceberg 开放表格式标准构建。在深入了解 Amazon S3 Tables 之前,我们需要先理解什么是“开放表格式”(Open Table Format, 简称 OTF)以及 Apache Iceberg。

什么是开放表格式(Open Table Format,OTF)?

在传统数据库中,读取数据通常涉及安装数据库软件、创建数据库、定义表结构(schema)和表或外部表,然后再从这些表中读取数据。而开放表格式则采取不同方式:

  • 数据直接以文件形式(如 Apache Parquet、Apache ORC 或 Apache Avro)存储在数据湖中。
  • 不需要将数据加载到数据库中,而是通过表格式协议将这些文件 组织并管理为“虚拟表”,就像它们存在于数据库中一样。

为了简化查询,可以使用例如 AWS Glue Catalog 这样的目录系统来注册这些虚拟表,进而让 Apache Spark、Trino、AWS Athena 等查询引擎 能够无缝访问和处理数据。

目前主流的开放表格式包括:

  • Apache Iceberg
  • Delta Lake
  • Apache Hudi

这些格式因其 高性能、强可扩展性以及支持时间旅行查询和 schema 演化 等高级功能而受到广泛采用。

Apache Iceberg 简介

Apache Iceberg 是一款为数据湖中的大规模数据集设计的开源表格式,提供如下特性:

  • 支持 ACID 事务,确保数据一致性;
  • 支持 schema 演化,适应业务变化;
  • 支持 时间旅行(Time Travel),便于历史数据回溯与审计。

Iceberg 提供了一种类似传统数据库的数据管理体验,让 AWS S3 这类云对象存储更具数据库特性,同时提升了数据分析任务的 性能、数据可靠性和灵活性

S3 中的桶类型演进

在此次发布之前,Amazon S3 主要有两种类型的存储桶(bucket):

  1. 通用存储桶(General Purpose Bucket):最初的标准 S3 存储类型;
  2. 目录桶(Directory Bucket):在 2023 年 re:Invent 推出,属于 S3 Express,支持更快的性能和分层存储结构。

而在 2024 年,Amazon S3 Tables 引入了第三种桶类型:S3 Table Bucket —— 专门用于存储结构化表格数据,与 Apache Iceberg 深度集成,提供数据库级的数据管理体验。

S3 Tables

Amazon S3 Tables 是一种 在 S3 中托管的 Apache Iceberg 表,旨在让结构化数据(如每日交易记录、传感器读数或广告曝光等)存储和分析更加简单高效。这类数据以行和列的形式组织,类似于传统数据库中的表。将 Apache Iceberg 表直接集成到 Amazon S3 中的 全托管服务,标志着数据湖与数据仓库(湖仓)融合迈出了重要一步。

使用 S3 Tables 时,数据存储在一种名为 “表桶”(table bucket) 的特殊 S3 存储桶中。该桶以表为子资源进行组织,并原生支持 Apache Iceberg 格式,从而实现对表数据的高效管理与无缝查询。

用户可以使用标准 SQL 语句,结合 Amazon Athena、Amazon Redshift、Apache Spark 等主流工具,对这些表进行查询,数据分析变得直观且易于上手。S3 Tables 的设计目标是在控制存储成本的同时,显著提升查询性能

S3 Table资源分类体系(New Taxonomy)

  • Namespaces(命名空间):命名空间是对 S3 表的逻辑分组方式,用于更高效地组织和管理表。它们不是实际的物理资源(不像 S3 表或表桶那样存在),而是纯粹的组织工具,便于进行权限控制和数据管理的扩展。
  • S3 表桶 & 表级策略(Table Bucket & Table Policies):现在,您可以为表桶(Bucket)和表(Table)分别编写资源级策略(Resource-Based Policies),同时也支持基于命名空间的策略管理。这增强了精细化的访问控制能力。
  • 表的 ARN(Table ARN):每个 S3 表现在都拥有一个唯一的 ARN(Amazon Resource Name),用于唯一标识和编写资源访问策略,便于集成与权限管理。
  • S3 Tables 接口终端节点(S3 Tables Endpoint):Amazon 为 S3 Tables 引入了全新的 接口终端节点(Interface Endpoint),这些终端节点是区域(Region)专属的,支持通过私有网络安全访问。
  • S3 Tables 操作类 API(Operational APIs):Amazon 推出了全新的 API,用于执行表的基本操作,包括:istTable 、CreateTable、GetTableMetadataLocation、UpdateMetadataLocation、DeleteTable
  • S3 Tables 管理类 API(Management APIs):为更好地进行表和桶的管理,AWS 还新增了以下 API:PutTablePolicy、PutTableBucketPolicy、PutTableMaintenanceConfig、PutTableBucketMaintenanceConfig

这些新能力标志着 S3 Tables 在数据治理、权限控制和操作自动化方面的全面进化。

S3 Tables 的核心优势与特性

Amazon S3 表兼具现代表存储系统的可扩展性、性能和可管理性。通过增强性能、确保表级安全性并优化存储成本,它们解决了大规模管理表格数据的核心挑战,使其成为一款强大的解决方案。

  1. 面向分析任务的性能优化
  2. 查询性能提升最高可达3倍,每秒事务数提升可达10倍(相较于用户自建 Iceberg 表+通用 S3 存储)。
  3. 自动进行 表维护、文件压缩和快照管理,持续优化查询效率、降低存储成本。
  4. 无缝对接 AWS 分析服务
  5. 支持 Apache Iceberg 标准,与 Amazon Athena、Redshift、EMR 等分析服务无缝对接。
  6. 用户可继续使用现有的工具链和技能,简化数据处理流程,提高开发效率
  7. 简化的数据管理与治理
  8. 引入 “表桶(table buckets)” 的概念,为表数据专门设计的 S3 存储类型。
  9. 支持表级权限控制,便于数据治理。
  10. 原生支持 Iceberg 的 schema 演化 和 time travel 功能,表结构可随业务变化灵活演进,无需复杂迁移。
  11. 对 Snowflake 与 Iceberg 格局的影响
  12. AWS 的深度集成意味着对 Apache Iceberg 作为开放表格式的强力背书
  13. Snowflake 也在积极支持 Iceberg,S3 Tables 的出现促进 跨平台协作与兼容,为同时使用 AWS 和 Snowflake 的企业带来更大灵活性。

S3 Tables 对湖仓架构和数据分析的深远意义

  1. 加速湖仓一体化落地:S3 Tables 打通了数据湖存储与数据仓库引擎的界限,以 Iceberg 为桥梁,实现结构化数据在数据湖中高性能、安全管理和查询,推动企业真正从“数仓+数湖”走向“统一的湖仓架构”。
  2. 降低构建现代数据平台的门槛:用户无需自己搭建元数据服务或处理表维护事务,即可使用标准的 Iceberg 表模型,极大简化数据湖平台运维复杂度
  3. 增强数据资产治理与生命周期管理能力:借助 S3 Tables 的原生表模型和权限管理,企业可以更轻松实现数据审计、访问控制、版本回溯等功能,提升数据可信度和合规性。
  4. 推动开源生态标准化与可移植性:随着 AWS 和 Snowflake 等巨头对 Iceberg 的支持,企业不再被绑定于某一个数据平台,可以在多个云服务和计算引擎之间灵活切换,提升架构弹性。


Amazon S3 Tables 的发布不仅是 AWS 数据湖服务的重要升级,更标志着 “数据湖即数据仓库” 的理念正在成为现实。它将 性能、兼容性、治理能力 三者统一于一体,为构建下一代统一的数据分析平台提供了强有力的基础设施支撑。

相关推荐

Python 中 必须掌握的 20 个核心函数——items()函数

items()是Python字典对象的方法,用于返回字典中所有键值对的视图对象。它提供了对字典完整内容的高效访问和操作。一、items()的基本用法1.1方法签名dict.items()返回:字典键...

Python字典:键值对的艺术_python字典的用法

字典(dict)是Python的核心数据结构之一,与列表同属可变序列,但采用完全不同的存储方式:定义方式:使用花括号{}(列表使用方括号[])存储结构:以键值对(key-valuepair)...

python字典中如何添加键值对_python怎么往字典里添加键

添加键值对首先定义一个空字典1>>>dic={}直接对字典中不存在的key进行赋值来添加123>>>dic['name']='zhangsan'>>...

Spring Boot @ConfigurationProperties 详解与 Nacos 配置中心集成

本文将深入探讨SpringBoot中@ConfigurationProperties的详细用法,包括其语法细节、类型转换、复合类型处理、数据校验,以及与Nacos配置中心的集成方式。通过...

Dubbo概述_dubbo工作原理和机制

什么是RPCRPC是RemoteProcedureCall的缩写翻译为:远程过程调用目标是为了实现两台(多台)计算机\服务器,互相调用方法\通信的解决方案RPC的概念主要定义了两部分内容序列化协...

再见 Feign!推荐一款微服务间调用神器,跟 SpringCloud 绝配

在微服务项目中,如果我们想实现服务间调用,一般会选择Feign。之前介绍过一款HTTP客户端工具Retrofit,配合SpringBoot非常好用!其实Retrofit不仅支持普通的HTTP调用,还能...

SpringGateway 网关_spring 网关的作用

奈非框架简介早期(2020年前)奈非提供的微服务组件和框架受到了很多开发者的欢迎这些框架和SpringCloudAlibaba的对应关系我们要知道Nacos对应Eureka都是注册中心Dubbo...

Sentinel 限流详解-Sentinel与OpenFeign服务熔断那些事

SentinelResource我们使用到过这个注解,我们需要了解的是其中两个属性:value:资源名称,必填且唯一。@SentinelResource(value="test/get&#...

超详细MPLS学习指南 手把手带你实现IP与二层网络的无缝融合

大家晚上好,我是小老虎,今天的文章有点长,但是都是干货,耐心看下去,不会让你失望的哦!随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势...

Cisco 尝试配置MPLS-V.P.N从开始到放弃

本人第一次接触这个协议,所以打算分两篇进行学习和记录,本文枯燥预警,配置命令在下一篇全为定义,其也是算我毕业设计的一个小挑战。新概念重点备注为什么选择该协议IPSecVPN都属于传统VPN传统VP...

MFC -- 网络通信编程_mfc编程教程

要买东西的时候,店家常常说,你要是真心买的,还能给你便宜,你看真心就是不怎么值钱。。。----网易云热评一、创建服务端1、新建一个控制台应用程序,添加源文件server2、添加代码框架#includ...

35W快充?2TB存储?iPhone14爆料汇总,不要再漫天吹15了

iPhone14都还没发布,关于iPhone15的消息却已经漫天飞,故加紧整理了关于iPhone14目前已爆出的消息。本文将从机型、刘海、屏幕、存储、芯片、拍照、信号、机身材质、充电口、快充、配色、价...

SpringCloud Alibaba(四) - Nacos 配置中心

1、环境搭建1.1依赖<!--nacos注册中心注解@EnableDiscoveryClient--><dependency><groupI...

Nacos注册中心最全详解(图文全面总结)

Nacos注册中心是微服务的核心组件,也是大厂经常考察的内容,下面我就重点来详解Nacos注册中心@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。微服务注册中...

网络技术领域端口号备忘录,受益匪浅 !

你好,这里是网络技术联盟站,我是瑞哥。网络端口是计算机网络中用于区分不同应用程序和服务的标识符。每个端口号都是一个16位的数字,范围从0到65535。网络端口的主要功能是帮助网络设备(如计算机和服务器...