ETL vs ELT – 它们之间的区别

ETL 与 ELT 的关键区别

  • ETL 代表提取(Extract)、转换(Transform)和加载(Load),而 ELT 代表提取(Extract)、加载(Load)、转换(Transform)。
  • ETL 首先将数据加载到暂存服务器,然后再加载到目标系统,而 ELT 直接将数据加载到目标系统。
  • ETL 模型用于本地、关系型和结构化数据,而 ELT 用于可扩展的云结构化和非结构化数据源。
  • 比较 ELT 与 ETL,ETL 主要用于少量数据,而 ELT 用于大量数据。
  • 当我们比较 ETL 与 ELT 时,ETL 不提供数据湖支持,而 ELT 提供数据湖支持。
  • 比较 ELT 与 ETL,ETL 易于实施,而 ELT 需要专业技能才能实施和维护。
ETL vs ELT
ETL 与 ELT

什么是 ETL(提取、转换、加载)?

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

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

What is ETL
什么是 ETL

什么是 ELT(提取、加载、转换)?

ELT 是一种看待数据移动工具方法的不同方式。ELT 不在写入数据之前对其进行转换,而是让目标系统执行转换。数据首先复制到目标,然后就地进行转换。

ELT 通常与 NoSQL 数据库一起使用,例如 Hadoop 集群、数据设备或云安装。这是一些您可以考虑用于数据管理需求的最佳 ETL 工具的全面列表。

What is ELT
什么是 ELT

ETL 与 ELT:并排比较

以下是 ETL 和 ELT 的主要区别

参数 ETL ELT
过程 数据在暂存服务器上转换,然后传输到数据仓库数据库。 数据保留在数据仓库的数据库中。
代码使用 用于

  • 计算密集型转换
  • 少量数据
用于大量数据
转换 转换在 ETL 服务器/暂存区域进行。 转换在目标系统中执行
加载时间 数据首先加载到暂存区,然后加载到目标系统。耗时。 数据只加载到目标系统一次。速度更快。
转换时间 ETL 过程需要等待转换完成。随着数据量的增长,转换时间会增加。 在 ELT 过程中,速度从不取决于数据的大小。
维护时间 需要高维护,因为您需要选择要加载和转换的数据。 低维护,因为数据始终可用。
实施复杂性 在早期阶段,更容易实施。 要实施 ELT 过程,组织应具备深厚的工具知识和专家技能。
数据仓库支持 ETL 模型用于本地、关系型和结构化数据。 用于支持结构化和非结构化数据源的可扩展云基础设施。
数据湖支持 不支持。 允许使用非结构化数据的数据湖。
复杂性 ETL 过程仅加载在设计时确定的重要数据。 此过程涉及从输出向后开发并仅加载相关数据。
费用 中小型企业成本高。 使用在线软件即服务平台,入门成本低。
查找 在 ETL 过程中,事实和维度都需要在暂存区中可用。 所有数据都将可用,因为提取和加载是在一个单独的操作中进行的。
聚合 数据集中的数据量增加会增加复杂性。 目标平台的强大功能可以快速处理大量数据。
计算 覆盖现有列或需要追加数据集并推送到目标平台。 轻松将计算列添加到现有表。
成熟度 该过程已使用二十多年。它有完善的文档,最佳实践也易于获取。 相对较新的概念,实施复杂。
硬件 大多数工具都有昂贵的独特硬件要求。 作为 SaaS,硬件成本不是问题。
非结构化数据支持 主要支持关系型数据 随时支持非结构化数据。