综合百科行业百科金融百科经济百科资源百科管理百科
管理百科
管理营销
资源百科
人力财务
经济百科
经济贸易
金融百科
金融证券
行业百科
物流咨询
综合百科
人物品牌

数据集成

  	      	      	    	    	      	    

数据集成(Data Integration)

目录

数据集成概述[1]

  就大型企业和政府部门的信息化而言,信息系统建设通常具有阶段性和分布性的特点,这就导致“信息孤岛”现象的存在。“信息孤岛”是指不同软件间,尤其是不同部门间的数据信息不能共享,造成系统中存在大量冗余数据、垃圾数据,无法保证数据的一致性,严重地阻碍了企业信息化建设的整体进程。为解决这一问题,人们开始关注数据集成研究。

  数据集成就是将若干个分散的数据源中的数据,逻辑地或物理地集成到一个统一的数据集合中。数据集成的核心任务是要将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源。集成是指维护数据源整体上的数据一致性、提高信息共享利用的效率;透明的方式是指用户无需关心如何实现对异构数据源数据的访问,只关心以何种方式访问何种数据。实现数据集成的系统称作数据集成系统(见下图),它为用户提供统一的数据源访问接口,执行用户对数据源的访问请求。

  Image:数据集成系统模型.jpg

  数据集成的数据源主要指DBMS,广义上也包括各类XML文档、HTML文档、电子邮件、普通文件等结构化、半结构化信息。数据集成是信息系统集成的基础和关键。好的数据集成系统要保证用户以低代价、高效率使用异构的数据。要实现这个目标,必须解决数据集成中的~些难题。

  数据集成的难点可以归纳为以下主要方面:

  1)异构性。被集成的数据源通常是独立开发的,数据模型异构,给集成带来很大困难。这些异构性主要表现在:数据语义、相同语义数据的表达形式、数据源的使用环境等。

  2)分布性。数据源是异地分布的,依赖网络传输数据,这就存在网络传输的性能和安全性等问题。

  3)自治性。各个数据源有很强的自治性,它们可以在不通知集成系统的前提下改变自身的结构和数据,给数据集成系统的鲁棒性提出挑战。

  数据源的异构性一直是困扰很多数据集成系统的核心问题,也是人们在数据集成方面研究的热点。异构性的难点主要表现在语法异构和语义异构上。语法异构一般指源数据和目的数据之间命名规则及数据类型存在不同。对数据库而言,命名规则指表名和字段名。语法异构相对简单,只要实现字段到字段、记录到记录的映射,解决其中的名字冲突和数据类型冲突。这种映射都很直接,比较容易实现。因此,语法异构无需关心数据的内容和含义,只要知道数据结构信息,完成源数据结构到目的数据结构之间的映射就可以了。

  当数据集成要考虑数据的内容和含义时,就进入到语义异构的层次上。语义异构要比语法异构复杂的多,它往往是需要破坏字段的原子性,即需要直接处理数据内容。常见的语义异构包括以下一些方式:字段拆分、字段合并、字段数据格式变换、记录间字段转移等。语法异构和语义异构的区别可以追溯到数据源建模时的差异:当数据源的实体关系模型相同,只是命名规则不同时,造成的只是数据源之间的语法异构;当数据源构建实体模型时,若采用不同的粒度划分、不同的实体间关系以及不同的字段数据语义表示,必然会造成数据源间的语义异构,给数据集成带来很大麻烦。

  事实上,现实中数据集成系统的语法异构现象是普遍存在的。上面提到的几种语法异构属于较为规则的语法异构,可以用特定的映射方法解决这些问题。还有一些不常见或不易被发现的语法异构,例如数据源在构建时隐含了一些约束信息,在数据集成时,这些约束不易被发现,往往会造成错误的产生。如某个数据项用来定义月份,隐含着其值只能在1~12之间,而集成时如果忽略了这一约束,很可能造成荒谬的结果。此外,复杂的关系模型也会造成很多语义异构现象。

