etl是什么

ETL

 

(数据仓库技术)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据历来源端通过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较经常使用在数据仓库,但其对象并不限于数据仓库。数据库

 

ETL工具的典型表明有:Informatica、Datastage、OWB、微软DTS、 BeeloadKettle等等……
开源的工具备eclipse的etl插件:cloveretl
ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的缘由有不少,由 系统集成和历史数据形成的缘由主要包括:业务系统不一样时期系统之间数据模型不一致;业务系统不一样时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统 数据集成不完备带来的不一致性。
 
实现ETL,首先要实现ETL转换的过程。体现为如下几个方面:
一、空值处理:可捕获字段空值,进行加载或替换为其余含义数据,并可根据字段空值实现分流加载到不一样目标库。
二、规范化数据格式:可实现字段格式约束定义,对于 数据源中时间、数值、字符等数据,可自定义加载格式。
三、拆分数据:依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。
四、验证数据正确性:可利用Lookup及拆分功能进行 数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。
五、数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。
六、Lookup:查获丢失数据 Lookup实现 子查询,并返回用其余手段获取的缺失字段,保证字段完整性。
七、创建ETL过程的主 外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键惟一记录的加载。
 

体系结构

ETL工具目前有两种技术架构——ETL架构和 ELT架构,不仔细看好像没什么不一样之处,那么这两种架构到底有什么区别呢? [1] 

ETL架构

在ETL架构中,数据的流向是从源数据流到ETL工具,ETL工具是一个单独的数据处理引擎,通常会在单独的硬件服务器上,实现全部数据转化的工做,而后将数据加载到目标数据仓库中,若是要增长整个ETL过程的效率,则只能加强ETL工具服务器的配置,优化系统处理流程(通常可调的东西很是少)。IBM的datastage和Informatica的powercenter原来都是采用的这种架构。
ETL架构的优点:
  1. ETL能够分担数据库系统的负载(采用单独的硬件服务器)
  2. ETL相对于EL-T架构能够实现更为复杂的数据转化逻辑
  3. ETL采用单独的硬件服务器。.
  4. ETL与底层的数据库数据存储无关。

ELT架构

ELT架构中,ELT只负责提供图形化的界面来设计业务规则,数据的整个加工过程都在目标和源的数据库之间流动,ELT协调相关的数据库系统来执行相关的应用,数据加工过程既能够在源数据库端执行,也能够在目标数据仓库端执行(主要取决于系统的架构设计和数据属性)。当ELT过程须要提升效率,则能够经过对相关数据库进行调优,或者改变执行加工的服务器就能够达到。通常数据库厂商会力推该种架构,像 OracleTeradata都极力宣传ELT架构。
ELT架构的优点:
  1. ELT主要经过数据库引擎来实现系统的可扩展性(尤为是当数据加工过程在晚上时,能够充分利用数据库引擎的资源)
  2. ELT能够保持全部的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,提升系统的可监控性。
  3. ELT能够根据数据的分布状况进行并行处理优化,并能够利用数据库的固有功能优化磁盘I/O。
  4. ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展性。
  5. 经过对相关数据库进行性能调优,ETL过程得到3到4倍的效率提高通常不是特别困难。

注意事项

编辑
为了能更好地实现ETL,用户在实施ETL过程当中应注意如下几点:
第一,若是条件容许,可利用数据中转区对运营数据进行预处理,保证集成与加载的高效性;
第二,若是ETL的过程是主动“拉取”,而不是从内部“推送”,其可控性将大为加强;
第三,ETL以前应制定流程化的配置管理和标准协议;
第四,关键数据标准相当重要。ETL面临的最大挑战是当接收数据时其各源数据的异构性和低质量。以电信为例,A系统按照统计代码管理数据,B系统按照帐目数字管理,C系统按照语音ID管理。当ETL须要对这三个系统进行集成以得到对客户的全面视角时,这一过程须要复杂的匹配规则、名称/地址正常化与标准化。而ETL在处理过程当中会定义一个关键数据标准,并在此基础上,制定相应的数据接口标准。
第五,将数据加载到个体数据集时。在没有一个集中化的数据库状况下,拥有数据模板是很是重要的。它们是标准化的接口,每个个体或者部门数据集市都可以填充。确保你的ETL工具备这样的功能,可以扩展到一个数据仓库平台,将信息从一个数据集市流动到下一个。  [2] 
 

特点功能

编辑
ETL过程在很大程度上受企业对源数据的理解程度的影响,也就是说从业务的角度看 数据集成很是重要。一个优秀的ETL设计应该具备以下功能:

管理简单

采用 元数据方法,集中进行管理;接口、数据格式、传输有严格的规范;尽可能不在 外部数据源安装软件; 数据抽取系统流程自动化,并有自动调度功能;抽取的数据及时、准确、完整;能够提供同各类数据系统的接口,系统适应性强;提供软件框架系统,系统功能改变时,应用程序不多改变即可适应变化;可扩展性强。

标准定义数据

合理的业务模型设计对ETL相当重要。 数据仓库是企业惟1、真实、可靠的 综合数据平台。数据仓库的设计建模通常都依照三范式、星型模型、雪花模型,不管哪一种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。
模型的重要之处在于对数据作标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统1、业务 术语统一。ETL依照模型进行初始加载、增量加载、缓慢增加维、慢速变化维、事实表加载等 数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。

拓展新型应用

对业务数据自己及其运行环境的描述与定义的数据,称之为 元数据(metadata)。元数据是描述数据的数据。从某种意义上说,业务数据主要用于支持业务系统应用的数据,而元数据则是 企业信息门户、客户关系管理、 数据仓库、决策支持和 B2B等新型应用所不可或缺的内容。
元数据的典型表现为对象的描述,即对数据库、表、列、列属性(类型、格式、约束等)以及主键/外部键关联等等的描述。特别是现行应用的异构性与分布性愈来愈广泛的状况下,统一的元数据就愈发重要了。“信息孤岛”曾经是不少企业对其应用现状的一种抱怨和归纳,而合理的元数据则会有效地描绘出信息的关联性。
元数据对于ETL的集中表现为:定义数据源的位置及数据源的属性、肯定从源数据到目标数据的对应规则、肯定相关的业务逻辑、在数据实际加载前的其余必要的准备工做,等等,它通常贯穿整个 数据仓库项目,而ETL的全部过程必须最大化地参照元数据,这样才能快速实现ETL。
相关文章
相关标签/搜索