基于风电数据仓库的ETL技术研究

时间:2022-05-26 12:17:35

基于风电数据仓库的ETL技术研究

摘要:作为数据仓库的关键部件,支持数据抽取、转换和装载的ETL工具是一个必不可少的成功因素。以风电数据仓库为背景,介绍了数据仓库ETL的必要性、ETL流程,重点提出了一种ETL工具与自行编码相结合的ETL实现方法。针对风电海量数据的特点,通过优化过的ETL技术,大大提高了风电信息系统的运行效率。

关键词:数据仓库;ETL;数据抽取;数据转换;数据装载

作者简介:张宁(1986-),女,山东莱芜人,中能电力科技开发有限公司,工程师。(北京 100034)

中图分类号:TM614 文献标识码:A 文章编号:1007-0079(2013)33-0229-02

目前,风电行业信息化迅速发展,多种信息系统得到了开发和应用,如风电生产运行实时监测系统、风电场功率预测系统、风电机组故障诊断系统等,但它们都是针对某一特定应用用途的,数据单一,而且风电业务数据具有数据量庞大、数据格式复杂等特点,这些无疑限制了风电信息化中数据分析和决策支持的应用。而这时,数据仓库出现了,通过将来自各个数据平台的格式多样的数据进行抽取、转换和装载,即ETL过程,建成一个符合系统功能需要的相对统一集成的数据仓库应用体系,为各个风电业务信息系统提供高质量的数据分析和决策平台。ETL性能的好坏对数据仓库乃至整个系统的运行和效果有着直接而巨大的影响。

一、ETL技术简介

数据ETL是由数据抽取(Extraction)、数据转换(Transformation)、数据装载(Loading)三部分组成,是构建数据仓库过程中必不可少也是相当重要的一个环节。[1]

1.运用数据仓库ETL技术的必要性

数据仓库的建立是风电信息化系统实现的基础。在风电业务管理中,业务人员希望能有一个独立集成的数据环境容纳各种从外部不同的数据存储媒介或者外部文件中提取汇总的业务数据,但这些数据是大量的、分散的、冗余的,差异主要表现为以下几个方面:

(1)数据所存储的数据环境不同。主要指运行同一个业务系统的不同主机所部署的操作系统不同,硬件平台不同,或者采用的业务数据库不同。体现在风电业务中,例如运行在不同地区的风电项目公司或者风电场的同一个信息系统,有的采用关系型数据库,如SQL Server、Oracle、PI等,还有的仅使用了简单的文件型数据库,如Access、Foxpro等,这就造成了数据所在环境的差异。

(2)数据格式不同,即对于同一个数据对象,所采用的语义表达、命名方法、编码规范等方面,存在着差异或者冲突造成的不一致。

这些问题加剧了待转移数据的复杂性,给风电信息化系统数据仓库的建立带来一定难度。而这时ETL过程在很大程度上可解决这一难题。数据ETL就是要解决源数据各方面的不一致性,从各种外部纷杂的风电业务系统中提取风电业务数据和基础数据,按照设计好的规则对这些数据进行必要的清理和转换,完成二次数据的加载,从而形成一个清洁、一致的数据仓库环境。风电数据仓库建立完成之后,即可在这些加工好的数据基础上进行进一步的数据分析和挖掘工作。因此ETL不仅是数据仓库建立过程中极其必要的一部分,也是极其复杂的工作。[2]

2.ETL方法和流程

数据ETL的实现可以有多种不同方法,主要可以归纳为以下三种:

(1)直接调用数据库自带的ETL模块。例如SQL Server、Oracle、OWB等数据库都有自带的方便操作的ETL工具,使用自带ETL工具可以避免大量的代码编写工作,快速建立起 ETL工程,较为容易。但在风电业务这种海量实时运行数据的处理过程中,这种人工干预过多的方法,显然在灵活性方面缺少了优势,不能自动完成数据的抽取,效率较低。

(2)自行编写代码完成ETL过程。这种从实际需求出发实现的ETL过程具有更强的灵活性。但同时这种自行编码的方式也相对更繁琐、复杂,花费开发人员更多的时间和精力,而且通用性不高。

(3)上述两种方式相结合的方法。它综合了人工和智能两种方法的优点,在满足实际需求的基础上,充分调用数据库系统自带的ETL方法和过程,既具备灵活性,又极大提高了 ETL的开发速度和使用效率。

针对风电的业务特点——数据是海量的、实时更新的,更是分散的、异构的,本文采用第三种方法完成风电数据ETL过程,即在数据库自带的ETL工具基础上,通过自行编码,实现风电业务数据从各个数据源端抽取到数据准备区临时存放,在临时数据缓存中进行数据的清理和转换之后再装载进入目标数据仓库存储区的过程。具体的ETL实现流程如图1所示,其中风电业务数据主要包括各风电机组机组实时运行数据,如风速、风向、有功功率、无功功率、发电机转速等,文件数据主要指风机基础数据,例如机型、机组容量等。

二、ETL实现的关键技术

1.数据抽取

数据抽取是ETL过程的第一步,实现的是从不同类型数据源中将业务系统所需要的数据集中到一个临时数据准备区中的过程,从而为下一步的数据清洗和转换提供优质的数据基础。对于风电业务信息系统所涉及到的海量数据,由于之前介绍的数据的复杂性和异构性,需要针对不同的情况采用与之相应的数据抽取策略:

(1)源数据库系统与数据准备区数据库系统相同时,可以采用简单的批量加载程序或者SOL语句、存储过程等将数据库简单地导入即可。

(2)源数据库系统与数据准备区数据库系统不同时,开发人员可以自行编写程序,对于不同类型的源数据库建立特定的数据接口,实现与数据准备区的连接。用户通过在交互界面中选择相应的信息,调用程序中建立起来的不同类型数据库的具体实现类,完成连接配置,连接到源数据库中。完成数据库之间的连接之后,用户登录源数据库,选择所需要抽取的数据字段,然后选择目的数据库,提交信息即可完成所选数据的转移。

上一篇:五防系统在变电站综合自动化中的应用 下一篇:关于高压电力电缆设计技术的研究