UML软件工程组织

Web数据:
数据库技术面临的机遇与挑战
作者:孟小峰 选自:www.tongji.edu.cn
WWW的迅速发展使其成为全球信息传递与共享日益重要和最具潜力的资源,它作为一种新的环境资源,为新技术的产生开辟了新的领域,同时也为传统技术(如数据库、人工智能等)的研究提出了新的方向。如何管理WWW上的大量信息,以满足用户不断增长的信息需求,是研究人员面临的新课题。

----由于Internet的发展,网上数据不断激增,对网上信息的应用需求也不断提高,原有的对文本文件的链接浏览和关键词检索已无法满足一些复杂的应用需求。近年来,大量的研究致力于将数据库技术应用于网上数据的管理和查询,使查询可以在更细的粒度上进行,并集成多个数据源的数据。但是,将传统数据库技术直接应用于网上数据的最大困难在于,网上数据缺乏统一的、固定的模式,数据往往是不规则且经常变动的。因此,半结构化数据模型应运而生,其无模式及自描述的特点适宜于描述网上数据。事实上,日益普及的XML数据就是一种自描述的半结构化数据,它的出现推动了WWW在电子商务、电子数据交换和电子图书馆等多方面的应用。但对于如何有效地存储管理和查询这类数据,目前却莫衷一是,已有的数据库技术,如关系数据库、面向对象数据库,都不能完全适应于新的应用需求,而专用的半结构化数据管理系统目前仍处于初步实验阶段。

----我们可以预言,XML将成为数据组织和交换事实上的标准,大量的XML数据将很快出现在Web上。实质上,XML为Web的数据管理提供了新的数据模型,很多成熟的数据库技术将进入Web信息处理领域,将其变为一个巨大的数据库。XML是朝这个方向迈出的第一步。这种变化给数据库研究界带来了巨大的机会,使将数据库技术和研究扩展到对Web数据的管理成为可能。目前,对XML数据的存储和查询的研究正方兴未艾。XML数据模型与半结构化数据模型有着很多的相似性,可以说,XML是WWW上的半结构化数据,它既为半结构化数据的研究展示了广阔的应用前景,同时也推动了半结构数据研究的发展。

WWW信息的特点

 

----1.面向显示与面向数据

----从信息交换的角度看,目前WWW上的信息大多以HTML文档形式存在,用户与服务器之间信息的传递主要依赖超文本传输协议(HTTP)。HTML文档中的信息是面向显示的,用规范的HTML标记tag定义文档的元数据(如标题Title等),或定义文档的文本应如何显示。这些标记的理解工作交由浏览器,而信息的理解工作则由用户自己完成。

----XML是WWW上信息交换的新标准,它支持用户自定义文档标记,用有序的、嵌套的元素组织有一定结构的数据,是面向数据的,程序可读解这些标记并依据标记的语义处理数据。以XML文档为主体的WWW将成为新一代以数据为中心的WWW计算环境。

----2.半结构化与非结构化

----在WWW上,数据嵌在HTML文档的文本中,而数据的部分组织信息嵌在标记中。从文档标记的角度看,HTML显示超链接的文档;从数据的角度看,HTML文档所蕴含的数据也是半结构化的,这是因为:

  • 数据没有严格的结构模式;
  • 含有不同格式的数据(如文本、声音、图像等);
  • HTML文本无法区分数据类型;
  • 多个异质数据源中不同的站点给相同的信息起不同的名字(如“级别”与“等级”等)。

----目前,有很多研究正围绕半结构化数据和半结构化文档(如SGML或XML文档)的存储、模式、查询、优化等展开。

----3.不同形式数据源的数据

----除了保存在HTML文档中的信息外,WWW上还有大量信息存储在文本文档、传统的关系或对象数据库中,这些不同形式的数据在WWW上需要通过集成并用HTML文档显示,以实现共享和交换。

----如何有选择地从已有数据开始,生成供浏览的页面并建立站点是WWW站点管理要考虑的问题。

----4.静态与动态

----WWW站点上的信息是随时间动态变化的,信息内容的变化(增删改)需要及时地反映到WWW页面中。另一方面,站点的页面组织结构可能发生改变(如页面的增加、删除和修改)也要及时反映到站点页面的目录层次结构中。

