目录1.目前的信息资源利用现状2.研究意义3.主要涉及的问题4.数据组织方式5.典型体系结构6.数据异构的类型7.异构数据库的步骤8.主要采用的方式1•随着人们对信息综合利用需求的进一步提高,Internet的局限性也凸现出来,因为计算机互联网络实现的是一种硬件的连通,所连接起来的信息大部分是异构的,如何让这一个个信息孤岛互通真正实现数据的共享?如何找出并消除异构数据库中数据•的冲突、异常,进行数据集成?2数据管理技术的发展过程时间发展阶段特点40年代中-50年代中人工管理阶段数据不能长期保存应用程序本身管理数据数据不共享数据不具有独立性50年代中-60年代中文件系统阶段数据可以长期保存由文件系统管理数据数据冗余大,共享差数据独立性差40年代中-现在数据库系统阶段数据结构化数据共享性高,冗余低,易扩充数据独立性高,统一管理未来云存储异构数据库目前·信息集成无疑可以提高企业管理效率、降低企业运营成本以及加强企业竞争能力。·目前的信息处理方式并未从根本上解决数据的冲突和共享问题。·目前的信息资源利用方式正经历着从传统的仅依赖单个站点数据进行信息管理的方式向多个站点资源共享进行信息集成管理的方式转变。·数据清理·数据集成·数据选择·数据变换·数据挖掘·模式评估·知识表示异构数据库语义集成的任务·场地分布·数据分布·硬件平台多样化·操作系统多样化·应用平台多样化异构性表现异构数据库集成系统的数据组织方式方式数据存储特点使用范围虚拟方式不在本地只建立与远程数据源的逻辑映射基于查询分解模型数据库查询被分解成子查询,并送到远程数据源,最后合并返回的查询结果。数据源经常变动的物化视图方式存储在本地无需对数据源进行访问数据的维护方式采用增量维护具有更快的查询响应时间数据源不经常变化且要求有快速查询响应的异构数据库集成采用的典型体系结构1.全局概念视图特点:①需要对异构数据库中的数据完全集成以形成全局视图;②必须保持全局模式与所有局部模式的映射关系;③需要具备局部数据库的知识,并且知道应如何解决数据异构问题;④所有局部模式的修改都将导致全局模式的修改,这将增加维护全局模式的负担。2联邦数据库系统特点:①各局部数据库间的耦合较松一些,没有单一的全局策略。②每个局部数据库维护本地输入输出策略。③局部输入输出策略构成了全局策略的一部分。④局部系统有较好的自治性。3基于数据仓库特点:①数据仓库层,该层对数据进行高度的集中,存储来自各个数据源的数据。系统提供了对这个数据仓库的查询机制,能够方便的对这些数据进行有效的处理。②当信息源的数据发生变化时,数据仓库中的数据也要做相应的修改。因此,这种间接访问方式的最大缺点是数据更新不及时,数据重复存储。③这种方法通常需要一些新的技术,如有效的数据加载和增量更新维护等4基于中介器/包装器特点:①该方法不需要重复存储大量数据,并能保证查询到最新的数据,因此比较适合于高度自治、集成数量多且更新变化快的异构信息源集成。②该方法中的技术涉及到更多的查询上的代数操作,因此查询功能的实现较为复杂。异构数据库的异构数据类型1.数据异构·数据类型·格式·精度解决数据异构问题是在数据语义明确的前提下具体采取消除冲突的方法,相对来说比较容易。•2语义异构•语义异构是指不同数据源数据的涵义相似或有差别。消除语义异构就是要解决·确定属性是否为同一属性;·实体(型)是否为同一实体(型);·描述实体型的结构是否存在冲突等问题。①属性命名冲突a.同名不同义指相同的名字代表不同的涵义。如:属性SALARY在一个数据库中代表周工资,而在另外一个数据库中代表月工资;b.异名同义指不同的名字代表相同的涵义。如:新浪微博中的gender和腾讯微博中的sex②属性域和取值冲突a.属性域冲突,即属性值的类型、取值范围或取值集合不同。b.属性取值单位冲突。③结构冲突指同一个概念用不同的结构来描述。如同一个概念在一个模式中被表示为属性值,而在另外一个模式中被表示为属性。④键冲突不同模式中同一实体型的键属性不同。如在两个模式中,实体型EMPLOYEES的键属性分别为SS#(职工社会保险号)和EMP_ID(职工号)。⑤部分数据丢失指同一实体型在不同的模式中用不完全相同的属性来描述。例如,Source1:EMP(SSN,NAME,AGE)Source2:EMP(SSN,NAME,ADDRESS)⑥抽象级别不同抽象级别不同,可分为属性抽象级别不同和实体型抽象级别不同。DB1:LABOR_COSTMATERIAL_COSTDB2:TOTAL_COST,其中,TOTAL_COST=LABOR_COST+MATERIAL_COST。新浪微博中company腾讯微博中company-name,department-name,begin-year,end-year,company-id⑦数据模型表示上的差异数据模型异构情形下,数据库集成难度更大。关系模型中的模式表示:EMPLOYEE(name,address,salary)面向对象模型中的模式表示:classEMPLOYEE{/*变量*/stringname;stringaddress;intsalary;/*消息*/intannual-salary();stringget-name();stringget-address();}①把异构数据库中用不同数据模型表示的数据转换成统一的数据模型表示,然后再进行集成。考虑到关系模型的描述能力,通常局部数据库都转换成关系模型表示;②找出异构数据库间语义相关的对象(属性或实体),即语义集成;③在数据语义明确的情形下,解决异构数据库间数据的冲突问题,进行数据集成。异构数据库集成的步骤解决异构数据库间语义异构问题主要采用的方法1.异构数据库间相同属性的识别方法①比较属性名的方法该方法假定了同一概念都用同义的述语表示,并参考了同义词字典。对于面向对象模型中的两个对象相同与否的判断中,主要比较对象中的类名、成员名及属性名等是否相同,并对各项统一赋予一定的权值,最后计算两个属性的相似性和不相似性,以决定属性是否属于同一属性。对于比较属性名的方法,尽管简单、高效,但是对于属性之间存在着同名异义、异名同义及缩略词等问题,是影响该方法准确率的主要因素。②比较属性的模式信息的方法方法主要利用属性的模式信息来判断两个属性是否相同,避免了比较属性名的方法中出现的同名异义、异名同义等问题。用属性的取值唯一性、域、静态语义完整性限制、动态语义完整性限制、安全性限制、允许进行的操作及数据精度等模式信息判断两个属性是否相同的方法。该方法主要通过对属性的模式信息中的每一项赋予一定的权值,然后按事先设计好的算法进行属性是否相同的判断。但该方法仅使用属性的元数据信息,并未使用属性的数据内容信息,则具有相同元数据信息描述的不同属性不能被区分开。同时,该方法需要先验知识来确定描述属性的各项模式信息的权重,但属性的模式信息的权重很难准确量化,也不能找到一个通用的固定规则来解决属性的匹配问题。③比较属性值及所来自的域的方法Larsonet.al.和Shethet.al.讨论了如何根据实体集的属性之间域的关系来进行集成,他们把域的关系分为:EQUAL、CONTAINS、OVERLAP、CONTAINED-IN及DISJOINT。指出,判断域之间的关系是费时、乏味的。直接比较属性的值是否相等及所来自的域是否相同来确定属性是否为同一属性的方法是低效的。并且该方法容易受到噪声数据的干扰,如输入错误、不同数据库中数据的更新不同步等,少量数据的错误可能会导致得出错误的域关系,容错性较差。Sheth和Gala也认为文献中给出的方法不能实现自动化,需要依赖于启发式算法找出匹配的属性对,而不是进行所有属性之间的连接操作。2异构数据库间相同实体的识别方法①基于规则的实体连接匹配模型文献[60]给出了一个基于规则的实体连接匹配模型来解决实体异构问题。该模型实际上是文献[61]中用于处理数据库语义问题的基于规则的表示语言的扩展,主要是通过一些规则在属性值之间建立等价关系。该方法存在的问题是,不同的规则可能适用于属性的不同实例,在属性级上定义的规则,并不一定适用于属性的实例,并且该方法可能导致基本信息的丢失。②基于记录链的匹配模型记录链是与实体异构相近似的问题,记录链主要是利用统计的方法来实现记录匹配。文献[62]描述了记录链问题,文献[63]给出了一个关于记录链的规范化的统计框架,解决记录链问题的统计技术被成功地应用到医学、犯罪取证、移民等领域。实际上,实体异构问题与记录链问题还是有一定的差别,记录链的匹配是多对多的,而异构实体的匹配是一对一的。所以有必要研究新的方法来实现异构实体的匹配。③基于概率的实体匹配决策模型针对实体异构问题,文献[57]给出了一个概率决策模型。由于来自不同数据库中的实体的描述符不同,且存在数据收集、数据输入及数据表示上的错误,要实现实体的精确匹配是不现实的。文献[57]用概率理论对不确定数据的表示建模,并给出了最小化实体匹配代价的方法。在具体数据库上的实验结果表明,该方法能有效地实现实体匹配,解决实体异构问题。④基于距离的实体匹配决策模型文献[56]给出了一个基于距离的实体匹配决策模型来实现实体的匹配,该模型利用待匹配实体的实例值之间的距离作为衡量两个实体是否相同的标准。该模型中,涉及属性冲突的解决、共同属性的选取、参数的估计等问题,并且需要由用户和领域专家对属性的重要性进行评价。通过在具体数据库上的实验显示,该方法能够很好地预测两个实体是否匹配,计算代价小且算法有较好的可伸缩性。3.解决异构数据库间语义异构的方法①基于SSM(SummarySchemaModel)的方法在分布式环境下,多数据库系统能够提供对异构且自治的局部数据库进行集成访问,目前,多数据库系统存在的主要问题是局部数据库中近似的语义数据的匹配。Brightetal.提出并研究了基于SSM的语义异构解决方案[8],SSM是对多数据库系统的扩展,用来辅助对具有不同对象名但语义相关的对象的判断提供语言上的支持(linguisticsupport)[64,65]。SSM通过创建一个全局数据结构来实现对多数据库系统中的可用信息进行抽象,利用模式元素(schematerms)之间的语言关系建立一个层次型全局数据结构,通过该模型能够找出具有不同实体名的近似语义实体。该模型允许用户用自己的语言描述查询(支持不精确查询)请求,而不是强制用户使用系统特定的述语进行查找,系统通过使用全局数据结构对用户提出请求的述语进行最相似的匹配。文献[8]对SSM的模糊查询方案及相应的查询处理代价在一个标准的多数据库系统下进行了仿真实验,结果表明该方案能给用户查询处理带来更大的弹性和方便。关于SSM的代价和优势的详细讨论以及未来的研究方向等详细内容,请参阅文献[8]。②基于Ontology的方法基于Ontology的语义集成方法的研究主要从三个方面展开[6]。第一个方面是创建Ontology,这方面的工作主要是讨论如何构建分类系统树,如何保证创建的Ontology能够准确地对具体应用环境的数据进行概念化,这方面的工作参见文献[66~69]。另一个方面是考虑Ontology的表示和基于Ontology的推理,主要讨论怎样表示Ontology的定义或用Ontology进行语义推理时哪些因素是重要的。OBSERVER[70]系统通过使用Ontology允许用户进行异构数据源的查询,通过用目标Ontology中合适的述语代替用户的查询来实现异构数据源的访问。通过使用语义网框架的项目SHOE[71]及Ontobroker[66]也是使用Ontology提高网络环境下的检索能力。第三方面的工作主要是考虑数据库模式的语义集成,讨论如保证Ontology能够有助于解决异构问题,Ontology能够解决哪一类数据异构问题,如何在模式和Ontology间建立起联系,如何保证目前系统的体系结构和Ontology的兼容性等问题。③数据附加语义值的方法除了前面