数据集成的分类[2]

  数据集成可以分为下述4个层次。

  1.基本数据集成

  基本数据集成面临的问题很多。

  通用标识符问题是数据集成时遇到的最难的问题之一。由于同一业务实体存在于多个系统源中,并且没有明确的办法确认这些实体是同一实体时,就会产生这类问题。处理该问题的办法如下。

  (1)隔离。保证实体的每次出现都指派一个唯一标识符。

  (2)调和。确认哪些实体是相同的,并且将该实体的各次出现合并起来。

  当目标元素有多个来源时,指定某一系统在冲突时占主导地位。

  数据丢失问题是最常见的问题之一,一般解决的办法是为丢失的数据产生一个非常接近实际的估计值来进行处理。

  2.多级视图集成

  多级视图机制有助于对数据源之间的关系进行集成:底层数据表示方式为局部模型的局部格式,如关系和文件;中间数据表示为公共模式格式,如扩展关系模型或对象模型;高级数据表示为综合模型格式。

  视图的集成化过程为两级映射:

  (1)数据从局部数据库中,经过数据翻译、转换并集成为符合公共模型格式的中间视图。

  (2)进行语义冲突消除、数据集成和数据导出处理,将中间视图集成为综合视图。

  3.模式集成

  模型合并属于数据库设计问题,其设计的好坏常视设计者的经验而定,在实际应用中很少有成熟的理论指导。

  实际应用中,数据源的模式集成和数据库设计仍有相当的差距,如模式集成时出现的命名、单位、结构和抽象层次等冲突问题,就无法照搬模式设计的经验。

  在众多互操作系统中,模式集成的基本框架如属性等价、关联等价和类等价可最终归于属性等价。

  4.多粒度数据集成

  多粒度数据集成是异构数据集成中最难处理的问题,理想的多粒度数据集成模式是自动逐步抽象。

  数据综合(或数据抽象)指由高精度数据经过抽象形成精度较低、但是粒度较大的数据。其作用过程为从多个较高精度的局部数据中,获得较低精度的全局数据。在这个过程中,要对各局域中的数据进行综合,提取其主要特征。数据综合集成的过程实际上是特征提取和归并的过程。

  数据细化指通过由一定精度的数据获取精度较高的数据,实现该过程的主要途径有:时空转换,相关分析或者由综合中数据变动的记录进行恢复。数据集成是最终实现数据共享和辅助决策的基础。

常见数据集成方法[1]

  1.联邦数据库

  联邦数据库是早期人们采用的一种模式集成方法。模式集成是人们最早采用的数据集成方法。其基本思想是,在构建集成系统时将各数据源的数据视图集成为全局模式,使用户能够按照全局模式透明地访问各数据源的数据。全局模式描述了数据源共享数据的结构、语义及操作等。用户直接在全局模式的基础上提交请求,由数据集成系统处理这些请求,转换成各个数据源在本地数据视图基础上能够执行的请求。模式集成方法的特点是直接为用户提供透明的数据访问方法。由于用户使用的全局模式是虚拟的数据源视图,一些学者也把模式集成方法称为虚拟视图集成方法。模式集成要解决两个基本问题:构建全局模式与数据源数据视图间的映射关系;处理用户在全局模式基础上的查询请求。

  模式集成过程需要将原来异构的数据模式作适当的转换,消除数据源间的异构性,映射成全局模式。全局模式与数据源数据视图问映射的构建方法有两种:全局视图法和局部视图法。全局视图法中的全局模式是在数据源数据视图基础上建立的,。它由一系列元素组成,每个元素对应一个数据源,表示相应数据源的数据结构和操作;局部视图法先构建全局模式,数据源的数据视图则是在全局模式基础上定义,由全局模式按一定的规则推理得到。用户在全局模式基础上查询请求需要被映射成各个数据源能够执行的查询请求。

  在联邦数据库中,数据源之间共享自己的一部分数据模式,形成一个联邦模式(见图)。联邦数据库系统按集成度可分为两类:采用紧密耦合联邦数据库系统和采用松散耦合联邦数据库系统。紧密耦合联邦数据库系统使用统一的全局模式,将各数据源的数据模式映射到全局数据模式上,解决了数据源间的异构性。这种方法集成度较高,用户参与少;缺点是构建一个全局数据模式的算法复杂,扩展性差。松散耦合联邦数据库系统比较特殊,没有全局模式,采用联邦模式。该方法提供统一的查询语言,将很多异梅性问题交给用户自己去解决。松散耦合方法对数据的集成度不高,但其数据源的自治性强、动态性能好,集成系统不需要维护一个全局模式。

  Image:联邦数据库系统结构图.jpg

  2.中间件集成方法

  中间件集成方法是目前比较流行的数据集成方法,中间件模式通过统一的全局数据模型来访问异构的数据库、遗留系统、Web资源等。中间件位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统’一数据模式和数据访问的通用接口。各数据源的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索服务。它同样使用全局数据模式,通过在中间层提供一个统一的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个统一的整体。这种模型下的关键问题是如何构造这个逻辑视图并使得不同数据源之间能映射到这个中间层。

  G.Wiederhold最早给出了基于中间件的集成方法的构架。与联邦数据库不同,中间件系统不仅能够集成结构化的数据源信息,还可以集成半结构化或非结构化数据源中的信息,如Web信息。美国斯坦福大学Garcia—Molina等人在1994年开发了TSIMMIS系统,就是一个典型的中间件集成系统。

  典型的基于中间件的数据集成系统,如下图所示,主要包括中间件和封装器,其中每个数据源对应一个封装器,中间件通过封装器和各个数据源交互。用户在全局数据模式的基础上向中间件发出查询请求。中间件处理用户请求,将其转换成各个数据源能够处理的子查询请求,并对此过程进行优化,以提高查询处理的并发性,减少响应时间。封装器对特定数据源进行了封装,将其数据模型转换为系统所采用的通用模型,并提供一致的访问机制。中间件将各个子查询请求发送给封装器,由封装器来和其封装的数据源交互,执行子查询请求,并将结果返回给中间件。

  Image:基于中间件的数据集成模型.jpg

  中间件注重于全局查询的处理和优化,相对于联邦数据库系统的优势在于:它能够集成非数据库形式的数据源,有很好的查询性能,自治性强;中间件集成的缺点在于它通常是只读的,而联邦数据库对读写都支持。

  3.数据仓库方法

  数据仓库方法是一种典型的数据复制方法。该方法将各个数据源的数据复制到同一处,即数据仓库。用户则像访问普通数据库一样直接访问数据仓库,如图所示。

  Image:基于数据仓库的数据集成模型.jpg

  数据仓库是在数据库已经大量存在的情况下,为了进一步挖掘数据资源和决策需要而产生的。目前,大部分数据仓库还是用关系数据库管理系统来管理的,但它决不是所谓的“大型数据库”。数据仓库方案建设的目的,是将前端查询和分析作为基础,由于有较大的冗余,所以需要的存储容量也较大。数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。

  数据仓库技术是为了有效地把操作型数据集成到统一的环境中以提供决策型数据访问的各种技术和模块的总称。所做的一切都是为了让用户更快、更方便地查询所需要的信息,提供决策支持。

  简而言之,从内容和设计的原则来讲,传统的操作型数据库是面向事务设计的,数据库中通常存储在线交易数据,设计时尽量避免冗余,一般采用符合范式的规则来设计。而数据仓库是面向主题设计的,数据仓库中存储的一般是历史数据,在设计时有意引入冗余,采用反范式的方式来设计。

  另一方面,从设计的目的来讲,数据库是为捕获数据而设计,而数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,例如时间、部门,维表中存放的就是这些角度的定义;事实表里放着要查询的数据,同时有维的ID

