数据库技术和其他计算机技术相结合,能够产生新的研究领域。例如,数据库技术和面向对象技术相结合就产生了面向对象数据库;数据库技术和网格技术相结合也就产生一个新的研究内容,称之为网格数据库。
网格数据库当前的主要研究内容包括三个方面:网格数据库管理系统、网格数据库集成和支持新的网格应用。
网格数据库管理系统
网格提供一个平台,这个平台支持系统化的身份鉴别和授权、资源发现、数据传输、进程创建和调度,以及跨异构平台的动态绑定。在网格提供的这些功能的基础上,可以构造一个安全可靠、具有自主计算能力的高性能网格数据库管理系统。网格数据库管理系统最终将成为网格上的一种重要资源,提供数据管理服务。
在构建网格数据库管理系统方面,第一步的工作是提供一个中间件,将数据库管理系统包装成为网格服务,以便网格应用存取网格数据库。这种做法的好处是,对已有的数据库管理系统基本上不需要做什么改动。
进一步的工作是扩展已有的数据库管理系统,让它直接利用网格提供的功能来实现分布式的数据库和相关的网格服务。下面是一些扩展已有数据库管理系统时可做的工作:
●在网格上,用户只需要登录一次,就可以使用网格上所有可用的资源。网格数据库管理系统需要支持网格中这种一致性的身份鉴别和授权机制。
●很多网格应用程序在提交任务给数据库管理系统后,需要收到一个任务完成的通知,解决这种订阅/发布问题需要结合网格数据库管理系统的触发器机制和网格中的通知服务。
●在网格中,查询结果可以被缓存以便传送给第三方,这意味着,在一个不确定的时间内,网格数据库管理系统必须保留结果,然后利用网格数据传输机制传送查询结果到第三方。
●在网格中,分布式查询处理可以利用网格的资源发现机制了解网络的状态、获得合适的资源来运行分布式查询或存储中间结果。
●网格数据库管理系统应提供资源预留功能,以便参与网格中的进程调度。
●网格数据库管理系统应该能为网格记账和支付标准提供必要的信息,以便用户为资源的使用付费。
有些网格问题不是通过简单地扩展已有的数据库管理系统就能够解决的。下面举几个例子来说明这一点:
●网格当中计算和数据资源之间耦合得很紧密,这对于数据库的查询优化是一个挑战。计算任务在哪里执行、需不需要迁移、数据怎样存放、存放在哪里、如何调度在数据上的操作和计算任务、短期优化还是长期优化等等,都需要在查询优化时给予一个整体的、多角度的考虑。
●在网格中,当数据的规模增长到一定的程度时,传输在这些数据上的计算代码会比传输所有数据更为经济。数据上的计算比数据库支持的数据查询要复杂,它可以生成大量的中间结果,需要大量的处理器和在多个网格结点间传输大量的数据。对于数据上的计算还需要进行监控。当前的数据库管理系统并未准备好成为这种大型计算的宿主,也不支持所需要的监控接口。
●传统的数据库管理系统是一个复杂的系统,运行时作为一个整体消耗大量的资源。网格数据库管理系统最好能由一些组件构成,这些组件可以根据需要来组合完成数据库管理系统的部分或者全部功能。这样做的好处除了可以降低资源消耗,更重要的是,使得在整个系统规模的基础上优化使用数据库资源成为可能。
●在网格中使用注册的方法来发布和查找资源。数据库里面存储有大量的元数据,手工注册这么多元数据是不可行的,但是又如何来完成自动注册呢?自动注册的问题不在于注册这些元数据到网格中,而在于注册时如何保证这些元数据能为第三方所理解。这个问题也是网格数据库集成时需要解决的问题。
网格数据库集成
因为网格的主要目标是支持在共享资源上的协同工作,所以网格数据库集成是目前网格数据管理的研究热点。网格数据库集成就是使用两个或多个网格数据库中的信息,并使用这些信息构建一个大的数据库。
目前有三种网格数据库集成策略:
●虚拟数据库 虚拟数据库是一个联邦数据库,它只有一个联邦模式,所有的用户都无法觉察到多个独立的数据库存在的事实。虚拟数据库在概念上是受欢迎的,但是难以实现。在构造虚拟数据库时,需要考虑以下几种透明性:异构透明性、命名透明性、属主和费用透明性、并行透明性和分布透明性。
●定制集成 这种方式是指由应用程序自己完成数据库集成。例如,在有的科学应用程序中,开发人员自己找到相关的数据源,然后将集成任务划分为查询、要执行的程序、中间数据源的构建、显式的数据传输和数据变换,以及存储结果等等。网格数据库管理系统应该提供对这种集成方式的支持,使之降低成本、减少时间耗费和错误的发生。
●增量集成 虚拟数据库是一个理想目标,定制集成又过于注重细节,增量集成居于两者之间。在增量集成中,开发人员无须完成集成的每一个细节,高级的数据存取和集成组件可以自动完成一些后期的集成步骤。
元数据管理在网格数据库集成时扮演着关键的角色。网格数据库中与集成有关的元数据包括这样几类:技术元数据定义数据源所在的位置、物理数据的结构和组织形式、数据的存取方法和传输方式、以及数据的历史和属主等等;上下文元数据定义命名方式、术语和本体,它遵循约定的语法和语义,可以提高数据的质量和可靠性;派生元数据定义由其他数据派生的数据的含义和上下文组成;映射元数据定义上下文元数据定义间以及上下文元数据和技术元数据间的等价性。
元数据在数据库集成时引发了很多问题。例如,不同的数据库系统具有不同的元数据模型,标准的元数据定义方法肯定有利于网格数据库集成。目前,全球网格论坛数据领域的DFDL(Data Format Description Language)工作组在做的一件事,就是定义一种基于XML的语言来给出数据库中元数据的标准表示。而正在研究中的语义网格,也将能有助于解决涉及元数据语义方面的问题。
支持新的网格应用
应用能有力地推动技术的发展。研究对于数据库领域来说相对比较新的网格应用可以有力地推动数据库技术的发展。数据流处理、信息检索和科学数据分析等都是网格应用。其他的网格应用还有网格数据挖掘、网格计算机集成制造系统、网格数字图书馆等。目前国内外开展的大部分的网格项目都是网格应用项目,而且多数是服务于科学研究的需要。网格应用会给传统的数据库技术带来一些新的问题,下面以网格上的科学研究(也被称为e-Science)来说明这一点。
在网格上的科学研究中,对数据的使用有两个重要的方面:一方面,数据是数据挖掘和假设检验的信息源;另一方面,共享数据是科学家们协作的基础。网格环境下的数据库管理系统要想成功地服务于科学研究,就必须充分考虑科学研究活动中数据管理的特殊需求。以下是一些例子:
●归档 科学研究中的研究结论是在特定时间、特定状态的科学数据库的基础上得到的。如果要验证一个科学结论,就需要将科学数据库的状态恢复到得出结论时的特定状态。因此,需要研究支持快速恢复所有先前状态的归档方法。
●注解 注解关联新的数据和已有的数据,它可以自动产生,例如自动记录数据的派生关系,也可以由科研人员手工添加以记载他们对数据的理解。无论以哪种方式生成注解,带来的问题都是注解需要以合适的方式进行管理以便共享。
●新的存储结构和索引 科学研究中要处理海量的科学数据,而且在检索数据时多使用近似匹配,需要研究能够充分利用网格优点的新的科学数据存储和索引方法。一个简单的例子是,在计算能力大的网格结点上构造索引,然后将这些索引分发到计算能力较小的网格结点上以便做并行分布式数据查询。
四个重点研究趋势
分析国内外所做的与网格环境下数据库系统有关的研究,有以下几个研究趋势值得引起关注:
● 将制定数据库存取与集成的标准。网格非常强调遵循标准。做与网格相关的研究,也应该树立标准先行的观念。虽然网格数据库集成所涉及的问题并未完全解决,但是目前已经有了网格数据库存取与集成的标准草案,而且根据这个草案实现了实际可用的软件系统。虽然不排除标准草案不能最终成为标准的可能性,但是很多相关的研究已经以这个标准草案为基础展开了。
● 将更多地研究网格数据库管理系统。目前实现网格数据库存取和集成采用的是中间件的方法,这是一种简捷的方法,预计未来数据库管理系统将会更直接地支持网格。我们认为,将来的网格数据库管理系统有三个特点:高性能、全共享和零管理。高性能是基于网格强大的并行计算能力。全共享是指不仅要共享网格数据库管理系统管理的数据资源,还要共享网格数据库管理系统本身,即网格数据库管理系统本身也成为具有良好互操作性的网格资源。零管理也就是自主计算,网格数据库管理系统将充分适应网格动态和自治的特点,无需人工干预安全可靠地运行。
●继续发掘网格应用的新需求。网格上的科学研究有很多的数据管理问题需要解决,其中有的问题不是简单地将数据装入数据库就能解决,它们是新的问题,能够推动数据库技术的发展。另外,将原来非网格的应用移植到网格环境下时,也会出现一些新的问题,对于这些问题也应该去分析和研究。
●在网格环境下开展数据库新技术的研究。有一些数据库新技术的研究,如果放到网格环境下来做,会激发新的问题解决思路。中国人民大学数据库与知识工程研究所展开了网格环境下数据库信息检索新技术的研究,目前已经取得了部分研究成果。他们的这种研究工作具有很强的创新性。
本文作者: