• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 建筑房产 > 正文

    虚拟数据库技术

    时间:2021-04-08 07:55:13 来源:达达文档网 本文已影响 达达文档网手机站

    据估计,世界上将近90%的信息存储在诸如Web站点、文件系统、层状数据库、网状数据库和已有的应用程序等非关系型数据库中。这些数据源的区别在于它们的数据组织方式、使用的符号集以及数据的存取和查询机制。这些区别为不同数据源的数据集成带来了困难。虚拟数据库(VDB)技术使外部数据源成为企业的关系数据库系统的外延。使用VDB技术,应用程序可以提供对分散在各类原始数据源中的数据进行访问的服务。VDB收集、组织并集成来自这些源的数据,并且为应用程序员提供单一、规范的RDBMS的数据外貌(appearance)。

    为了理解VDB技术在应用中的作用,我们来举个例子。假设我们要在Web上找工作。为了提供一个信息含量大、全面的选择,搜索程序除了需要合适工作的基本信息外,还需要一些附加信息,如单位所在地的住房情况、学区、犯罪记录等等。假设搜索程序按下列要求开始查找:

    在一个公司中寻找一个市场经理的职位。要求这个公司离旧金山不到15英里;公司的股票价格在过去三年里以每年至少25%的速度增长。

    搜索程序会用一个Internet搜索引擎执行关键字的查询(如市场经理、旧金山等等),但最终的查询结果准确度不高,而且会放过许多合适的工作。搜索程序也会访问那些在旧金山附近的公司的Web站点,但这样做会耗费很多宝贵的时间。

    VDB技术通过合并从数以千计的公司得到的工作列表来解决这个问题。按照工作名称,类别和其它属性进行索引;然后把它们和从其他数据源得到的地理位置和股票价格信息进行综合。程序员可以通过执行标准的SQL命令实现对VDB进行访问。最终用户可以使用带有图形界面的应用程序来构造查询。应用程序通常都运行在Web上,界面一般是HTML形式的。

    VDB目前一般都配备在诸如Yahoo!这样的高流量的站点上。值得一提的是,若把VDB与数据仓库技术相结合,VDB就能在企业系统的建立与配置过程中发挥巨大作用,它可以使企业引入在数据仓库中的非传统的和外部的数据源,并进而提供决策支持。

    体系结构

    图1是一个简单的虚拟数据库在运行状态时的结构视图,我们称它为Books VDB。这个虚拟数据库集成了两个书店(Amazon.com、Powells Books)与New York Times Book Review的内容。数据库应用程序通过JDBC或ODBC API执行SQL查询,从而实现对规范模式的操作;应用程序可以用标准的开发工具(如Delphi、PowerBuilder或者Visual Basic)来生成,也可以构筑到Web服务器中。

    VDB通过VDB服务器来访问,并使用基于浏览器的VDB控制台来管理。VDB还为每个外部数据源准备了一个与VDB服务器进行数据交换的中间接口。VDB服务器将这些分散独立的关系图1型数据库结合为一个统一的虚拟数据库。

    图2是一个运行状态下的单独中间接口。在典型情况下,该接口使用HTTP协议实现数据的传输,用HTML标准进行文本的格式化,并实现与Web站点的交互。标准的Web协议如FTP和XML也能得到支持。接口处理与协议有关的事情,如格式、cookies和身份验证等;它通过能为客户端提供SQL查询的JDBC API进行访问。

    在Books VDB例子中,发送到中间接口的SQL查询引发接口在Amazon.com站点填写一个HTML格式、并定位和解析结果页面,传送数据至关系表的行中。中间接口使用适用于语言处理的抽取规则从Web页面上提取属性;使用数据传输规则来映射和规范数据,使其与模式相适应;使用有效性规则来保证数据的完整性。

    与一个或多个数据源进行交互的瘦形JAVA应用程序可直接与中间接口进行交互。应用程序把每个数据源看作一个独立的JDBC数据源,并且必须单独与每个数据源连接,在需要的时候将数据结合进来。

    一个利用多个数据源的完善的VDB应用系统需要用到虚拟数据库管图2理系统的全部功能。VDBMS将多个数据源的表虚拟为一个单一的虚拟数据库的虚拟表,并支持RDBMS对这些表的全部操作,包括视图定义和查询处理。当VDBMS收到一个查询请求,查询处理器将其分解成不同的片断,然后把它们送到相应数据源进行实际数据的提取,最后把提取所得的结果进行组合,提交给用户。用户最终看到的结果与单个数据源没有直接联系,就像一个单独的数据库提供的数据一样。为了得到较好的性能,对提取的结果需首先进行缓存。

    除此以外,还有一个瞬态映象系统(publishing system),用来定期为虚拟表建立物理瞬态映象,并将这些映象保存在本地的关联数据存储器中,这对加快查询速度有一定的帮助。VDBMS也进行数据有效性的检查,它的检查要比单一的中间接口对数据有效性的检查要完善得多。比如,它要对数据的稳定性进行测试,这类测试将目前的数据与用概率统计规律所预测的数据进行比较,若发现有大的偏差,就会发出告警信号。

    应用实例

    国外的一些研究机构和组织已开始将VDB技术应用于一些实际应用领域:如职业介绍、零售业、房地产等等。各个不同的行业都可以运用VDB技术,对从Web网站上得到的各类数据进行综合,从中得到对本行业发展有用的信息。这也会帮助普通人更好的利用Web网,为自己的各类活动提供决策上的支持。

    JobCanopy VDB是Junglee Corps开发的针对本文开篇时所举示例的一个解决方案。该系统继承了来自700多个数据源的工作列表,包括雇主站点、平面文件和原有数据。这个VDB模式有31个属性,包括工作名称、工作种类、工作地点和联系方法。搜索器每周对这些数据源进行一次搜索,以保证数据的及时性。来自不同雇主的列表得到了整理,用户看到的表格拥有统一的字段和符号集。Junglee Corp还开发了一个应用于零售业的系统。这个系统可对来自80多个不同商店的17种商品比较。这些商品包括书籍、音像制品、计算机硬件和电子消费品等。这个称为Junglee Shopping Guide的软件目前在六个站点得到使用,包括Yahoo!、Visa Shopping Guide、Compaqs Junglee Shopping Guide和HotBor Shopping Directory。消费者可以使用这套系统对从不同厂商那里得到的产品信息进行比较,然后到相应的站点购买自己所喜欢的商品。

    结论

    VDB技术使得一类新型的应用系统得到了快速的发展。这类应用有以下几个显著的特征:

    * 拥有大量不同的数据源;

    * 数据源之间是相互独立的,没有集中的控制机制;

    * 数据源的构成是复杂的,是结构化和非结构化数据的混合。

    Web网和大多数Intranet也都具备上述特征。

    我们将VDB技术与虚拟内存技术(Virtual Memory)进行一下比较,进一步看一下VDB的潜在影响。VM技术是将计算机的硬盘作为存储器的延伸。在VM出现之前,很多程序受制于计算机的存储容量。老练的程序员使用一些精巧的方法(重叠、链接)来解决这个问题。这些方法大大增加了程序的逻辑复杂度;增加了程序出错的可能性;代码的可移植性也受到巨大影响;软件的开发周期也必然要延长。

    VM使得各类程序可以使用几乎无限的内存空间。这一突破带来编程技术的一场革命。与此相类似,VDB技术为各类力求完善的应用软件提供了访问所有存储在关系型数据库之外的数据的能力,将整个Internet数据转化成了一个单一规范的数据库。

    VDB的实质是要实现对分布数据源的透明访问。它与现在人们常说的对异质数据库的访问既有联系又有区别。一方面,VDB需要实现对异质数据库的访问,即将访问请求分解到各个不同的数据库中去,再将返回的不同构型的结果进行整合。这要求VDB需具有关于各种不同构型数据库的全部知识和相应的处理能力,这也是解决对异质数据库访问所必须具有的功能。另一方面,VBD要具备对网络资源的访问能力,具备对分布数据的处理能力。这也要求作为VBD与外部数据源进行交互的中间接口拥有较高的工作效率,否则对客户端来说,必须忍耐漫长的等待。对异质数据库的访问中,对分布数据的处理是没有明确要求的。应引起读者注意的是,我们在介绍VDB的过程中没有使用“异质数据库”这个词汇,我们一直用的是“数据源”。这意味着VDB的数据并不都是来自某个或某些数据库的,有时来自诸如文件系统这样的数据源。这是VDB区别于异质数据库又一特点,它意味着VDB的数据处理范围远远大于异质数据库。从某个角度叫,对异质数据库的访问问题,是VDB技术发展过程中的一个重要阶段,是VDB技术的一个子课题。

    相关热词搜索: 数据库技术 虚拟

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网