啥是ETL、ELT

ETL就是Extract、Transfrom、Load即抽取、转换、加载三个英文单词首字母的集合。抽取:就是从源系统抽取需要的数据,这些源系统可以是同构也可以是异构的:比如源系统可能是Excel电子表格、XML文件、关系型数据库,而目标系统通常都是关系型的数据仓库。

转换:源系统的数据按照分析目的,转换成目标系统要求的格式。其实这个名词并没有完全表达出这个步骤的目的,更准确的说法应该是数据清洗和数据加工。

加载:把转换后的数据装载到目标数据库。作为联机分析、数据挖掘的基础。

整个ETL过程就像是在源系统和目标系统之间构建一个管道,数据在这个管道里源源不断的流动。而设计一个ETL架构就是要建起起这个管道。这个管道的部署构建就涉及到三个环节,或者说三个位置。分别是Source、Stagearea、Target。对应关系如下:

E——————>   T ——————> L

Source————> Stagearea——> Target

E:抽取,这个活动毫无疑问发生在数据源上,这个节点也就叫做Souce。

T:转换,转换活动通常是ETL中最具伸缩性的环节,换句话说,这个环节的活动可繁可简。最简单的情形下,源系统的数据不需要任何转换,就直接进入目标,这时这个T实际就是没有的。而复杂的情形就多了,比如数据格式转化、数据精度转换、数据清洗、缺失数据补齐、异常数据排除等等。在这种情形下,通常会专门准备一个临时系统,提供足够的软硬件资源来支持这种转换。这个临时系统就叫做Stagearea,也叫做数据登台区,即数据到达终点之前的区域。

L:加载,这个活动毫无悬念的发生在目标数据库中,这个目标数据库叫做Target。

我们明白了什么是ETL,那么ELT就好理解了。ELT也是同样三个单词的首字母组合,只不过是把T、L颠倒了下顺序而已。可就是这个顺序的颠倒,差异就出来了。ETL强调的是先进性数据转换,然后再加载到目标。这个转换过程可能发生在任何地方,可以在原系统进行,也可以在Stagearea进行,也可以在目标系统进行。而ELT是把数据加载到数据仓库后再进行转化,发生的地点只能是目标系统。

这两种方式各有优缺点,如果源系统有多个,比如一个国际型公司,起源数据可能来自世界各地,这时就可以通过部署多个中间节点,从而分散数据转换的压力,有点类似分布式计算的味道,可以提高数据加载效率。因此,ETL非常适用于多个数据源对一个目标的拓扑结构。

而ELT把数据加载到数据仓库在进行转换,通常数据仓库都会部署在高性能主机上,显而易见,这种设计是要充分的利用目标系统的处理能力,大树底下好乘凉吗。ELT的另一个优点是可以充分利用产品的内置能力,如果ETL的源、目标都是相同的产品,比如都是Oracle数据库,现在RDBMS内置的数据处理引擎越来越强大,ELT能够充分利用这些内置引擎。

所以,ETL还是ELT其实并没有绝对的差异,也没有孰优孰劣,最终还是要根据现实环境选择最适合的。

ETL工具的选择   在数据仓库项目中该如何选择ETL工具呢?一般来说需要考虑以下几个方面:   (1)对平台的支持程度。   (2)对数据源的支持程度。   (3)抽取和装载的性能是不是较高,且对业务系统的性能影响大不大,侵入性高不高。   (4)数据转换和加工的功能强不强。   (5)是否具有管理和调度功能。   (6)是否具有良好的集成性和开放性。

时间: 2024-10-06 18:43:25

啥是ETL、ELT的相关文章

从Oracle收购sunopsis看ETL和ELT产品的趋势

从Oracle收购sunopsis看ETL和ELT产品的趋势 日期:2008-6-17 来源:amteam    我要评论 大 | 中 | 小 投稿 打印 导读:本文主要从Oracle收购sunopsis分析ETL和ELT产品的趋势以及说明ELT工具比ETL工具能够处理大数据量效率更高的原因. 关键词:Oracle sunopsis ETL ELT 10月10日收到Oracle收购sunopsis的消息.开始觉得有些意外.仔细一考虑应该在情理之中. 第一,sunopsis采用ELT架构换句话说也

Oracle 数据集成的实际解决方案

