🏢 公司C档 · NaN分

ETL这道墙,AWS自己动手拆了

··约1分钟阅读

📋 总体概括

Aurora PostgreSQL零ETL直达SageMaker、Redshift原生写Iceberg,AWS两条产品线指向同一判断:ETL正从独立产品退化为配置开关,数据平台收敛为'一个开放湖仓底座+多引擎'。本文拆解CDC机制、schema演化的工程含义与背后的经济账。

📄 正文

每个数据团队都有一段被ETL支配的凌晨记忆。管道挂了、告警响了、天亮之前必须补数——这套脏活累活,正在被云厂商系统性地消化掉。AWS近期的两条产品动作放在一起看,信号非常清晰:Aurora PostgreSQL 零ETL直连 Amazon SageMaker,Amazon Redshift 原生支持 Apache Iceberg 写入与模式演化。前者消灭自建管道,后者消灭数据重写。ETL正在从一个'产品品类'退化为一个'配置开关',而数据平台的终局,正在收敛为一个开放的湖仓底座加多个计算引擎。

🧱 零ETL:AWS在拆自己最老的生意

一个真实场景:业务库表结构一改,下游同步脚本全崩。运维同学半夜回滚DDL,数据工程师第二天补写兼容逻辑,BI同学眼看着报表停在昨天。这是过去二十年数据平台的默认状态——业务库和分析库之间,永远隔着一层需要人伺候的管道。

AWS这次的答案很直接:Aurora PostgreSQL 与 Amazon SageMaker 之间的零ETL集成,把操作型数据近实时地复制到湖仓,全程不需要构建任何自定义ETL管道。官方文档给的关键词有三个:近实时、免管道、可直接在SageMaker里查询。

传统链路长这样:

零ETL之后的链路:

从五层缩到两层,每一层都是一个潜在故障点、一份运维成本、一段补数时间。数据工程圈私下流传一句话:管道即债务——跑得越久,欠得越多。AWS把'跑管道'这件事变成'开开关',本质是把这笔债务从用户账上划到了云厂商账上。

产业逻辑也很清楚:ETL工具曾经养活了一整批中间件公司,但当复制能力被下沉为数据库的原生特性,这个中间层就失去了独立存在的理由。AWS做数据库起家,如今亲手拆掉'数据库之上的管道生意',不是失误,是收口。

🔄 CDC不是新词,被托管才是

零ETL的技术底座是CDC(变更数据捕获),这不是什么黑科技。基于事务日志捕获行级变更,再应用到目标端,Oracle GoldenGate、Debezium、AWS DMS 都干了很多年。区别在于:过去CDC是你要运维的组件——Kafka集群、消费组、位点管理、Schema Registry,一整套都得自己扛;现在它是你看不见的开关。

复制机制大致是这样的:

注意两个工程细节。第一,数据流向是'操作库→湖仓',也就是说AWS选择的落点是湖仓而不是传统数仓——这决定了后面所有故事的走向。第二,官方材料特别强调要理解CDC机制再启用集成,说明这套东西并不是魔法:日志解析、延迟、大事务这些经典CDC问题依然存在,只是被封装到了服务侧。据接近AWS的架构师私下聊,托管化的价值不在于让CDC消失,而在于把'修管道'变成了'看监控'——故障面从用户侧转移到了服务侧,这对大多数没有专职平台团队的公司是质变。

对产业而言,这意味着'数据集成'品类的护城河正在被云厂商用'集成即特性'的方式填平。中小场景下,自建CDC管道的技术含量会被快速摊薄;留给人做的,只剩超大规模、多源异构、跨云这类托管服务覆盖不到的硬骨头。

🧊 Iceberg写入:Redshift补上最后一块拼图

第二个动作更值得细品。AWS发布的Redshift系列第三篇,讲的是 Apache Iceberg 的写入支持:用户可以通过ALTER语句演化表结构和分区布局,重命名列、新增列、删除列、加宽类型、演化分区——全程不重写数据、不重建管道。

