ETL 和 ELT 的区别

17 Mar 2025 | 6 分钟阅读

ETL

ETL 是最常用的方法,用于将数据从源系统传输到数据仓库。 提取、转换和加载是一个过程,包括从外部来源提取数据并对其进行转换以适应运营需求,然后将其加载到目标数据库或数据仓库中。 当我们使用不同的数据库作为数据仓库时,使用这种方法是合理的。

在这种情况下,我们必须将数据从一个地方转换到另一个地方,因此在专门的引擎中进行转换工作是一种合适的方式。

提取、加载和转换是一个过程,其中数据被提取并加载到数据库中的暂存表中。 加载到暂存表后,会在数据库中进行转换,然后将其加载到目标数据库或数据仓库中。

ETL 需要管理原始数据,包括提取所需信息和运行转换以满足业务需求。 提取、转换和加载等每个阶段都需要数据工程师和开发人员的交互,并处理传统数据仓库的容量限制。 使用 ETL,BI 用户和分析师习惯于等待,在整个 ETL 过程完成之前,无法简单地访问信息。

Difference between ETL and ELT

ELT

在 ELT 方法中,提取数据后,我们立即开始加载阶段,将所有数据源移动到单个集中式数据存储库中。 借助当今的基础设施技术使用云,系统现在可以支持大型存储和可扩展的计算。 因此,对于维护所有提取的原始数据,大型扩展数据池和快速处理几乎是无限的。

通过这种方式,ELT 方法为 ETL 提供了一种现代替代方案,但在某些情况下我们需要使用 ELT。 在各种情况下,应使用 ELT 而不是 ETL,这些情况包括

  • 当数据量很大时,使用 ELT。
  • 当源数据库和目标数据库相同时。
  • 当数据库引擎非常适合处理时,例如 PDW,借助 ELT,可以非常快速地加载大量数据。
Difference between ETL and ELT

注意:当我们使用 ETL 时,转换由 ETL 工具处理,而在 ELT 中,转换由目标数据源处理。

ELT 的工作原理

提取、加载和转换是从无限来源收集信息,将其加载到处理位置并将其传输到可操作的商业智能的过程。

  • 提取: 从不同的数据源提取数据,这两种数据管理方法的工作方式相似。
  • 加载: ELT 将整个数据传送到它将存在的站点。 ELT 缩短了提取和交付之间的周期,但在数据变得有用之前,还有很多工作要做。
  • 转换: 在此,数据仓库和数据库对数据进行排序和规范化。 存储此数据的开销很高,但它带来了更多机会。

ETL 和 ELT 之间的区别是

参数ETLELT
过程数据在暂存服务器中传输,然后移动到数据仓库数据库。数据保留在数据仓库的数据库中。
转换转换在 ETL 服务器和暂存区中完成。转换在暂存区中执行。
代码使用ETL 用于
  • 少量数据
  • 计算密集型转换。
ELT 用于
  • 海量数据。
加载时间首先将数据加载到暂存区,然后再加载到目标系统中。 这是一个耗时的过程。在 ELT 中,数据仅加载到目标系统中一次。 此过程花费的时间更少。
转换时间ETL 过程需要时间才能完成转换。 随着数据大小的增长,转换时间会增加。在 ELT 过程中,速度永远不会取决于数据的大小。
维护时间由于我们选择要加载和转换的数据,因此需要进行大量维护。ELT 需要低维护,因为数据始终可用。
实现复杂性在 ELT 中,在早期阶段实现起来更容易。为了实施 ELT 过程,组织应深入了解专家技能和工具。
数据湖支持ETL 不支持数据湖。ELT 允许将数据湖与非结构化数据一起使用。
对数据仓库的支持ETL 模型用于关系数据和结构化数据。ELT 用于可扩展的云基础设施,该基础设施同时支持结构化数据和非结构化数据。
复杂度ETL 过程仅加载在设计时确定的基本数据。ELT 仅涉及从输出向后进行开发和加载相关数据。
费用在 ETL 过程中,中小型企业的成本很高。ELT 包括使用在线软件即服务平台的低入门成本。
查找在 ETL 过程中,维度和事实需要在暂存区中可用。在 ELT 中,所有数据都将可用,因为提取和加载在一次操作中发生。
计算在 ETL 中,现有列被覆盖或需要附加数据集并推送到目标平台。在 ELT 中,可以轻松地将列添加到现有表中。
硬件在 ETL 中,这些工具具有独特的硬件要求,这非常昂贵。ELT 是一个新概念,并且难以实施。
对非结构化数据的支持ETL 支持关系数据ELT 帮助处理随时可用的非结构化数据。

何时 ETL 是正确的选择?

这取决于公司现有的网络架构、预算以及它已经使用云和大数据技术的程度。 但是,当任何或所有三个重点领域至关重要时,我们可以考虑使用 ELT。

何时将提取速度作为优先事项

当将提取速度作为优先事项时,我们应该使用 ELT。 因为 ELT 不必等待数据被异地处理后再加载(在此,数据的加载和转换可以并行进行)。 此处的提取过程更快,并且传递原始信息的速度比 ETL 更快。

何时拥有更多信息会更好

将数据转化为商业智能的优势在于能够将隐藏模式表面化为可操作的信息。 通过保留所有历史数据,组织可以挖掘时间线、销售模式、季节性趋势或任何新兴指标,这对于组织而言至关重要。 在这种情况下,我们可以访问原始数据,因为在加载之前没有转换数据。 大多数情况下,在云数据湖中,存储原始数据,然后存储精炼数据或处理后的信息。 例如,数据科学家更喜欢使用原始数据的访问权限,而业务用户更喜欢使用规范化的数据进行商业智能。

何时知道我们需要扩展

当我们使用高端数据处理引擎(如云数据仓库或 Hadoop)时,ELT 可以利用本机处理能力来实现更高的可伸缩性。 ETL 和 ELT 都是从原始数据生成商业智能的省时方法。 但是,云计算正在改变企业如何利用所有技术来应对 ELT 挑战。

结论

ETL 代表提取、转换和加载,而 ELT 代表提取、加载和转换。 在 ETL 中,数据从源流向暂存区,然后再流向目标。 在 ELT 中,目标系统执行转换。 暂存系统不参与 ELT。 在 ELT 中,我们面临许多挑战,但它成本高昂,并且需要出色的技能才能实施和维护。


下一主题#