ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程,它是构建数据仓库的重要环节
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据
ETL是BI项目重要的一个环节
通常情况下,在BI项目中ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败
ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载
在设计ETL的时候我们也是从这三部分出发
数据的抽取是从各个不同的数据源抽取到ODS(OperationalDataStore,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率
ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3
数据的加载一般在数据清洗完了之后直接写入DW(DataWarehousing,数据仓库)中去
ETL的实现有多种方法,常用的有三种
一种是借助ETL工具(如Oracle的OWB、SQLServer2000的DTS、SQLServer2005的SSIS服务、Informatic等)实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合
前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性
SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高
第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率
一、数据的抽取这一部分需要在调研阶段做大量的工作,首先要搞清楚数据是从几个业务系统中来,各个业务系统的数据库服务器运行什么DBMS,是否存在手工数