ETL 和 ELT 的区别
ETL
ETL 是我们从源系统传输数据时最常用的方法到数据仓库。提取、转换和加载是一个过程,涉及从外部源提取数据并将其转换以满足操作需求,然后将其加载到目标数据库或数据仓库中。当我们的数据仓库使用不同的数据库时,使用这种方法是合理的。
在这种情况下,我们必须将数据从一个地方转换到另一个地方,因此这是一种适当的方法来进行转换工作一个专门的引擎。
提取、加载和转换是一个过程,其中提取数据并将其加载到数据库的临时表中。将其加载到临时表后,将其转换到它在数据库中的位置,然后将其加载到目标数据库或数据仓库中。
ETL 需要对原始数据进行管理,包括提取所需的信息和运行转型以满足业务需求。提取、转换、加载等每个阶段都需要数据工程师和开发人员的交互,处理传统数据仓库的容量限制。使用 ETL,BI 用户和分析师习惯于等待,在整个 ETL 过程完成之前,无法简单地访问信息。
ELT
在 ELT 方法中,在提取数据后,我们立即开始加载阶段,将所有数据源移动到一个集中的数据存储库中。随着今天的基础设施技术正在使用云,系统现在可以支持大型存储和可扩展计算。因此,一个庞大的扩展数据池和快速处理对于维护所有提取的原始数据几乎是无止境的。
通过这种方式,ELT 方法提供了 ETL 的现代替代方案,但在某些情况下我们需要使用 ELT。在各种情况下应使用 ELT 代替 ETL,它们是:
- ELT 在数据量很大时使用。
- 当源数据库和目标数据库相同时。
- 当数据库引擎非常适合处理时,例如 PDW,在 ELT 的帮助下,很容易非常快速地加载大量数据。
注意: 当我们使用 ETL 时,转换由 ETL 工具处理,而在 ELT 中,转换由目标数据源处理。
ELT 的工作
提取、加载和转换是从无限来源收集信息,将它们加载到处理位置并将它们转化为可操作的商业智能。
- 提取: 从不同的数据源中提取数据,这两种数据管理方法的工作方式相似。
- 加载: ELT 将整个数据传送到它所在的站点。 ELT 缩短了提取和交付之间的周期,但在数据变得有用之前还有很多工作要做。
- 转换: 在这里,数据仓库和数据库对数据进行排序和规范化。存储这些数据的开销很高,但也带来了更多机会。
ETL 和 ELT 的区别是:
参数 | ETL | ELT |
流程 | 数据在临时服务器中传输,然后移动到数据仓库数据库。 | 数据保留在数据仓库的 DB 中。 |
转型 | 转换在 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 中,我们面临许多挑战,但成本高昂,并且需要出色的技能来实施和维护。
下一章:ETL 管道
ETL 管道是指从输入源提取数据、转换数据并加载到输出目的地(例如数据集市、数据库和数据)的一组过程用于分析、报告和数据同步的仓库。 ETL 代表提取、转换和加载。提取在这个阶段,数据从各种异构来源中提取,例如业务系统、营销工 ...