如果您的公司有数据仓库, 您可能会使用 ETL (extract、 Transform、 load) 或 ELT ( extract、 load、 Transform) 将您的数据从不同的来源获取到数据仓库中。这些是移动数据卷和集成数据的常用方法, 以便您可以关联来自不同来源的信息, 将数据安全地存储在一个位置, 并使公司的成员能够从不同部门查看数据。

这两个术语的区别与这些过程的发生顺序有关。这些方法都适合于不同的情况。让我们看近一点。

什么是 ETL?

ETL 是一个过程, 涉及从不同的源 (有时使用临时表) 中提取数据并进行转换, 执行诸如更改数据类型或应用计算等操作。然后, 在数据转换后, 将其加载到目标数据库中, 通常是数据仓库。当您执行 etl 时, etl 软件会进行大量的提升–转换。

ETL 通常用于以下情况:

  • 源和目标数据库不同, 并使用不同的数据类型。
  • 数据量适中或较小。
  • 转换是计算密集型的。
  • 数据是结构化的。

什么是英语?

ELT 是一个过程, 涉及提取数据, 将其加载到目标仓库中, 然后在加载后进行转换。在这种情况下, 转换数据的工作由目标数据库完成。ELT 通常发生在 NoSQL 数据库 (如 Hadoop 群集或云安装) 中。

在下列情况下通常使用 ELT:

  • 源和目标数据库的类型相同 (即 Oracle 源和目标)。
  • 数据量很大。
  • 目标数据库引擎适合处理大量数据。
  • 数据是非结构化的。

哪一个更好?

这些描述可能会让您怀疑哪种方法更好。事实上, 在不同的情况下, 这些方法中的每一种都有优势, 最好的解决方案取决于你的情况。

下表对比了一些关键区别。

ETL ELT
成熟 ETL 已经存在了20年, 它专门设计用于处理关系数据库、结构化和非结构化数据以及非常大的数据卷。有许多专家和最佳做法可以指导您使用 ETL。还有许多 ETL 工具可供选择。 英语与 ETL 没有很好的适应, 因为它不是专门用于处理过去20年市场占据主导地位的关系数据库的。
灵活性 较旧的 ETL 工具非常适合关系数据库, 但通常较少适合于非结构化数据。此外, 使用 ETL 工具, 您必须映射将要移动到目标数据库的数据, 并且对该计划所做的任何更改都需要重新构造映射, 并且再次加载所有数据。 ELT 工具通常可以处理结构化和非结构化数据的组合。此外, ELT 工具通常将所有数据移动到目标中, 从而使结果数据集更加灵活。
硬件要求 许多传统的 ETL 工具都需要特定的硬件, 并且有自己的引擎来对数据进行转换。虽然现代 ETL 平台在云中运行。 ELT 工具利用现有硬件的计算能力对数据执行转换。
更好的..。 ·结构化数据
·更小的数据量和复杂的计算
·内部关系数据库
·非结构化数据
·大量数据和较不复杂的计算
·云环境
·数据湖

ETLT 方法

看着这个利弊的列表, 你可能会看到两个阵营的特点, 吸引你和相关的问题, 你想解决

例如, 您可能希望使用管线中的时间戳或 geolocations 来丰富数据, 但是在加载之后, 可以启用目标数据库执行可能需要数据库繁重的任务 (如联接) 的复杂转换, 而这是有效的。

考虑要将源数据与数据仓库中现有目标数据联接的方案。使用 ETLT (提取、转换、加载、转换) 方法, 您不需要将数据从现有的目标数据库中拉出, 这样您就可以将其加入到将要加载的数据中。产生的管道是一个很有意义的方法: 允许你的每个工具做他们最适合一个高效、灵活的解决方案的事情。

Comments are closed.