ETL 和 ELT 差异

ETL 和 ELT 都是数据处理的模式,但是两者在逻辑和应用场景下是具有较大差异的。两者的英文单字都是相同的意思:

  • Extract,数据抽取,从数据源中提取数据
  • Ttransform,数据转换,包括了数据清理以及规范化处理,以及其他相关的操作
  • Load,数据加载,可以看作是将当前数据结果交付,应用于下游任务

ETL

从数据源中提取数据、转换操作之后,将数据加载到目标数据库或数据仓库的过程。也就是说最终写入数据仓库或者数据库中的数据,是相对来说“清洁的数据”。处理过程可以迭代的数据转换过程得到相应的数据结果——这也容易导致需要投入相应的资源进行维护转换。应用中下游的任务会依赖于 ETL 过程,所以它也不适合应用于长期任务以及大量数据的场景

ELT

将转换操作放到各个数据需要应用的引擎中,因此应用的场景更偏向于大数据,可以支持 DataLake,而且可以应用于非结构化数据中。

参考

  1. ETL vs ELT: Must Know Differences
作者

ZenRay

发布于

2020-12-12

更新于

2021-01-07

许可协议

CC BY-NC-SA 4.0