社保数据集成系统ETL研究与开发

2018-06-09 11:37李宏智
科学与财富 2018年10期
关键词:数据集成数据仓库社会保险

李宏智

摘 要:该文主要通过研究社保系统数据集成中使用的ETL方法,并结合同煤集团社会保险管理信息系统的现状,提出了采用数据仓库法实现同煤集团社保系统的数据集成。重点介绍了社保系统数据集成中ETL的开发。经过验证能够建立统一的、完整的、高质量的社保系统数据仓库。

关键词:数据仓库;数据集成;ETL;社会保险

1 ETL技术

1.1 ETL技术介绍

ETL即数据抽取(Extract)、转换(Transform)、装载(Load)的过程,它是用来构建数据仓库,用户首先抽取数据,然后经过清洗和转换,最后加载到数据仓库中去。在技术上,ETL主要涉及到关联、转换、增量、调度和监控等几个方面。

1.2 ETL技术过程

1.2.1数据抽取

首先,做好准备工作。弄清同煤集团社会保险系统包含多少业务管理信息系统,各个管理系统的DBMS类型。然后,可以用数据库链接或ODBC的方式建立链接。从数据库中抽取数据一般有全量抽取和增量抽取。

1.2.2 数据转换

这个过程包括了数据清洗和数据转换两个步骤。数据清洗包括检查数据一致性,处理无效值和缺失值等。对于过滤掉的数据,写入Excel文件或者将过滤数据写入数据表,发给用 户,修改以后再进行数据转换。数据转换将不同业务系统的相同类型的数据统一,用一个相同的编码表示。

1.2.3 数据装载

数据装载是指将数据放到数据仓库中去。数据装载有四种装载模式:完全刷新,镜像增量,事件增量,镜像比较。

2 ETL工具介绍

2.1 Kettle

Kettle是国外开源的ETL工具,可以在Window、Unix等系统下运行,目前包括4个产品:Spoon、Pan、CHEF、Kitchen。SPOON 允许你通过图形界面来设计转换过程,PAN 允许你批量运行转换,CHEF 允许你创建任务,KITCHEN 允许你批量设计的任务 。

2.2 DataStage

DataStage能自动对多种数据源的数据抽取、转换和维护,并将数据仓库集成的工具。是一个基于C/S的软件,必须安装服务器和客户端软件,它的所有开发工作都是在一个工程中。在DataStage工具面板上有很多组件。Datastage包含四大部件:Administrator、Manager、Designer、Director。

2.3 PowerCenter

PowerCenter 是Informatica公司开发的ETL工具。此产品可以提供企业部门如XML、网站日志、关系型数据集成。PowerCenter在内存中执行所有的数据抽取转换、整合、装载的功能。

2.4 OWB和ODI

OWB是Oracle 的一个综合工具,它提供对 ETL、数据质量、数据审计,以及数据和元数据的整个生命周期的管理,适用于 Oracle 数据库的 ETL工具,OWB 11g 版包含在每个 Oracle 数据库 11g 版安装中。ODI和OWB一样,都是ETL工具,和OWB相比,它支持异构数据,可以和SOA集成。

2.5 SSIS

SSIS是Microsoft SQL Server 2012 Integration Services的简称。SSIS 的体系结构主要由四部分组成:Integration Services 服务、Integration Services 对象模型、Integration Services 运行时和运行时可执行文件以及封装数據流引擎和数据流组件的数据流任务。

2.6 BeeLoad

Beeload是由北京灵蜂纵横软件有限公司研发的一款ETL工具,可以通过简单直观的图形操作界面,帮助使用者快速定义ETL规则,使数据处理工作变得简单方便。

3实现方法

3.1同构冲突的解决

主要完成SQL server2012数据库和oracle10g中各自所存储的社保相关数据的初步清理和转换,解决数据的冗余、各表之间字段命名冲突,如同名异义、异名同义等,为最终数据仓库的建立提供初始数据源。

3.1.1数据清理

1)冗余数据的清理:SELECT DISTINCT * INTO新的分析表名FROM有重复行数据的原始表名例如:select distinct * into基本信息仓库from基本信息表

2)无用字段的清理:ALTER TABLE表名DROP COLUMN无用列名1,无用列名2,…

例如:alter table个人基本信息表drop column BCC016(体重),BCC017(身高)

3)空值的清理:UPDATE表名SET列名=0 WHERE列名IS NULL

UPDATE表名SET列名=WHERE列名IS NULL

4)不规则数据的清理:在操作时数据录入人员在录入数据时,不小心在实际数据之前输入了一个或多个空格,这些不起眼的空格很有可能影响数据的集成的准确性。在构建数据仓库时应消除数据前无用的空格:

UPDATE表名SET列名=LTRIM(列名)。

3.1.2数据初步转换

1)数据类型的转换:

直接转换的数据类型:ALTER TABLE表名ALTER COLUMN列名新数据类型。

间接转换的数据类型:主要针对将非日期类型的数据转换为日期类型。

2)对象名的转换:将英文字母或拼音缩写来表示的表名字段名转换为易于理解的中文。EXEC sp_rename原表名,新表名

EXEC sp_rename表名.原列名,新列名,COLUMN

3)数据编码的转换:UPDATE表名SET编码列名=CASE编码列名WHEN编码值1 THEN中文含义字符串1 WHEN编码值2 THEN中文含义字符串2 WHEN编码值3 THEN中文含义字符串3…END

4)表结构的转换:构建一些新的字段以满足新的需求。

语法:ALTER TABLE表名ADD新列名数据类型UPDATE表名SET新列名=值

3.2异构冲突的解决

本文的XML技术主要提供异构数据的转换规则(各字段间的对应关系)和映射文件,主要解决异构冲突。

这一阶段主要完成平台异构的转化,针对上面的一系列的操作,利用XML技术将初始得到的数据转化为统一的格式存储于oracle10g所设计的数据仓库中。

具体采用以下方法,通过定义适当的DTD将从源数据库中查询出的数据转换成相应的XML文档,然后使用DOM技术来解析XML文档,这样就可以将XML文档中的数据存入目标数据库oracle10g中,从而实现了SQL server2012和oracle10g这两种异构数据源的数据统一存储。在实现过程中主要利用JDBC中操作XML强大的类库和oracle10g数据库对XML存储的支持。

总结

本文主要针对同煤集团社保信息系统中存在的问题,提出了利用数据仓库的方法实现社保数据库、待遇发放数据库、资格认证数据库和OA办公等数据库的集成。通过完成ETL工具的设计和实现,实现了将异构数据进行集成的目的,提供了统一的访问接口,建成了同煤集团社保数据仓库,为以后进一步的系统开发提供数据源。

参考文献:

[1]冯豫华,彭明.数据仓库技术在社保DSS中的应用[J].计算机与现代化,2004(10).

猜你喜欢
数据集成数据仓库社会保险
社会保险
社会保险
社会保险
社会保险
基于数据仓库的住房城乡建设信息系统整合研究
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用
成本与制造数据集成分析
基于Biztalk的异构医疗信息系统数据集成研究
信息系统集成与数据集成策略研究