抽取过程是将数据从各种原始业务系统中读取出来,转换过程是按照预先设计好的规则将抽取到的数据转换为统一的标准数据格式,装载过程是将转换完的数据按照装载计划以增量方式或全部方式导入到目标数据存储区中。ETL较常用于数据仓库,是构建数据仓库的重要一环。
ETL可以使用任何编程语言开发完成,为了提高ETL过程的执行效率,企业级应用中通常使用ETL工具协助ETL流程开发。ETL工具的主要任务包括:导入数据,使用外部文件格式解析器或者第三方系统交互的驱动器将数据从源系统抽取出来;数据转换,使用模式匹配等技术实现对数据的连接、聚集或者过滤;概要分析,通过构建表格、直方图或者其他信息来总结数据仓库中的数据属性;质量管理,包括消除重复实体、参照数据名录的检测、针对已知业务规则的检测、数据标准化及记录合并等。
ETL工具通常在不同的源和目标间进行数据传送,并记录源和目标之间移动时的数据元素变化,在必要时同其他的应用交换元数据,并监控所有运转的流程和操作。ETL对数据集成和数据仓库同样重要。ETL的目的就是向数据仓库中装载集成和清洗后的数据。尽管自行开发ETL工具是可行的,但使用现有的ETL工具更为简单。ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle等。