数据仓库快速入门教程5-ETL与ELT的差异

什么是ETL?

ETL是Extract,Transform和Load的缩写。 在此过程中,ETL工具从不同的RDBMS源系统中提取数据,然后转换数据,如应用计算,连接等,然后将数据加载到数据仓库系统中。

在ETL中,数据是从源流向目标。 在ETL过程中,转换引擎负责数据更改。

图片.png

什么是ELT?

ELT是用于查看数据移动。 ELT不在数据写入之前转换数据,而是让目标系统进行转换。 数据首先复制到目标,然后转换。

ELT通常与无Sql数据库(如Hadoop集群,数据设备或云)一起使用。

image

ETL与ELT之间的区别

参数 ETL ELT
处理 数据在staging服务器上转换,然后传输到Datawarehouse DB。 数据保留在Datawarehouse的DB中。
代码 计算密集型转换;少量数据 用于大量数据
转型 转换在ETL服务器/staging区域中完成。 转换在目标系统中执行
时间负载 数据首先加载到暂存中,然后加载到目标系统中。 时间密集。 数据仅一次加载到目标系统。 更快。
时间转换 ETL过程需要等待转换完成。 随着数据量的增长,转换时间也会增加。 在ELT过程中,速度决不依赖于数据的大小。
时间维护 当您需要选择要加载和转换的数据时,它需要高维护。 数据始终可用,维护成本低。
实施复杂性 在早期阶段,更容易实施。 要实施ELT流程,组织应该具备对工具和专家技能的深入了解。
支持数据仓库 ETL模型用于内部部署,关系数据和结构化数据。 用于可扩展的云基础架构,支持结构化的非结构化数据源。
数据湖支持 不支持。 允许将Data Lake与非结构化数据一起使用。
复杂 ETL过程仅加载在设计时标识的重要数据。 可以加载后续相关数据。
成本 中小型企业的高成本。 在线软件即服务平台,低入门成本,后期成本高
查找 在ETL过程中,事实和维度都需要在临时区域中提供。 所有数据都可用,因为提取和加载只需一次操作即可完成。
聚合 复杂性随着数据集中额外的数据量而增加。 目标平台的强大功能可以快速处理大量数据。
计算 覆盖现有列或需要附加数据集并推送到目标平台。 轻松将计算列添加到现有表中。
成熟 使用了二十多年。 它有详细记录,可以轻松获得最佳实践。 相对较新的概念和复杂的实施。
硬件 大多数工具都具有昂贵的独特硬件要求。 Saas,硬件成本不是问题。
非结构化数据 主要支持关系数据 支持非结构化数据随时可用。

参考资料

小结:

ETL代表Extract,Transform和Load,而ELT代表Extract,Load,Transform 在ETL过程中,数据从源流到分段到目标。 ELT让目标系统进行转换。 没有涉及分期系统。 ELT解决了许多ETL挑战,但价格昂贵,需要利用技能来实施和维护。

参考资料

links