网格环境下数据库系统探究
时间:06-09
来源:IT专家网
点击:
数据库技术和其他计算机技术相结合,能够产生新的研究领域。例如,数据库技术和面向对象技术相结合就产生了面向对象数据库;数据库技术和网格技术相结合也就产生一个新的研究内容,称之为网格数据库。网格数据库当前的主要研究内容包括三个方面:网格数据库管理系统、网格数据库集成和支持新的网格应用。
网格数据库管理系统
网格提供一个平台,这个平台支持系统化的身份鉴别和授权、资源发现、数据传输、进程创建和调度,以及跨异构平台的动态绑定。在网格提供的这些功能的基础上,可以构造一个安全可靠、具有自主计算能力的高性能网格数据库管理系统。网格数据库管理系统最终将成为网格上的一种重要资源,提供数据管理服务。
在构建网格数据库管理系统方面,第一步的工作是提供一个中间件,将数据库管理系统包装成为网格服务,以便网格应用存取网格数据库。这种做法的好处是,对已有的数据库管理系统基本上不需要做什么改动。
进一步的工作是扩展已有的数据库管理系统,让它直接利用网格提供的功能来实现分布式的数据库和相关的网格服务。下面是一些扩展已有数据库管理系统时可做的工作:
在网格上,用户只需要登录一次,就可以使用网格上所有可用的资源。网格数据库管理系统需要支持网格中这种一致性的身份鉴别和授权机制。
很多网格应用程序在提交任务给数据库管理系统后,需要收到一个任务完成的通知,解决这种订阅/发布问题需要结合网格数据库管理系统的触发器机制和网格中的通知服务。
在网格中,查询结果可以被缓存以便传送给第三方,这意味着,在一个不确定的时间内,网格数据库管理系统必须保留结果,然后利用网格数据传输机制传送查询结果到第三方。
在网格中,分布式查询处理可以利用网格的资源发现机制了解网络的状态、获得合适的资源来运行分布式查询或存储中间结果。
网格数据库管理系统应提供资源预留功能,以便参与网格中的进程调度。
网格数据库管理系统应该能为网格记账和支付标准提供必要的信息,以便用户为资源的使用付费。
有些网格问题不是通过简单地扩展已有的数据库管理系统就能够解决的。下面举几个例子来说明这一点:
网格当中计算和数据资源之间耦合得很紧密,这对于数据库的查询优化是一个挑战。计算任务在哪里执行、需不需要迁移、数据怎样存放、存放在哪里、
如何调度在数据上的操作和计算任务、短期优化还是长期优化等等,都需要在查询优化时给予一个整体的、多角度的考虑。
在网格中,当数据的规模增长到一定的程度时,传输在这些数据上的计算代码会比传输所有数据更为经济。数据上的计算比数据库支持的数据查询要复杂,它可以生成大量的中间结果,需要大量的处理器和在多个网格结点间传输大量的数据。对于数据上的计算还需要进行监控。当前的数据库管理系统并未准备好成为这种大型计算的宿主,也不支持所需要的监控接口。
传统的数据库管理系统是一个复杂的系统,运行时作为一个整体消耗大量的资源。网格数据库管理系统最好能由一些组件构成,这些组件可以根据需要来组合完成数据库管理系统的部分或者全部功能。这样做的好处除了可以降低资源消耗,更重要的是,使得在整个系统规模的基础上优化使用数据库资源成为可能。
在网格中使用注册的方法来发布和查找资源。数据库里面存储有大量的元数据,手工注册这么多元数据是不可行的,但是又如何来完成自动注册呢?自动注册的问题不在于注册这些元数据到网格中,而在于注册时如何保证这些元数据能为第三方所理解。这个问题也是网格数据库集成时需要解决的问题。
网格数据库集成
因为网格的主要目标是支持在共享资源上的协同工作,所以网格数据库集成是目前网格数据管理的研究热点。网格数据库集成就是使用两个或多个网格数据库中的信息,并使用这些信息构建一个大的数据库。
目前有三种网格数据库集成策略:
虚拟数据库 虚拟数据库是一个联邦数据库,它只有一个联邦模式,所有的用户都无法觉察到多个独立的数据库存在的事实。虚拟数据库在概念上是受欢迎的,但是难以实现。在构造虚拟数据库时,需要考虑以下几种透明性:异构透明性、命名透明性、属主和费用透明性、并行透明性和分布透明性。
定制集成 这种方式是指由应用程序自己完成数据库集成。例如,在有的科学应用程序中,开发人员自己找到相关的数据源,然后将集成任务划分为查询、要执行的程序、中间数据源的构建、显式的数据传输和数据变换,以及存储结果等等。网格数据库管理系统应该提供对这种集成方式的支持,使之降低成本、减少时间耗费和错误的发生。
增量集成虚拟数据库是一个理想目标,定制集成又过于注重细节,增量集成居于两者之间。在增量集成中,开发人员无须完成集成的每一个细节,高级的数据存取和集成组件可以自动完成一些后期的集成步骤。
元数据管理在网格数据库集成时扮演着关键的角色。网格数据库中与集成有关的元数据包括这样几类:技术元数据定义数据源所在的位置、物理数据的结构和组织形式、数据的存取方法和传输方式、以及数据的历史和属主等等;上下文元数据定义命名方式、术语和本体,它遵循约定的语法和语义,可以提高数据的质量和可靠性;派生元数据定义由其他数据派生的数据的含义和上下文组成;映射元数据定义上下文元数据定义间以及上下文元数据和技术元数据间的等价性。
网格数据库管理系统
网格提供一个平台,这个平台支持系统化的身份鉴别和授权、资源发现、数据传输、进程创建和调度,以及跨异构平台的动态绑定。在网格提供的这些功能的基础上,可以构造一个安全可靠、具有自主计算能力的高性能网格数据库管理系统。网格数据库管理系统最终将成为网格上的一种重要资源,提供数据管理服务。
在构建网格数据库管理系统方面,第一步的工作是提供一个中间件,将数据库管理系统包装成为网格服务,以便网格应用存取网格数据库。这种做法的好处是,对已有的数据库管理系统基本上不需要做什么改动。
进一步的工作是扩展已有的数据库管理系统,让它直接利用网格提供的功能来实现分布式的数据库和相关的网格服务。下面是一些扩展已有数据库管理系统时可做的工作:
在网格上,用户只需要登录一次,就可以使用网格上所有可用的资源。网格数据库管理系统需要支持网格中这种一致性的身份鉴别和授权机制。
很多网格应用程序在提交任务给数据库管理系统后,需要收到一个任务完成的通知,解决这种订阅/发布问题需要结合网格数据库管理系统的触发器机制和网格中的通知服务。
在网格中,查询结果可以被缓存以便传送给第三方,这意味着,在一个不确定的时间内,网格数据库管理系统必须保留结果,然后利用网格数据传输机制传送查询结果到第三方。
在网格中,分布式查询处理可以利用网格的资源发现机制了解网络的状态、获得合适的资源来运行分布式查询或存储中间结果。
网格数据库管理系统应提供资源预留功能,以便参与网格中的进程调度。
网格数据库管理系统应该能为网格记账和支付标准提供必要的信息,以便用户为资源的使用付费。
有些网格问题不是通过简单地扩展已有的数据库管理系统就能够解决的。下面举几个例子来说明这一点:
网格当中计算和数据资源之间耦合得很紧密,这对于数据库的查询优化是一个挑战。计算任务在哪里执行、需不需要迁移、数据怎样存放、存放在哪里、
如何调度在数据上的操作和计算任务、短期优化还是长期优化等等,都需要在查询优化时给予一个整体的、多角度的考虑。
在网格中,当数据的规模增长到一定的程度时,传输在这些数据上的计算代码会比传输所有数据更为经济。数据上的计算比数据库支持的数据查询要复杂,它可以生成大量的中间结果,需要大量的处理器和在多个网格结点间传输大量的数据。对于数据上的计算还需要进行监控。当前的数据库管理系统并未准备好成为这种大型计算的宿主,也不支持所需要的监控接口。
传统的数据库管理系统是一个复杂的系统,运行时作为一个整体消耗大量的资源。网格数据库管理系统最好能由一些组件构成,这些组件可以根据需要来组合完成数据库管理系统的部分或者全部功能。这样做的好处除了可以降低资源消耗,更重要的是,使得在整个系统规模的基础上优化使用数据库资源成为可能。
在网格中使用注册的方法来发布和查找资源。数据库里面存储有大量的元数据,手工注册这么多元数据是不可行的,但是又如何来完成自动注册呢?自动注册的问题不在于注册这些元数据到网格中,而在于注册时如何保证这些元数据能为第三方所理解。这个问题也是网格数据库集成时需要解决的问题。
网格数据库集成
因为网格的主要目标是支持在共享资源上的协同工作,所以网格数据库集成是目前网格数据管理的研究热点。网格数据库集成就是使用两个或多个网格数据库中的信息,并使用这些信息构建一个大的数据库。
目前有三种网格数据库集成策略:
虚拟数据库 虚拟数据库是一个联邦数据库,它只有一个联邦模式,所有的用户都无法觉察到多个独立的数据库存在的事实。虚拟数据库在概念上是受欢迎的,但是难以实现。在构造虚拟数据库时,需要考虑以下几种透明性:异构透明性、命名透明性、属主和费用透明性、并行透明性和分布透明性。
定制集成 这种方式是指由应用程序自己完成数据库集成。例如,在有的科学应用程序中,开发人员自己找到相关的数据源,然后将集成任务划分为查询、要执行的程序、中间数据源的构建、显式的数据传输和数据变换,以及存储结果等等。网格数据库管理系统应该提供对这种集成方式的支持,使之降低成本、减少时间耗费和错误的发生。
增量集成虚拟数据库是一个理想目标,定制集成又过于注重细节,增量集成居于两者之间。在增量集成中,开发人员无须完成集成的每一个细节,高级的数据存取和集成组件可以自动完成一些后期的集成步骤。
元数据管理在网格数据库集成时扮演着关键的角色。网格数据库中与集成有关的元数据包括这样几类:技术元数据定义数据源所在的位置、物理数据的结构和组织形式、数据的存取方法和传输方式、以及数据的历史和属主等等;上下文元数据定义命名方式、术语和本体,它遵循约定的语法和语义,可以提高数据的质量和可靠性;派生元数据定义由其他数据派生的数据的含义和上下文组成;映射元数据定义上下文元数据定义间以及上下文元数据和技术元数据间的等价性。