ETL综述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leveretz/article/details/53303036

数据集成是现有企业系统间集成解决方案中最普遍的一种形式,主要指将不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。数据集成发生在企业内的数据库和数据源级别,通过从一个数据源将数据移植到另外一个数据源来完成数据集成。

ETL是对企业数据进行数据抽取(Extract)、转换(Transform)、装载(Load)的过程,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

ETL通过数据抽取、数据转换和数据装载的连续操作,将不同来源、不同格式的数据抽取到数据中心的主题数据共享区,经过转换,加载存储到星型结构的统计数据分析区,再在数据集市进一步分类汇总,以满足不同主题的展现、分析需要。

ETL是指从源系统中提取数据,转换数据为一个标准的格式,并加载数据到目标数据存储区,通常是数据仓库。ETL体系结构图如下所示:

ETL体系结构由核心服务组件、流程调度、ETL管理组成。核心服务组件由抽取、转换、加载组成;流程调度由传输服务、操作管理组成;ETL管理由设计管理器、元数据管理组成。

抽取:通过接口提取源数据,例如ODBC、专用数据库接口和平面文件提取器,并参照元数据来决定数据的提取及其提取方式;

转换:根据提取数据,按照业务需要转换为目标数据结构,并实现汇总;

加载:加载经转换和汇总数据到目标数据库中,可实现SQL或批量加载。

数据清洗:为实现企业数据质量准确、可靠,通过分析企业数据情况,归纳总结数据质量规则,并基于ETL进行数据质量规则配置,执行ETL,通过元数据管理,可发现具体的问题数据。

数据加载:由源数据库灵活将所需数据加载到目标数据库,供数据分析、展现使用。

数据归集到数据仓库:由多个源数据库向一个目标数据库复制,用于跨平台多系统的数据集成,为应用系统提供统一视图便于查询和统计,同时实现操作数据与分析数据分离。

数据集市:基于ETL技术,实现数据多层转换、加载至数据集市,在典型的数据中心应用中,业务应用系统数据可通过ETL方式抽取至数据中心ODS层,再从数据中心ODS层,加载到数据仓库层,最终到达数据集市。

传输服务:利用网络协议或文件协议,在源和目标系统之间移动数据,利用内存在ETL处理的各组件中移动数据;

操作管理:可让管理员基于事件和时间进行调度、运行、监测ETL作业、管理错误信息;

设计管理器:提供图形化的映射环境,定义从源到目标的映射关系、转换、处理流程。设计过程各对象的逻辑定义存储在统一的元数据资料库;

元数据管理:提供元数据资料库,存储关于ETL设计和运行处理等相关定义、管理信息。ETL引擎及其它应用都可参考此资料库中的元数据。

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

合理的业务模型设计对ETL至关重要。数据仓库是企业唯一、真实、可靠的综合数据平台。数据仓库的计建模一般都依照三范式、星型模型、雪花模型,无论哪种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。

模型的重要之处在于对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。ETL依照模型进行初始加载、增量加载、缓慢增长维、慢速变化维、事实表加载等数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。

ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化。

Informatica Corporation是全球首屈一指的独立数据集成软件提供商。通过 Informatica 的支持,世界各地的组织都将能够为其主要的业务需求提供及时、相关和可信的数据,使其在当今全球信息经济中获得竞争优势。目前,全球已有超过 4,630 多家企业依靠 Informatica 提供的解决方案访问、集成并信任其位于企业内外及云中的信息资产。

Informatica PowerCenterInformatica核心产品,是专注于ETL领域的产品,是世界级的企业数据集成平台,它在ETL领域中无论是执行能力还是战略远见方面都是佼佼者。InformaticaPowerCenter功能强大,支持各种数据源和目标系统,强大的转换、清洗与维护功能,灵活的作业调度,让企业在较短的时间内高质量的完成项目。尤其在海量数据处理、多线程并发处理、负载均衡等方面表现出良好的性能,连续在IDCGartnerETL工具评比报告中名列第一。使用Informatica PowerCenter,企业能够通过一次建立,任意部署的方法从事多个不同的集成项目。Informatica独特的、以元数据为核心的架构体系,可以轻松的收集、管理、浏览元数据,受到全球遍及电信、金融、制造、零售、医疗等领域用户的好评与认可。

Informatica是基于元数据驱动的,所有的元数据都保存在Repository(中,该知识库可以创建在所有主流数据库当中,充分体现了它元数据的开放性。Repository Server用来管理所有客户端以及Informatica ServerRepository的交互,并且一个Repository Server可以管理多个Repository,而Repository Server可为每个Repository分配一个Repository Agent来处理所对有元数据操作的响应。Informatica Server是实际处理ETL任务的后台服务,它是基于内存运行、高效的ETL服务,不需要产生任何的代码,每次执行任务之前都会从Repository中读取最新的ETL规则。Informatica的客户端提供了无编码、完全图形化的设计和管理调度界面,可实现快速开发和部署。

功能强大:支持多种数据库、套装软件、封闭式主机、EAI软件、文本以及“指令”;支持批次、近实时抽取,通过侦测LOG的技术减少对业务系统的效能影响;支持资料归档作业;经验证的主机码转码、造字难字处理、与主机资料规范化功能;支持Push-Down最佳化机制,可充分运用所有的软硬件设备;支持Enterprise Grid,首创不限制平台的Grid架构。

强调管理:逻辑设计与数据库独立,开发人员不需要直接接触实体数据库,符合IT管理需求;项目冲击性分析,当表级项出现异动时可透过此功能了解对其他表项的影响范围和评估;执行过程以甘特图的形式展现,可以跟踪执行状态,成功失败笔数,耗用资源等等,其日志LOG可存放到数据库中,便于提供后续的系统查询和整合。

提升开发生产力:图形化界面提升开发和维护生产力;内嵌超过100种运算,提供数据仓库模型载入时常用的Sequential GeneratorLookup以及其他常用函数如RANK等;支持数据仓库模型常用的Slowly Change Dimension功能,提供模版提升开发速度;支持数据库的Partitioning功能,可支持动态Partitioning,不需要人工调整Partitioning设定。

灵活性与开放标准:数据源和目的端的数据库可根据需要调整,不限制厂商,开发环境和生产环境可采用不同的厂商的数据库或文本文件,不需要重新编译;主动式Metadata,可存放在各种主流的开放式数据库中,可方便的进行移植;支持CDCOMJAVAStored Procedure,提供SDK,提升与外部集成的接口的弹性;支持SOA架构,可以成为Web ServicesConsumerProvider

性能优异: 7.7MB/sec/CPU or27.72GB/hr/CPU的高性能,PowerCenter每次大版本的更新都会有很大的性能提高。

猜你喜欢

转载自blog.csdn.net/leveretz/article/details/53303036
ETL