----由于站点的信息量大,手工动态改动信息的工作量很大,Web站点管理应提供合适的工具进行站点维护或重构。

----5.界面友好

----Web站点的信息主要面向一般的非计算机专业用户浏览和查询,因此,对界面的友好性、易用性提出了更高的要求。用户获取信息的渠道越来越多,方式越来越灵活,因此,提供给用户的服务应该适应于多种形式的用户界面。目前,很多搜索引擎通过Form的形式由用户填写搜索要求,这种用户界面虽然比较易用,但由于引擎搜索方式和搜索能力的限制,返回的结果形式单一、内容重复,并且没有智能化分析的功能,不能很好地满足用户的搜索要求。

数据库与信息检索技术的比较

 

----WWW目前还只是一个巨大的分布的信息检索系统,大多数搜索引擎基于信息检索技术。数据库技术与信息检索技术有很多不同,详见下表。

----二者最重要的一个区别是数据库的数据结构性更强,比信息检索的数据包含更多的语义。在一定意义上,信息检索技术更适合于处理无结构数据,数据库则是管理结构数据的最好途径。在本质上,信息检索使用近似方法为用户的浏览需求查找相关信息。其中“近似”的含义包括近似的查询条件说明、近似匹配、近似结果。

----数据库中简单演绎推理的形式为:如果aRb并且bRc,那么aRc。在信息检索技术中则经常使用归纳推理,关系只由确定或不确定的程度表达,因此,推理的可信度是个变量。这个区别导致数据库被描述为确定性的,而信息检索是概率性的。在信息检索中,经常用贝叶斯定理进行推导。

----另外一个区别以类属为依据。数据库类属关系中的类由组成一个类的所有必要和充分的处理属性定义;在信息检索中,类的一个个体将只拥有该类所有个体的所有属性的一部分,类属没有充分或必要的属性。

----数据库的查询语言通常是人工语言,有严格的语法和词汇表;在信息检索中,经常使用的是自然语言。

---- 随着电子数据数量的激增和Web规模的快速增长,使用传统的信息检索方法在这样一个无限的信息海洋中要准确、快速定位所需信息时,越来越显得力不从心,在未来的Web发展中,如何提高信息检索的准确性和效率成为关键问题。另一方面,目前出现了超越浏览方式而使信息面向应用访问的迫切需求,从而为各种服务提供自主性、互操作性和Web意识。无结构的HTML文档及其相应的信息检索技术将不再适应下一代更复杂的Web应用。

----因此,未来的Web信息将由更近似于数据库的方式进行管理,而不是目前采用的单一的信息检索方式。Web资源需要以有结构的方式进行组织和访问。

数据库技术面临的Web数据管理问题

 

----Web的目前状况离Web上有效信息服务与信息管理的实现还有差距,这正为数据库技术向Web领域发展提供了空间。新环境中的数据库技术研究内容包括半结构化数据模型及其理论、数据缓存与复制、事务管理、数据安全等,它与Web上已有的成熟技术(如信息检索技术)相结合,可以用来解决Web上数据管理、动态维护等关键问题。

----1. 半结构查询语言与模式抽取

----半结构化数据的研究起源于异质的数据源之间数据交换和集成,另外,一些数据源(如Web)的数据并非像传统的结构化数据(如关系数据)那样有严格的数据格式和数据类型。半结构化数据的特点是没有事先给定的数据模式,或者数据模式对数据的约束不强,模式的规模比较大(有时甚至可以大过数据),模式是经常变动的,数据未赋予严格的类型。很多研究者研究了半结构化数据的存储、模式抽取、查询和用户界面等问题,并出现一些半结构化数据的原型系统,如Lore。Lorel、UnQL是比较典型的半结构化数据查询语言。

----对结构化文档(如SGML、XML或HTML)查询的研究,更多地考虑了对链接路径的查询能力、文字检索和字符串匹配能力,并考虑了结果的重构能力。

----此外,与Web查询有关的理论,如Web查询的可计算性、路径遍历的优化算法、Web站点的完整性约束机制等,也都是很受关注的课题。对Web查询用户界面的研究也很有意义,在这方面,Lore系统的DataGuide为半结构化数据查询提供了一个交互式用户界面,帮助用户利用抽取出来的模式构造查询。

----2. Web站点建设与重构

