📜  数据仓库:ETL和ELT之间的区别

📅  最后修改于: 2020-12-30 00:35:45             🧑  作者: Mango

ETL和ELT之间的区别

ETL(提取,转换和加载)

提取,转换和加载是从记录源(存在于外部或内部等)中提取记录到暂存区域,然后对其进行业务处理以进行转换或重新格式化以满足业务需求的技术。数据分析,然后再加载到目标数据库或目标数据库或数据仓库中。

长处

开发时间:从输出向后的设计提供仅提取和处理适用于解决方案的信息,从而可能减少开发,删除和处理开销。

目标数据:由于装载过程的目标功能,仓库仅包含与展示有关的信息。减少的仓库内容简化了安全机制的实施,从而简化了管理开销。

工具的可用性:实施ETL的可用工具的数量提供了方法的灵活性,并提供了确定最合适工具的机会。工具的激增必须引发竞争性的功能之战,这通常会导致丧失可维护性。

弱点

灵活性:仅将相关信息作为输出的目标,这意味着将来可能需要任何原始设计中未包含的数据的需求都需要添加到ETL例程中。由于所开发的方法之间紧密依赖的性质,这通常导致需要进行基本的重新设计和开发。结果,这增加了所涉及的时间和成本。

硬件:大多数第三方工具都利用其引擎来实现ETL阶段。无论解决方案的估计如何,这都可能需要投资额外的硬件来实现该工具的ETL引擎。使用第三方工具来实现ETL流程会强制提供新脚本语言和流程的信息。

学习曲线:实施使用外国流程和语言的第三方工具会导致学习曲线隐含在组织的所有新技术中,并且由于经验不足,经常会导致连续使用盲区。

ELT(提取,加载和转换)

ELT代表Extract,Load和Transform是查看数据迁移或移动时的各种视线。 ELT涉及从源系统中提取聚合信息并加载到目标方法,而不是在提取和加载阶段之间进行转换。将数据复制或加载到目标方法后,便会发生更改。

提取加载步骤可以与转换过程隔离。将负载阶段与转换过程隔离开来,可以消除这些阶段之间的固有依赖性。除了包含转换所需的数据外,提取和加载过程还可以包含将来可能必不可少的数据组成部分。加载阶段可能会占用整个源并将其加载到仓库中。

分离阶段可以使项目分解成较小的块,从而使其更加具体和易于管理。

在登台方法中执行数据完整性分析可以隔离过程中的另一个阶段,并在过程中最合适的时间点进行处理。此方法还有助于确保仅将经过清理和检查的信息加载到仓库中进行转换。

将转换与加载步骤隔离开来有助于鼓励采用更分阶段的方式进行仓库设计和实施。

长处

项目管理:能够将仓库方法划分为特定的隔离功能,从而可以在较小的函数基础上设计项目,因此可以将项目分解为可行的块。

灵活和未来的证明:通常,在ELT实施中,来自源的所有记录都将作为提取和加载过程的一部分加载到数据仓库中。这与转换阶段的隔离相关联,意味着将来的需求可以轻松地合并到数据仓库体系结构中。

最小化风险:删除仓库构建系统的每种技术之间的紧密相互依存关系,就可以隔离开发方法,从而也可以分离各个流程设计。这为变更,维护和管理提供了一个良好的平台。

利用现有硬件:在将ELT实施为仓库构建过程时,可以使用数据库引擎随附的基本工具。

利用现有技能集:通过使用数据库引擎的功能支持,可以将对数据库功能的现有投资重新用于开发仓库。无需学习新技能,并且可以充分利用开发发动机技术的经验,从而进一步降低了开发过程中的成本和风险。

弱点

违反规范: ELT是数据仓库设计和开发的一种新方法。尽管通过在世界各地的实现中广泛使用它已经多次证明了自己,但它确实需要改变思维方式和设计方法以对抗传统方法。

工具的可用性:作为一种新兴的技术方法,ELT受到工具可用性有限的困扰。

ETL与ELT之间的区别

Basics ETL ELT
Process Data is transferred to the ETL server and moved back to DB. High network bandwidth required. Data remains in the DB except for cross Database loads (e.g. source to object).
Transformation Transformations are performed in ETL Server. Transformations are performed (in the source or) in the target.
Code Usage Typically used for
  • Source to target transfer
  • Compute-intensive Transformations
  • Small amount of data
Typically used for
  • High amounts of data
Time-Maintenance It needs highs maintenance as you need to select data to load and transform. Low maintenance as data is always available.
Calculations Overwrites existing column or Need to append the dataset and push to the target platform. Easily add the calculated column to the existing table.
Analysis Difference between ETL and ELT Difference between ETL and ELT