ETL定义
字面含义:ETL是抽取、转换、加载的缩写。
简单定义:将数据从OLTP系统中转移到数据仓库中的一系列操作的集合。
ETL应用范围
抽取: 一般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据。这一部分看上去简单而琐碎,实际上它是ETL解决方案成功实施的一个主要障碍。
-
转换: 在抽取和加载之间,任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作。
- 移动数据
- 根据规则验证数据
- 数据内容和数据结构的修改
- 集成多个数据源的数据
- 根据处理后的数据计算派生值和聚集值
加载: 将数据加载到目标系统的所有操作。
ETL解决方案的深化过程
第一代,使用手工编程、脚本的方式来完成。
第二代,依据设计好的ETL工作流来自动生成所需代码。
第三代,采用基于引擎的架构,可以执行所有的数据处理进程,还可以将所有的数据库连接和转换规则作为元数据存储起来。
ETL基本构成
- 作业,ETL解决方案的代理。
- 转换,基础的构建部分。
- 步骤,组成一个转换业务流程。
- 跳(hop),步骤之间的连接关系由跳(hop)来决定。
典型的数据仓库架构
ETL工具的其他用途
- 数据迁移
- 数据同步
其他相关
ELT
抽取、加载和转换的简称,同ETL在数据整合的方法上略微不同。在ELT的情况下,数据首先从源数据进行抽取、加载到目标数据库中,再转换为所需要的格式。所有大数据量处理全部放在目标数据库中进行。这种做法的好处在于,一般情况下,数据库系统更适合处理负荷在百万级以上的数据储存民。数据库系统也通常会对I/O(吞吐量)进行优化,用来提高数据处理速度。
EII
除了物理数据集成方式,还有虚拟数据集成方式也可以满足用户访问数据的要求。这种虚拟数据集成试就是企业信息集成,也就是EII。如数据联邦和数据虚拟化,也都是描述同样的事情。
这种方法的主要优点就是数据永远都是最新的,不需要额外的存储层,没有冗余数据。缺点就是使用虚拟方法来管理大量的、清洗后的、时效性强的数据是一个非常具有挑战性的工作。