----Web站点建设是从已有数据开始,创建用户可浏览的Web站点和Web站点视图。Web站点重构是在已有站点的基础上,基于Web动态变化和安全的考虑,重构站点或Web站点的不同视图。Web站点建设与重构既包括前面讨论的两个方面的问题,还包含其他方面的技术(如网络实现等),从数据的角度看,Web创建者应考虑的问题有:

---- 选择用于站点显示的数据;

---- 确定Web站点的结构(页面的内容和页面之间的链接)和约束;

---- 确定页面如何显示给用户。

----信息集成技术是Web站点建设的基础,描述性的Web查询语言可以成为用于Web站点重构的方便和功能强大的工具。这方面比较典型的例子是StruDel,它是一个Web站点管理系统,它的语言StruQL可以定义集成的数据图和Web站点的结构图。另外,ARANUES系统比较有特色,它的Ulixes语言将Web站点内用ADM模型描述的超文本信息集成为传统的关系表,用户在关系的基础上实现信息的集成与查询,它的Penelope语言将关系模式转化为ADM模型上的超文本。

----3.半结构化数据的存储研究

----数据的存储研究包括两个问题:半结构化数据或XML数据的存储以及索引的存储。数据的存储有以下方式:

----文本文件 是最简单、直接地存储XML数据的方式。它与数据被理解的方式一致,自然地反映了对象之间的嵌套关系,且同一个对象的数据集中存储。缺点是存储粒度大,当数据量大时不利于实现网络通信和数据共享。

----关系数据库 存储半结构化数据或XML数据。可以利用数据库现有的存储管理、并发控制、恢复、版本机制等技术有效地管理数据。该方式的欠缺是一个简单的查询路径可能要通过多重链接实现,影响了查询的效率。半结构化数据的缺乏模式和数据类型的特性也使关系数据库的一些优化存储策略(如聚集存储等)不能应用。

----面向对象数据库 很多商业的XML服务器采用这种方式。它利用DTD给出的类型信息构造类层次结构,正则表达式的符号可由基于对象数据模型的类型表达(如用list数据类型表达),也可以通过创建新类实现(如“|”符号可用union类型的类实现)。该方式的数据模型更接近半结构化数据模型,并能更好地处理嵌套的集合和顺序,因此,其数据存储和查询处理可以用来提高XML或半结构化数据处理的效率。问题是在数据加载时对未知的数据类型需要建立新的类对应,这样就影响了加载效率;当DTD改变时,数据模式的变动代价也很昂贵。面向对象模型虽然比关系模型更适合于表达半结构化数据和XML数据,但有快速连接性能的关系数据库也可以实现很好的性能。

----专门的对象存储 如Lore系统,它利用自己的对象管理器管理物理磁盘上的半结构数据或XML数据对象,这里不再赘述。

----半结构化数据索引需要处理的问题是异构原子值的索引和路径表达式的索引。不同原子值的索引可以通过强制类型转换实现。路径表达式的索引可以分为树/图结构数据的索引、受限/完全的正则表达式。相对来说,树结构的数据,如XML,其索引技术较简单,并且只支持正则路径表达式的受限形式的索引更有效一些,因为较少有非常复杂的正则路径表达式。伯克利大学的XSet系统就为XML数据采用了一种索引。这种索引综合了路径信息,也是树结构。索引树的节点是哈希表,索引根节点包含了数据根节点的所有出边标记,索引树的内节点对应了数据中到达某一非叶节点的标记序列,哈希表的每一项都包含了数据树中指向相应节点的指针。这种索引结构可以有效地处理简单路径表达式,一些更复杂的路径表达式也可以通过索引的索引来实现。斯坦福大学的DataGuide系统实现了任意结构的半结构化数据的索引,它是关于半结构化数据的路径信息的一个精确、简洁的索引结构,可以有效地用来辅助建立查询和进行查询优化。

----4.分布计算的研究

----在信息分布的环境中,特别是在Web中,可有两种情况出现:

  • 事先已知模式信息,知道数据如何分布,则可利用已知信息采取类似于分布关系数据库的半链接或半链接规约的技术进行查询处理。
  • 模式信息事先未知,则需采用新技术处理。这时处理某一查询路径表达式比较好的解决办法是在每一个参与站点上建立一个对应于该路径表达式的自动机,各自将计算结果传到中心站点,然后计算出最终查询结果。这种方法可以减少不同参与站点间的通信次数。

