ETL和ELT之间的区别

本文概述

  • ETL(提取, 转换和加载)
  • ELT(提取, 加载和转换)
  • ETL与ELT之间的区别
ETL(提取, 转换和加载) 提取, 转换和加载是一种将记录从源(存在于外部或本地等)到暂存区域中的技术, 然后对其执行业务处理以进行转换或重新格式化以满足业务需求或技术。数据分析, 然后加载到目标数据库或目标数据库或数据仓库中。
ETL和ELT之间的区别

文章图片
长处
开发时间:从输出向后的设计提供仅提取和处理适用于解决方案的信息, 从而有可能减少开发, 删除和处理开销。
目标数据:由于装载过程的目标功能, 仓库仅包含与展示有关的信息。减少的仓库内容简化了安全机制的实施, 从而简化了管理开销。
【ETL和ELT之间的区别】工具的可用性:实施ETL的可用工具的数量提供了方法的灵活性, 并提供了确定最合适工具的机会。工具的泛滥必须引发竞争性的功能之战, 这通常会导致可维护性的丧失。
弱点
灵活性:仅将相关信息作为输出的目标, 这意味着将来可能需要原始设计中未包含的数据的任何需求都需要添加到ETL例程中。由于所开发的方法之间紧密依赖的性质, 这常常导致需要进行基本的重新设计和开发。结果, 这增加了所涉及的时间和成本。
硬件:大多数第三方工具都利用其引擎来实现ETL阶段。无论解决方案的估计如何, 这都可能需要投资额外的硬件来实现该工具的ETL引擎。使用第三方工具来实现ETL流程, 可以强制提供新脚本语言和流程的信息。
学习曲线:实施使用外国流程和语言的第三方工具会导致学习曲线隐含在组织的所有新技术中, 并且由于经验不足, 经常会导致连续使用盲区。
ELT(提取, 加载和转换) ELT代表Extract, Load和Transform是查看数据迁移或移动时的各种视图。 ELT涉及从源系统中提取聚合信息并加载到目标方法, 而不是在提取和加载阶段之间进行转换。将数据复制或加载到目标方法后, 便会发生更改。
ETL和ELT之间的区别

文章图片
提取和加载步骤可以与转换过程隔离。将负载阶段与转换过程隔离开来, 可以消除这些阶段之间的固有依赖性。除了包含转换所需的数据外, 提取和加载过程还可以包含将来可能必不可少的数据组成部分。加载阶段可能会占用整个源并将其加载到仓库中。
分离阶段可以使项目分解成较小的块, 从而使其更加具体和易于管理。
在登台方法中执行数据完整性分析可以隔离过程中的另一个阶段, 并在过程中最合适的时间点进行处理。此方法还有助于确保仅将经过清理和检查的信息加载到仓库中进行转换。
将转换与加载步骤隔离开来有助于鼓励采用更分阶段的方式进行仓库设计和实施。
长处
项目管理:能够将仓库方法划分为特定和隔离的功能, 从而可以在较小的功能基础上设计项目, 因此可以将项目分解为可行的块。
灵活和未来的证明:通常, 在ELT实施中, 来自源的所有记录都将作为提取和加载过程的一部分加载到数据仓库中。这与转换阶段的隔离相关联, 意味着将来的需求可以轻松地合并到数据仓库体系结构中。
最小化风险:删除仓库构建系统的每种技术之间的紧密相互依存关系, 就可以隔离开发方法, 从而也可以分离各个流程设计。这为变更, 维护和管理提供了一个良好的平台。
利用现有硬件:在将ELT实施为仓库构建过程时, 可以使用数据库引擎随附的基本工具。
利用现有技能集:通过使用数据库引擎的功能支持, 可以将对数据库功能的现有投资重新用于开发仓库。无需学习新技能, 并且可以充分利用开发引擎技术的经验, 从而进一步降低了开发过程中的成本和风险。
弱点
违反规范:ELT是数据仓库设计和开发的一种新方法。尽管通过在全世界的实现中大量使用它已经证明了自己很多次, 但它确实需要改变思维方式和设计方法以对抗传统方法。
工具的可用性:作为一种新兴的技术方法, ELT受到工具可用性有限的困扰。
ETL与ELT之间的区别
基本 ETL ELT
Process 数据被传输到ETL服务器并移回数据库。需要高网络带宽。 数据保留在数据库中, 但跨数据库负载除外(例如源到对象)。
Transformation 转换在ETL Server中执行。 转换在源中或目标中执行。
代码用法 通常用于源到目标的传输计算密集型转换少量数据 通常用于大量数据
Time-Maintenance 由于需要选择要加载和转换的数据, 因此需要较高的维护。 维护成本低, 因为数据始终可用。
Calculations 覆盖现有列或需要附加数据集并将其推送到目标平台。 轻松将计算出的列添加到现有表中。
Analysis

    推荐阅读