就针对市场与企业的发展的需求,Oracle公司提供了一个相对统一的关于企业级的实时数据解决方案,即Oracle数据集成的解决方案.以下的文章主要是对其解决方案的具体描述,望你会有所收获. Oracle 数据集成解决方案 Oracle数据集成解决方案用于在SOA.BI和数据仓库环境中构建.部署和管理以实时数据为中心的架构,包含了Oracle数据集成的所有要素--实时数据移动.转换.同步.数据质量.数据管理和数据服务--能确保各个复杂系统的信息及时.准确.一致. 通过使用Oracle数据集成,企业将

.NET分布式系统架构思路

分布式系统是由一组通过网络进行通信.为了完成共同的任务而协调工作的计算机节点组成的系统.分布式系统的出现是为了用廉价的.普通的机器完成单个计算机无法完成的计算.存储任务.其目的是利用更多的机器,处理更多的数据. 一.最初假设的网站中,我们把应用系统网站.文件和数据库都放在一台服务器上,一台服务器包打天下. 二.随着业务扩展,一台服务器无法满足性能需求,将应用程序.数据库.文件分别部署在不同的服务器上,并根据服务器用途不同,配置不同的硬件,达到性能最佳的效果. 三.随着业务扩展,一台数据库.网站.

(转)我所经历的大数据平台发展史(四):互联网时代 ? 下篇

编者按:本文是松子(李博源)的大数据平台发展史系列文章的第四篇(共四篇),本系列以独特的视角,比较了非互联网和互联网两个时代以及传统行业与非传统行业.是对数据平台发展的一个回忆,对非互联网.互联网,从数据平台的用户角度.数据架构演进.模型等进行了阐述. 在互联网时代被弱化的数据模型 谈起数据模型就不得不提传统数据平台架构发展,我相信很多朋友都晓得传统数据平台的知识,其架构演进简单一句话说“基本上可以分为五个时代.四种架构”,但是到了互联网时代因为大数据快速膨胀与数据源类型多样化特点,从高阶架构上

使用 Hive 作为 ETL 或 ELT 工具

用来处理数据的 ETL 和 ELT 工具的概述 数据集成和数据管理技术已存在很长一段时间.提取.转换和加载(ETL)数据的工具已经改变了传统的数据库和数据仓库.现在,内存中转换 ETL 工具使得提取.加载.转换(ELT)和 ETL 变得更快.对于大数据来说,是否能够使用内置的 Hadoop 工具而不是使用传统的 ETL 工具来提取.加载和转换数据呢? 大多数 ETL 软件包需要自己的服务器.处理.数据库和许可,还需要专家在该特定的工具中安装.配置和开发它们,而且这些技能并非总是可以转移的.Mic

数据分析你需要知道的操作:ETL和ELT

如果您接触过数据仓库, 您可能会使用 ETL (Extract. Transform. Load) 或 ELT ( Extract.Load. Transform) 将您的数据从不同的来源提取到数据仓库中.这些是移动数据或集成数据的常用方法, 以便您可以关联来自不同来源的信息, 将数据安全地存储在一个位置, 并使公司的成员能够从不同业务部门查看综合数据.ETL和ELT两个术语的区别与过程的发生顺序有关.这些方法都适合于不同的情况. 一.什么是ETL? ETL是用来描述将数据从来源端经过抽取(ex

ETL基础1(概念)

抽取(Extract): 一般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据.这一部分看上去简单而琐碎,实际上它是 ETL 解决方案的成功实施的一个主要障碍. 转换(Transform): 任何对数据的处理过程都是转换.这些处理过程通常包括(但不限于)下面一些操作:移动数据根据规则验证数据数据内容和数据结构的修改将多个数据源的数据集成根据处理后的数据计算派生值和聚集值 加载(Load): 将数据加载到目标系统的所有操作.概念扩展:ELT,EII(Enterprise informati

数据仓库-ETL

ETL 概念 ETL中三个字母分别代表的是Extract.Transform.Load,即抽取.转换.加载. (1)数据抽取:从源数据源系统抽取目的数据源系统需要的数据: (2)数据转换:将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误.不一致的数据进行清洗和加工. (3)数据加载:将转换后的数据装载到目的数据源. ETL原本是作为构建数据仓库的一个环节,负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或

采用ETL with RDBMS模式来实现ETL

目前Teradata数据仓库的ETL作业采用ELT方式, 因为loading太重了, 需要将ETL压力转移到专门的ETL Server上. 对于ETL工具, 市场上已有很成熟的商业/开源工具, 比如Informatica的PowerCenter, IBM的Datastage, 开源的Kettle. 下面是我自己的一些思考, 出发点是, 如何花比较小的代价将ELT模式切换到ETL模式. 我的推荐是: 采用ETL with RDBMS模式, 而不是传统的ETL工具. ETL with RDBMS这个