----5.Web异构数据集成

----Web信息集成系统的目标是支持对Web上多个数据源的查询。它除与异构数据库集成系统相同外,还要处理大量的、数目递增的Web数据源,描述Web数据源特征的元数据很少,各数据源有很强的自治性。

----建设Web信息集成系统有两种方法:数据仓库方法和虚拟方法。前者是将各数据源的数据装载到数据仓库中,用户的查询基于数据仓库的数据;后一种方法基于一个“中间模式”(Mediated Schema),数据仍保存在局部数据源中,通过各数据源的“包装程序”(Wrappers)将数据虚拟成中间模式,用户的查询基于中间模式,不必知道每个专门的数据源的特点,查询执行引擎直接与Wrappers打交道,将基于中间模式的查询转换为基于各局部数据源的模式。虚拟方法更适应于数据源数目多、各局部数据源的自治性很高且局部数据经常变化的Web环境。

----在信息集成系统中需注意的问题是:

----中间模式的说明和重新生成 包括选取何种中间模式(如基于OEM或XML等)和中间模式于各局部数据模式的对应和转换。

----Web数据源的数据完备性 对不同的数据源的数据完备性进行评价,分析数据源之间的信息重叠,对回答查询具有重要意义。

----各数据源的查询处理能力不同 需要考虑各数据源对局部数据访问模式的限制和其特有的抽取数据的演算能力,尽量把各数据源能胜任的工作推到相应的数据源,减少网络数据传输。

----查询优化 选择最少数目的数据源完成查询,向参与查询的数据源传送最小的查询等方法。

----查询执行引擎 查询引擎的功能可能受到网络环境的影响,各数据源的自治性也为查询执行引擎的实现带来一定困难。

----包装程序的建立 HTML文档包装程序的建立所依赖的技术大多是机器学习和自然语言处理等,XML以其面向交换的特点作为中间模式可以简化包装程序的建立。

----不同数据源之间的相同对象匹配 不同数据源可以表示现实世界中相同对象,查询需要判断在各个数据源返回的结果是否对应同一对象。

----6.Web应用系统体系结构

----Web是一个分布的异质的计算环境,与这一环境相适应,其应用系统具有多层体系结构,即在客户/服务器两层结构之间具有若干个中间层。中间层的作用是集成、转换多个数据源的数据。中间层有两种实现方式:

----数据仓库 各数据源的数据被导入数据仓库中,实现数据集成并支持产生式系统的决策支持查询。这样的系统适合规模不很大但要求查询效率高,且源数据更新不多的情况。关键技术是有效的数据加载和增量更新维护。

----中介(Mediator)系统 数据并不实际存储在中间层,客户端发来的查询由中介系统转换为各数据源的查询。这种方法可适用于规模很大但对查询效率要求不高并且源数据经常更新的系统。关键技术是查询重写。

结合两种技术的Web数据研究

 

----目前,针对信息交换形成了WWW和数据库两种较成熟的技术。

----WWW提供了如下技术:

  • 全球的互连网络基础结构和支持文本交换的一组协议;
  • 超链接文档的格式语言HTML;
  • 文档抽取技术及其用户界面;
  • 多层Web应用的体系结构;
  • 数据交换的新的格式标准XML。

----数据库领域提供的成熟技术有:

  • 数据存储和访问大量高度结构化数据的查询语言;
  • 数据模型和构造数据的方法;
  • 维护数据完整性和一致性的机制;
  • 客户/服务器体系结构的数据库应用;
  • 新的半结构化数据的模型,放宽了传统数据库系统对结构的限制。

----两者的最后一点,即XML与半结构化数据,它们的结合是Web数据研究中全新的课题,为Web数据管理和应用提供了一种新的解决方案。

----XML形式的Web数据不仅是一种新的Web数据组织形式,而且它的面向数据交换的特性推动了Web应用模式的发展。它所反映的是有结构并具有自描述能力的数据。目前很多关于XML数据存储、查询和系统实现与应用模式等方面的研究已经开展,以XML家族为基础的新一代的WWW环境是直接面对Web数据的,它不仅可以很好地兼容原有的Web应用,而且可以更优地实现WWW这一分布计算环境下的信息共享与交换,而成为Web信息发展的趋势。

 

 

 

版权所有:UML软件工程组织