← 中文资源

简体中文版本

ETL 与 ELT

ETL 在加载进仓前完成转换;ELT 先加载原始数据,再用数仓自身算力完成转换。

阅读英文原文

概念定义

ETL(抽取、转换、加载)让数据先经过转换引擎再进入目标数仓,历史上因为那里的存储与算力稀缺昂贵。ELT(抽取、加载、转换)先把原始数据落入廉价云存储或数仓,再用数仓的弹性算力运行转换。选择取决于哪里算力最便宜,以及转换逻辑归谁所有。

为什么重要

旧约束是数仓存储与 CPU 都很宝贵,所以先转换能省下两者。云数仓把这一点颠倒过来:存储便宜、算力弹性、SQL 表达力强。ELT 让原始历史可供重放,让分析工程师在版本控制中拥有模型,并用同一台服务查询的引擎去扩展转换。

如何抉择

当平台是现代云数仓、存储廉价且有可信 SQL 工具时,默认选 ELT。当数据必须在离开受管区域前就完成脱敏或聚合、当带宽是瓶颈、或当目标端无法运行转换时,选 ETL。许多成熟平台在平台内部运行 ELT,仅在敏感边界保留一层轻量 ETL。