数据集成的作用

  数据集成对于企业信息系统的作用

  数据集成的出现使企业能够将后端的ERP信息迁移到Internet上。数据集成产品在一个公司的Internet计算机与SAP、Oracle和PeopleSoft等公司的后端系统之间提供“高速缓存”或数据分级。

  数据集成提供了在一个企业主计算机上存储的后端信息的一幅镜像。当一个Internet客户需要检查一项订单的状态时,这项查询就被转移到数据集成软件。因此,并非总需要访问该企业的主计算机。数据集成软件拥有足够的智能,知道什么时候与主计算机保持同步以便使数据不断更新。为电子商务应用集成ERP数据是通过数据分级和直接访问ERP数据这两者的结合来完成的,它包括使用一个数据服务器和一些数据高速缓存器。数据集成软件以智能方式将直接实时的和分批的数据存取方法混和起来,以便从一个ERP系统中抽取数据。

  数据从一个或多个源前进到一个或多个目标表以及信息类型(如XML),数据移动的步骤包括确定应该从中抽取数据的源、数据应当进行的转换以及向什么地方发送数据。用户通过一个图形用户接口来指定数据映射和转换。

  由用户定义的程序控制每一块数据的移动并确定这种移动之间的内部相关性。例如,如果一个目标表依靠其他目标表的值,则使用一些程序来指定一个数据服务器应当按什么次序来管理这些目标表中的单个数据移动。数据移动可以被设计来以批量方式或实时方式运行,并由管理员来创建和管理,以控制ERP、电子商务、客户关系管理、供应链管理以及通信应用之间的数据移动。数据移动使用分布式查询优化、多线程、存储器内数据转换和并行流水线操作来提供很高的数据通过量和可伸缩性。例如,要管理抽取程序并从SAP软件中来执行批量数据抽取,可使用优化的ABAP代码(SAP的专有编程语言),不需要开发和维护定制的ABAP代码。

相关条目

参考文献

  1. 1.0 1.1 宋晓宇,王永会.数据集成与应用集成[M].水利水电出版社,2008.7.
  2. 张维明,汤大权,葛斌.信息系统工程 第2版[M].电子工业出版社,2009.01.