概念定义
ETL(抽取、转换、加载)让数据先经过转换引擎再进入目标数仓,历史上因为那里的存储与算力稀缺昂贵。ELT(抽取、加载、转换)先把原始数据落入廉价云存储或数仓,再用数仓的弹性算力运行转换。选择取决于哪里算力最便宜,以及转换逻辑归谁所有。
为什么重要
旧约束是数仓存储与 CPU 都很宝贵,所以先转换能省下两者。云数仓把这一点颠倒过来:存储便宜、算力弹性、SQL 表达力强。ELT 让原始历史可供重放,让分析工程师在版本控制中拥有模型,并用同一台服务查询的引擎去扩展转换。
如何抉择
当平台是现代云数仓、存储廉价且有可信 SQL 工具时,默认选 ELT。当数据必须在离开受管区域前就完成脱敏或聚合、当带宽是瓶颈、或当目标端无法运行转换时,选 ETL。许多成熟平台在平台内部运行 ELT,仅在敏感边界保留一层轻量 ETL。