首页 理论教育分布式数据库技术:视图在分布式DBMS中的应用

分布式数据库技术:视图在分布式DBMS中的应用

【摘要】:但是,分布式DBMS中的视图可以从存放在不同站点的分片关系中导出。如果视图定义没有存放在发布查询的站点,则使用该视图时必须实施对视图定义站点的远程访问。分布式数据库中,视图上所表达的从查询到基关系的映射可以像在集中式DBMS中的一样来处理。可以把数据库管理员管理的数据对象看成一个层次结构,其中叶子是数据片,从数据片中可以导出关系和视图。

分布式DBMS中的视图定义类似于集中式DBMS中的视图定义。但是,分布式DBMS中的视图可以从存放在不同站点的分片关系中导出。定义视图时,它的名字和相关的检索查询定义存放在数据字典里。

对应用程序来说,可以像使用基关系一样使用视图,它们的定义可以像基关系的描述一样存放在数据字典里。根据站点自主程度的不同,视图的定义可以集中放在一个站点,也可以部分重复或者全复制。无论怎样,视图名字要和存放它定义信息的站点的相关信息一起复制,否则,使用效率会大大降低。如果视图定义没有存放在发布查询的站点,则使用该视图时必须实施对视图定义站点的远程访问。

分布式数据库中,视图上所表达的从查询到基关系(常常是分片的)的映射可以像在集中式DBMS中的一样(即通过修改查询)来处理。使用这种技术,定义在视图上的限定条件可以通过查阅数据库目录来获得,然后将此限定条件和用户的查询条件合并起来,再转换成一个新的基关系上的查询。这样,修改后的查询是一个分布查询,因为一般会涉及网上的多个节点,所以可以使用分布查询处理器来处理它。查询处理器再将这个分布查询映射到物理数据片上。(www.chuimin.cn)

数据片的定义和特殊视图的定义很像。在分布式DBMS中,可以把视图定义成分片规则一样来定义。这样就可以采用一种一致的方式来管理。

可以把数据库管理员管理的数据对象看成一个层次结构,其中叶子是数据片,从数据片中可以导出关系和视图。如果将视图和数据片一一对应,那么数据库管理员可以发挥其主观能动性,多做一些工作,增加访问的本地性。例如,可以将视图Shanghai_Car实现为指定站点(如上海节点)的一个数据片,其依据是该站点为绝大多数涉及Shanghai_Car的应用的发布点,从而使得相关应用的大部分用户可以在同一个站点存取该视图,减少远程访问的开销。