数据集成方法主要包括联邦数据库系统、中间件模式和数据仓库模式[9]。
1.联邦数据库系统
联邦数据库是早期人们采用的一种模式集成方法,模式集成是人们最早采用的数据集成方法。其基本思想是,在构建集成系统时将各数据源的数据视图集成为全局模式,使用户能够按照全局模式透明地访问各数据源的数据。全局模式描述了数据源共享数据的结构、语义及操作等。用户直接在全局模式的基础上提交请求,由数据集成系统处理这些请求,转换成各个数据源在本地数据视图基础上能够执行的请求。模式集成方法的特点是直接为用户提供透明的数据访问方法。由于用户使用的全局模式是虚拟的数据源视图,一些学者也把模式集成方法称为虚拟视图集成方法。模式集成要解决两个基本问题:构建全局模式与数据源数据视图间的映射关系;处理用户在全局模式基础上的查询请求。
模式集成过程需要将原来异构的数据模式作适当的转换,消除数据源间的异构性,映射成全局模式。全局模式与数据源数据视图间映射的构建方法有两种:全局视图法和局部视图法。全局视图法中的全局模式是在数据源数据视图基础上建立的。它由一系列元素组成,每个元素对应一个数据源,表示相应数据源的数据结构和操作;局部视图法先构建全局模式,数据源的数据视图则是在全局模式基础上定义,由全局模式按一定的规则推理得到。用户在全局模式基础上查询请求需要被映射成各个数据源能够执行的查询请求。
在联邦数据库中,数据源之间共享自己的一部分数据模式,形成一个联邦模式。联邦数据库系统按集成度可分为两类:采用紧密耦合联邦数据库系统和采用松散耦合联邦数据库系统。紧密耦合联邦数据库系统使用统一的全局模式,将各数据源的数据模式映射到全局数据模式上,解决了数据源间的异构性。这种方法集成度较高,用户参与少;缺点是构建一个全局数据模式的算法复杂,扩展性差。松散耦合联邦数据库系统比较特殊,没有全局模式,采用联邦模式。该方法提供统一的查询语言,将很多异构性问题交给用户自己去解决。松散耦合方法对数据的集成度不高,但其数据源的自治性强、动态性能好,集成系统不需要维护一个全局模式。
2.中间件模式
中间件集成方法是目前比较流行的数据集成方法,中间件模式通过统一的全局数据模型来访问异构的数据库、遗留系统、Web资源等。中间件位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。各数据源的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索服务。它同样使用全局数据模式,通过在中间层提供一个统一的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个统一的整体。这种模型下的关键问题是如何构造这个逻辑视图并使得不同数据源之间能映射到这个中间层。
G.Wiederhold最早给出了基于中间件的集成方法的构架。与联邦数据库不同,中间件系统不仅能够集成结构化的数据源信息,还可以集成半结构化或非结构化数据源中的信息,如Web信息。美国斯坦福大学Garcia-Molina等人在1994年开发了TSIMMIS系统,就是一个典型的中间件集成系统。
典型的基于中间件的数据集成系统主要包括中间件和封装器,其中每个数据源对应一个封装器,中间件通过封装器和各个数据源交互。用户在全局数据模式的基础上向中间件发出查询请求。中间件处理用户请求,将其转换成各个数据源能够处理的子查询请求,并对此过程进行优化,以提高查询处理的并发性,减少响应时间。封装器对特定数据源进行了封装,将其数据模型转换为系统所采用的通用模型,并提供一致的访问机制。中间件将各个子查询请求发送给封装器,由封装器来和其封装的数据源交互,执行子查询请求,并将结果返回给中间件。(www.xing528.com)
中间件注重于全局查询的处理和优化,相对于联邦数据库系统的优势在于:它能够集成非数据库形式的数据源,有很好的查询性能,自治性强;中间件集成的缺点在于它通常是只读的,而联邦数据库对读写都支持。
3.数据仓库模式
数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的和不可修改的数据集合。其中,数据被归类为广义的、功能上独立的、没有重叠的主题。这几种方法在一定程度上解决了应用之间的数据共享和互通的问题,但也存在以下的异同:联邦数据库系统主要面向多个数据库系统的集成,其中数据源有可能要映射到每一个数据模式,当集成的系统很大时,对实际开发将带来巨大的困难。
数据仓库技术则在另外一个层面上表达数据之间的共享,它主要是为了针对企业某个应用领域提出的一种数据集成方法,也就是我们在上面所提到的面向主题并为企业提供数据挖掘和决策支持的系统。
数据仓库方法是一种典型的数据复制方法。该方法将各个数据源的数据复制到同一处,即数据仓库。用户则像访问普通数据库一样直接访问数据仓库,数据仓库是在数据库已经大量存在的情况下,为了进一步挖掘数据资源和决策需要而产生的。目前,大部分数据仓库还是用关系数据库管理系统来管理的,但它绝不是所谓的“大型数据库”。数据仓库方案建设的目的是将前端查询和分析作为基础,由于有较大的冗余,所以需要的存储容量也较大。数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。
数据仓库技术是为了有效地把操作型数据集成到统一的环境中以提供决策型数据访问的各种技术和模块的总称。所做的一切都是为了让用户更快、更方便地查询所需要的信息,提供决策支持。简而言之,从内容和设计的原则来讲,传统的操作型数据库是面向事务设计的,数据库中通常存储在线交易数据,设计时尽量避免冗余,一般采用符合范式的规则来设计。而数据仓库是面向主题设计的,数据仓库中存储的一般是历史数据,在设计时有意引入冗余,采用反范式的方式来设计。
另一方面,从设计的目的来讲,数据库是为捕获数据而设计,而数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维表是看问题的角度,例如:时间、部门,维表中存放的就是这些角度的定义;事实表里放着要查询的数据,同时有维表的ID。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。