批处理时代

夜间全量跑批

中间件时代

自建CDC加消息队列

托管零ETL

Aurora直连SageMaker

开放写入时代

Redshift原生写Iceberg

这些操作的具体含义:

操作工程效果
重命名列元数据级变更,历史数据不动
新增/删除列元数据级变更,下游无感知
类型加宽无需重建表、无需数据重写
演化分区布局查询性能可调,数据不搬家
Lake Formation资源链接跨引擎受控访问S3 Tables

这里最重的一句话是:create AWS Lake Formation resource links for governed cross-engine access to Amazon S3 Tables。翻译过来——Redshift、SageMaker等多个引擎,通过 AWS Lake Formation 统一治理,访问同一份落在 Amazon S3 Tables 上的Iceberg数据。

过去数仓里的ALTER TABLE之所以'重',是因为存储和计算绑死,改结构往往意味着重刷数据。Iceberg这类开放表格式的核心价值,就是把表结构从数据物理布局中解耦出来,让schema演化降维成一次元数据操作。Redshift补上写入能力后,'数仓引擎'和'湖仓表格'之间的界限,在工程上已经基本抹平。

⚖️ 算的是经济账:管道的隐性成本

两条产品线合并起来看,AWS其实在替用户算一笔账:

维度自建ETL/CDC管道零ETL托管集成
数据新鲜度小时级常见,秒级靠堆资源近实时为默认值
故障面调度、队列、消费组层层可挂服务侧托管,用户侧开关
模式变更下游脚本连锁修改集成层与Iceberg演化承接
人力投入持续运维、补数、盯告警一次性配置加日常监控
成本结构隐性人力成本为主显性服务费用为主

隐性成本最伤人。不少数据团队私下算过账:管道初建只占生命周期成本的一小部分,大头都在后面几年的修补、扩容和告警处理上。零ETL把这部分从CapEx式的人力投入转成OpEx式的服务费,对小团队是解放,对大型平台团队则是选择题——你要弹性省心,还是要极致掌控。

更要紧的是一致性成本。同一份数据在业务库、数仓、机器学习特征表里各存一份,口径对不上的事每个公司都遇到过。数据复制到同一个湖仓底座后,分析引擎和训练环境看的是同一张表,'数出一门'才第一次有了工程保障。

🔭 终局:一个底座,多个引擎

把所有线索串起来,AWS的牌面很清楚:存储和元数据是锚,计算引擎随便换。Amazon S3 Tables 承载Iceberg数据,Lake Formation管治理和权限,Redshift、SageMaker只是底座之上的计算角色——今天负责分析,明天负责训练。

这意味着两件事。第一,计算引擎层的竞争会进一步白热化,因为没有引擎敢绑定存储;第二,真正的话语权向'存储格式+元数据+治理'三层迁移,这正是AWS长期最厚的地方。零ETL负责把数据喂进来,Iceberg写入负责让数据活得下去,Lake Formation负责让数据用得放心——三板斧拼成一个闭环。

当然,凡事都有代价。零ETL目前是深度绑定AWS生态的能力,用它就意味着接受这套云上框架;Iceberg作为开放表格式是唯一的平衡锚,但锚的绳子毕竟还握在云厂商手里。多云团队、有强自建文化的公司,仍会在托管便利和供应商锁定之间反复掂量。

小结:零ETL和Iceberg原生写入,一个消灭管道,一个消灭重写,指向同一个终局——ETL从产品退化为特性,湖仓底座成为默认架构。接下来值得盯的是三件事:更多数据库接入零ETL网络的速度、Iceberg生态之外是否还有格式能活、以及治理层(Lake Formation这类)会不会成为新的竞争高地。管道工程师不必焦虑失业,但要焦虑转型——未来要修的不是脚本,而是数据契约。

本文由本站 AI 辅助聚合生成,原始来源如下:

🔎 本文基于以下资讯(素材溯源 · 信息来源)

📰 相关阅读推荐(与本文相关的其他资讯)