欢迎来到专业的宏发范文网平台! 心得体会 党建材料 工作总结 工作计划 思想汇报 事迹材料 发言讲话 述职报告
当前位置:首页 > 范文大全 > 公文范文 > 正文

分布式数据库系统查询的研究与实现

时间:2022-03-08 15:15:34 浏览量:

(内蒙古经贸信息服务中心,内蒙古 呼和浩特 010010)
摘 要:文章以某保险公司的业务处理系统为例,详细研究了分布式查询数据库系统,并给出了实现方法。
关键词:分布式;查询系统;研究;实现
中图分类号:G252.7  文献标识码:A  文章编号:1007—6921(2008)08—0048—02
分布式数据库系统中的查询处理较集中式数据库复杂,本文结合某保险公司的业务处理系统(同构分布式数据库系统)研究分布式查询及其实现。
1 系统概述

从全局应用的角度出发,将各分支机构的数据库自下而上构成分布式数据库系统(同构),实现全局数据的完整性和一致性,各营业机构仍然存放本机构的数据,总公司的数据库则存放所有业务数据,并对数据进行完整性和一致性的检查,这种做法虽然有一定的数据冗余,但在不同场地存储同一数据的多个副本,能提高系统的可靠性和可用性,也提高了局部应用的效率,减少了通讯代价。该分布式数据库系统可以在对当前机构影响最小的情况下进行扩充,增加新的营业机构时只需增加一个节点就可以了,同时也使得各处理机之间的相互干扰降到最低。


2 系统查询的研究与设计

该业务处理系统是一个同构的分布式数据库系统,其查询也就是分布式查询的一般处理过程如下图所示:

分布式查询处理的可选方案很多,这就有一个查询优化的问题。分布式数据库系统中存在两类查询优化问题,一是在局部数据库上的查询优化,由局部DBMS执行,称为局部查询优化(在本例中,局部查询优化由局部DBMS完成);二是在整个分布式数据库中的查询优化,称为全局查询优化。

保证分布式数据库系统全局查询有较好的效率通常是以下面两条为基础的DDBMS分裂成概念数据库,使得数据存放到离其应用点最近的节点。这个特征称作数据的局部性,这有两个潜在的优势;由于每个节点只处理数据库的一个部分,这样CPU和I/O服务的竞争就不像集中式数据库那样严重;而且局部性还减少了远程访问的延迟,这种延迟常发生在广域网中。大多数分布式DBMS是结构化的,这样就便于从数据的分布中获得最大收益。减少竞争和减少通讯延迟的好处只有通过数据的合理分布才能得到。

支持DDBMS全局查询有较好效率的第二条是分布式系统的固有并行机制可用于内部查询和内在查询的并行化。内部查询并行化是多个查询同时执行的结果。内在查询并行化是将单个查询分解成多个子查询以便每个在不同的节点来执行,这样即可同时访问分布式数据库的不同部分,提高查询效率。
2.1 数据分布

如上所述,为分布式查询的全局优化,必须保证其数据的合理分布。分布式数据库系统可以通过复制、分片和复制+分片三种方式存储数据,因为各数据库之间存在一定的数据冗余,又存在着差异,我们采用复制+分片的方式进行数据存储。

在本例中,将关系分片,有利于按用户需求组织数据的分布,目前的分片方式有水平分片、垂直分片、导出分片、混合分片等四种。我们根据不同的数据关系采用不同的分片方式:
2.1.1 在总公司与分支营业机构的数据关系中,由于分支机构的数据是总公司业务数据的子集,我们采用水平分片的方式,通过并运算实现关系的重构。
2.1.2 在总公司数据库服务器与Web数据库服务器的数据关系中,数据是按照其应用功能来划分的,所以我们采用垂直分片的方式。

具体的数据分配按照分公司只保存与分公司相关的数据,总公司保存完整数据的原则实施。这样分配数据的优点是:由于数据存放在经常使用的地点(比如与某分公司有关的数据在其本地服务器中就可以获取),就减少了响应时间和网络通讯代价。在分布式数据库系统中,数据副本的存在,客观上起到了增加数据可靠性的作用。另外,由于总公司保存了系统的完整数据,所以便于进行面向全公司的统计、分析工作。
2.2 查询的实现

按照分布式查询的目标和步骤,采用基于集合划分的分布式数据库查询分解算法(目前的数据库大多是关系型数据库系统,故适用于集合划分理论),该算法的思想如下:
2.2.1 对于全局查询的每一个属性,找到其相应的object划分;
2.2.2 取一个包含步骤(1)中所有划分的最细划分;
2.2.3 对应每一个划分得到一个子查询。

结合某保险公司业务处理系统中的实例,说明查询分解的实现:首先,如果数据在不同的LDB中没有相交,查询分解很显然就是用相应的LDB名称(表名称和属性名称)代替全局名称。以单证管理为例,假设A分公司有单证管理关系(S)如下:


  对S做如下查询

推荐访问:分布式 研究 查询 数据库系统

猜你喜欢